I made some benchs on my Linux Fedora Core 2
on a P4 2.8ghz / 1Gb RAM :
Apache 2.0.50 in
- Apache 2.0.50 alone (simple html file)
- TC 3.3.2/Coyote 1.1
- Apache 2.0.50 + jk 1.2.6 + TC 3.3.2/jk2
JkMount /examples/* local
worker.local.port=8009
worker.local.host=localhost
worker.local.type=ajp13
worker.local.cachesize=16
worker.local.cache_timeout=600
worker.local.socket_keepalive=1
worker.local.socket_timeout=300
- Apache 2.0.50 + mod_proxy + TC 3.3.2 (Coyote 1.1).
ProxyPass /tc3/ http://localhost:11011/
ProxyPassReverse /tc3/ http://localhost:11011/
Apache Bench is running on another machine, Windows 2000 P3 1Ghz,
and both systems are on a switched 100Mbps network :
Apache 2 alone 1202 req/s
TC/Coyote 883 req/s
Apache 2 + jk + TC 906 req/s
Apache 2 + proxy + TC 497.req/s (but with 8000 errors ;(
Constatation :
- Remy make a tremendous works since Coyote HTTP 1.1 is only 15% slower
than the Apache 2 native HTTP.
- mod_proxy is 50% slower than mod_jk and that's a really bad news.
Also many errors appears, about 4% errors.
- Tomcat via jk or mod_proxy, when on the same machine make a cpu load
of 60% system and 30% user. Tomcat alone is 33% system and 10% user.
How could we optimize mod_proxy settings since I'm using the standard
httpd.conf ?