Hey guys,
Finally getting my head into proper Apache performance tuning and these forums are proving invaluable.
I've currently got a Linode 512 running Apache MPM Prefork, PHP, Mysql and a send only exim mailer. No fancy apache mods either. I've got a WordPress site which I'm testing performance with.
A couple of quick q's.
1.) I've found with the WordPress Quick Cache plugin I can get away with the following apache conf
Code:
<IfModule mpm_prefork_module>
StartServers 2
MinSpareServers 2
MaxSpareServers 5
MaxClients 30
ServerLimit 30
MaxRequestsPerChild 4000
</IfModule>
Keepalives are also off.
I've been benchmarking the WordPress site and reviewing mod_status and top via ssh while ab is running (1000 requests, 200 concurrent). I can see via mod_status that apache is handling 30 requests at a go.
e.g. via mod_status webpage:
30 requests currently being processed, 0 idle workers.
Does this mean with prefork your MaxClients setting is in effect your max concurrent inbound connection requests? If not, why does mod status always consistently show apache is serving 30 requests at a time?
I would have thought that each child process could handle multiple requests up to the value set in MaxRequestsperChild no?
2.) Before I go off testing nginx, anyone got any good benchmarks for what kind of req/sec I can get from a Linode 512 with (MPM Prefork, mod_php, mysql,exim) and with WordPress running with any of the leading caching plugins. I'm currently getting the following kind of numbers for ab -n 1000 -c 200:
Code:
Concurrency Level: 200
Time taken for tests: 60.260 seconds
Complete requests: 1000
Failed requests: 0
Write errors: 0
Total transferred: 120079720 bytes
HTML transferred: 119663890 bytes
Requests per second: 16.59 [#/sec] (mean)
Time per request: 12051.985 [ms] (mean)
Time per request: 60.260 [ms] (mean, across all concurrent requests)
Transfer rate: 1945.99 [Kbytes/sec] received
I think I should be able to sweat it more. The WP setup is a test install running no additional plugins but has a couple of hundred dummy pages and dummy posts.