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
--
Joe Schaefer