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

Reply via email to