Hello,

Socrates is free but no longer available somewhere except 
http://www.fastream.com/ics. I think it can support keep-alive as well. It 
is pure Win32/Delphi program.

Unfortunately I do not have a BSD here to try the web-polygraph... :(

Best Regards,

SZ

----- Original Message ----- 
From: "samuel" <[EMAIL PROTECTED]>
To: "ICS support mailing" <twsocket@elists.org>
Sent: Saturday, September 23, 2006 12:05 PM
Subject: Re: [twsocket] For those who have using twsocket for heavy 
traffic..


: Hello,
:
: Socrates ? is this a freeware tool ? if it is, i'd like to try it. BTW 
when
: you said 1000 req/sec, did you know how many connections that was opened 
and
: closed/sec? does it uses persistent connection etc ? is this using a 
single
: url or a replayed log file ? could you provide more info ?
:
: BTW, If you're interested, www.web-polygraph.org also has a reverse proxy
: test, it is a freeware program suite, and it is designed to benchmark a
: large scale proxy architecture (try to see the website and the results),
: unfortunately it is better ran from *nix environment (the test program, 
not
: your proxy) specifically freeBSD. My program can reached 300 req/sec using
: apachebench, but when using web-polygraph this number drops dramatically..
:
: Also i already eliminated (somewhat) the destroywindow problem, so the
: remaining problem is shown on the .png file.
:
: regards,
: sam
:
: On 9/23/06, Fastream Technologies <[EMAIL PROTECTED]> wrote:
: >
: > Hello Sam,
: >
: > We have a similar application called IQRP:
: > http://www.fastream.com/iqreverseproxy.php and it makes 1000 
requests/sec
: > with Socrates test tool and when the web server is on LAN.
: >
: > The GetMessage having so much percentage in AQTime is normal as it is 
the
: > handler for all events including al ICS ones. I would suggest you to
: > upgrade
: > to ICSv6 as it avoids DestroyWindow(). It also makes many TWSocket's 
share
: > the same window.
: >
: > Best Regards,
: >
: > SZ
: >
: > ----- Original Message -----
: > From: "samuel" <[EMAIL PROTECTED]>
: > To: <twsocket@elists.org>
: > Sent: Saturday, September 23, 2006 8:38 AM
: > Subject: [twsocket] For those who have using twsocket for heavy 
traffic..
: >
: >
: > : Hello,
: > :
: > : I have a question to you guys that has programmed ICS in a heavy 
traffic
: > : environment.., i'm using borland delphi 7 and ICS 5 to make a HTTP 
Proxy
: > : Server. Then I used webpolygraph (www.web-polygraph.org) to test the
: > result.
: > : The traffic generated by polygraph has following properties :
: > : 1. the data/request is on average about 13KB ranging from 4 KB to 50KB
: > : 2. Socket opened and closed is about 200 / sec from client-side
: > : 3. Total Opened sockets is around 600-1000 for client-side (proxy -
: > client)
: > : 4. Connected clients is around 300 unique IP address (around 4 opened
: > : sockets / IP)
: > : 5. Socket opened and closed is about 100 / sec from server-side
: > : 6. Total Opened sockets is around 400 for server-side (web 
server-proxy)
: > : 7. Connected server is around 100 unique IP (no socket limitation per
: > IP,
: > : depends on client request)
: > :
: > : by benchmarking my proxy using the above config, the polygraph is
: > : experiencing multiple connection error when the request per second
: > increases
: > : around 60, the error is Connection Reset by peer. It's like the 
program
: > is
: > : starting to overload.. (though i'm not sure it's the case). The CPU
: > usage
: > is
: > : around 90-100% though
: > :
: > : I already tried several ways i saw here to improve performance,
: > including
: > : using these registry key
: > :
: > : TcpTimedWaitDelay = 30 (make TIME_WAIT sockets alive for 30 seconds
: > only)
: > : MaxUserPort = 65534
: > : MaxHashTableSize = 65536 default 512
: > : MaxFreeTwTcbs = 2000
: > : MaxFreeTcbs = 16000 default 1000
: > : MaxUserPort = 65534
: > : TcpWindowSize = 65535 default 8192
: > : MaxHashTableSize = 512
: > : TcpNumConnections = 1000
: > : NumTcbTablePartitions = 32 default 4
: > :
: > : I also increase listenbacklog to an extreme value (around 5000), 
though
: > i
: > : know it's OS limited. And BTW my program has no blocking operation,
: > : therefore it's running a single thread single process. It is running 
as
: > a
: > : console app or service application, therefore it doesn't have any 
forms.
: > I
: > : also used FastMM memory manager, because my program uses a lot of
: > : new/dispose proc.
: > :
: > : Because i am trying to find the slow link, i disabled writing to disk,
: > so
: > : the proxy is almost acting like a non caching, but i still have around
: > 270MB
: > : reserved in memory for cache (because new cache entries is saved in
: > memory
: > : using LRU algorithm until the 270MB is reached, then it removes the
: > cache
: > on
: > : the memory from the oldest entries first to maintain 270MB usage).
: > :
: > : I'm using windows xp sp1, and win2k3 edition. The win2k3 seems to
: > perform
: > : better, but not much.
: > :
: > : using profiler (AQTime4 from www.automatedqa.com ) I found the longest
: > time
: > : for my program is :
: > : 1. Getmessage (there's nothing i could done about this do I ?), but it
: > : doesn't make sense
: > : 2. DestroyWindow, to overcome this, i changed XSocketAllocateHWnd from
: > : twsocketserver a bit, and add a tqueue in twsocketserver, so that when 
a
: > new
: > : socket is created it will check the queue, if it's empty it will 
create
: > a
: > : new window, but if it's not it will use existing window from the 
queue.
: > And
: > : after the socket is freed, the window [handle] is not destroyed, but
: > : inserted into the queue, unless the queue already has over than 1000
: > window,
: > : than it will be destroyed.
: > :
: > : After optimize destroywindow, the longest time for my program becomes:
: > : 1.GetMessage
: > : 2.Wsocket_synchronized_connect
: > : 3.Wsocket_synchronized_send
: > : 4.Wsocket_synchronized_recv
: > :
: > : Is the profiler not right ? (this is my first time using it actually).
: > Btw
: > : for those who wants to see the results
: > : http://img97.imageshack.us/img97/2121/aqtimecu8.png
: > :
: > : But somehow, i think 70req/sec is ridiculous, the results on
: > web-polygraph
: > : shows even 130 req/sec for a PIII 1000GHz, 2GB Ram computer (running
: > linux
: > : though). My Comp is AMD 2400+,1GB RAM, I hope it should be equal 
atleast
: > : right ? The mem shouldn't be a factor, because this is still on fill
: > cache
: > : process (i.e no cache hits are expected).
: > :
: > : Is there anything else that i miss, that should be noted for high
: > : performance socket apps ? Please share your experience and thoughts..
: > :
: > : regards,
: > : sam
: > : --
: > : To unsubscribe or change your settings for TWSocket mailing list
: > : please goto http://www.elists.org/mailman/listinfo/twsocket
: > : Visit our website at http://www.overbyte.be
: >
: > --
: > To unsubscribe or change your settings for TWSocket mailing list
: > please goto http://www.elists.org/mailman/listinfo/twsocket
: > Visit our website at http://www.overbyte.be
: >
: -- 
: To unsubscribe or change your settings for TWSocket mailing list
: please goto http://www.elists.org/mailman/listinfo/twsocket
: Visit our website at http://www.overbyte.be 

-- 
To unsubscribe or change your settings for TWSocket mailing list
please goto http://www.elists.org/mailman/listinfo/twsocket
Visit our website at http://www.overbyte.be

Reply via email to