Joe Schaefer wrote:

Joe Schaefer <[EMAIL PROTECTED]> writes:


The concept of multiplexing apache's lingering close comes from lingerd, but I thought it'd be interesting to try the same thing for worker with a dedicated closer thread.


The patch is intended to improve worker's scaling
characteristics without adversely affecting per-request
latency. I don't have a good testbed for checking this
out, but I've run a few microbenchmarks with ab (on
the same host the server is running on) to see what happens when the server is overdriven by lots of concurrent requests.


Setup: standard installation w/ worker's config
reduced to

<IfModule worker.c>
    StartServers          1
    MaxClients            5
    MinSpareThreads       1
    MaxSpareThreads       5
    ThreadsPerChild       5
    MaxRequestsPerChild   0
</IfModule>

ie 1 server w/ 5 threads. The closer_thread's queue/pollset size are capped at 100 with this config.

Running ab -n 10000 -c $concurrency http://localhost/

concurency          requests/sec
             unpatched          with patch (CLOSER_DEBUG undefined)
   5           2995               2923
  10           2999               2990
  20           2991               2935
  50           2975               2896
 100           2715               2853
 200           2530               2659
 500           1871               2353
 600           1014               2316
 700            547               2094
 800            450               2021
 900            428               2042
1000            230               2000


I'd like to see if others can replicate these results. This is sort of the behaviour I expected; patched server slower at low concurrency rates because the server is doing more queuing work for little benefit. I also expected the cross over in performance as the concurrency increased, but I am -really- suprised at the magnitude of the difference beginning around 500 concurrent clients!! I almost wonder if a large number of requests are actually failing in the patched case under high load...


Bill

Reply via email to