Here it is. There is a new configuration directive, StartProcessors, to control how many processors will start at the first vhost access. Multiplexers also are affected by this configuration
Patch from RC2: http://opensource.mco2.net/download/apache/peruser/peruser-rc2-to-rc3-v2.patch Full patch from vanilla Apache 2.2.17: http://opensource.mco2.net/download/apache/peruser/peruser-rc3-full-v2.patch Changes (from RC2): * Free-up slots when a WORKER or PROCESSOR unexpectedly dies * Fixed bug when MinSpareProcessors? is set to 0 (now all workers processes are killed when idle_timeout is reached) * Performance: faster to count processors, one single loop counts all processors * Performance: faster to lookup for free slots (this is important on busy servers, with many virtual hosts) * Performance: childs are started in ~50ms, 20 times faster than in RC2 (~1000ms) * Performance: you can speed up first access increasing StartProcessors My httpd.conf: IdleTimeout 600 ExpireTimeout 1800 MinSpareProcessors 5 MaxSpareProcessors 15 StartProcessors 5 MinProcessors 0 MaxProcessors 100 ServerLimit 3000 MaxClients 1500 MaxRequestsPerChild 1000 MinMultiplexers 100 MaxMultiplexers 200 MultiplexerIdleTimeout 600 ProcessorWaitTimeout 10 -- Marcelo Coelho marcelo at mco2.com.br On Dec 30, 2010, at 11:27 AM, Marcelo Coelho wrote: > Hi, > > Today I will release a new patch, this problem was fixed here in my > development code. > > I'm also working on a new parameter, StartProcessors, to speed up the first > access for an "inactive" website. > > -- > Marcelo Coelho > marcelo at mco2.com.br > > > On Dec 30, 2010, at 11:04 AM, Taavi Sannik wrote: > >> Here are the results (same configuration, same apache): >> >> # ab -n 100000 -c 10 -k http://HOSTNAME/ ; sleep 15; echo ; ./stats >> This is ApacheBench, Version 2.3 <$Revision: 655654 $> >> Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ >> Licensed to The Apache Software Foundation, http://www.apache.org/ >> >> Benchmarking HOSTNAME(be patient) >> Completed 10000 requests >> Completed 20000 requests >> Completed 30000 requests >> Completed 40000 requests >> Completed 50000 requests >> Completed 60000 requests >> Completed 70000 requests >> Completed 80000 requests >> Completed 90000 requests >> Completed 100000 requests >> Finished 100000 requests >> >> >> Server Software: Apache/2.2.17 >> Server Hostname: HOSTNAME >> Server Port: 80 >> >> Document Path: / >> Document Length: 39 bytes >> >> Concurrency Level: 10 >> Time taken for tests: 28.574 seconds >> Complete requests: 100000 >> Failed requests: 0 >> Write errors: 0 >> Keep-Alive requests: 0 >> Total transferred: 30400000 bytes >> HTML transferred: 3900000 bytes >> Requests per second: 3499.70 [#/sec] (mean) >> Time per request: 2.857 [ms] (mean) >> Time per request: 0.286 [ms] (mean, across all concurrent requests) >> Transfer rate: 1038.97 [Kbytes/sec] received >> >> Connection Times (ms) >> min mean[+/-sd] median max >> Connect: 0 0 0.3 0 12 >> Processing: 1 2 0.5 2 30 >> Waiting: 0 1 0.5 1 29 >> Total: 1 3 0.6 3 30 >> >> Percentage of the requests served within a certain time (ms) >> 50% 3 >> 66% 3 >> 75% 3 >> 80% 3 >> 90% 4 >> 95% 4 >> 98% 4 >> 99% 5 >> 100% 30 (longest request) >> >> 1 taavi >> 5 nobody >> -------------------- >> 6 TOTAL >> >> >> with "taavi" being the vhost user and "nobody" the multiplexer user. >> >> -- >> Taavi Sannik >> DataCode OY >> >> _______________________________________________ >> Peruser mailing list >> [email protected] >> http://www.telana.com/mailman/listinfo/peruser >> > > _______________________________________________ > Peruser mailing list > [email protected] > http://www.telana.com/mailman/listinfo/peruser > _______________________________________________ Peruser mailing list [email protected] http://www.telana.com/mailman/listinfo/peruser
