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 ?
------
Complete bench results :
Apache 2.0.50 alone (simple html file)
C:\Program Files\Apache Group\Apache2\bin>ab -k -n 200000 -c 16 http://machone/HelloWorldExample.html
This is ApacheBench, Version 2.0.40-dev <$Revision: 1.121.2.8 $> apache-2.0
Copyright (c) 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Copyright (c) 1998-2002 The Apache Software Foundation, http://www.apache.org/
Benchmarking machone (be patient) Completed 20000 requests Completed 40000 requests Completed 60000 requests Completed 80000 requests Completed 100000 requests Completed 120000 requests Completed 140000 requests Completed 160000 requests Completed 180000 requests Finished 200000 requests
Server Software: Apache/2.0.50 Server Hostname: machone Server Port: 80
Document Path: /HelloWorldExample.html Document Length: 459 bytes
Concurrency Level: 16 Time taken for tests: 166.299127 seconds Complete requests: 200000 Failed requests: 0 Write errors: 0 Keep-Alive requests: 0 Total transferred: 145800000 bytes HTML transferred: 91800000 bytes Requests per second: 1202.65 [#/sec] (mean) Time per request: 13.304 [ms] (mean) Time per request: 0.831 [ms] (mean, across all concurrent requests) Transfer rate: 856.18 [Kbytes/sec] received
Tomcat 3.3.2 using the Coyote 1.1 HTTP connector
C:\Program Files\Apache Group\Apache2\bin>ab -k -n 200000 -c 16 http://machone:11011/examples/servlet/HelloWorldExample
This is ApacheBench, Version 2.0.40-dev <$Revision: 1.121.2.8 $> apache-2.0
Copyright (c) 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Copyright (c) 1998-2002 The Apache Software Foundation, http://www.apache.org/
Benchmarking machone (be patient) Completed 20000 requests Completed 40000 requests Completed 60000 requests Completed 80000 requests Completed 100000 requests Completed 120000 requests Completed 140000 requests Completed 160000 requests Completed 180000 requests Finished 200000 requests
Server Software: Apache-Coyote/1.1 Server Hostname: machone Server Port: 11011
Document Path: /examples/servlet/HelloWorldExample Document Length: 400 bytes
Concurrency Level: 16 Time taken for tests: 226.485671 seconds Complete requests: 200000 Failed requests: 0 Write errors: 0 Keep-Alive requests: 0 Total transferred: 105400000 bytes HTML transferred: 80000000 bytes Requests per second: 883.06 [#/sec] (mean) Time per request: 18.119 [ms] (mean) Time per request: 1.132 [ms] (mean, across all concurrent requests) Transfer rate: 454.46 [Kbytes/sec] received
Apache 2.0.50 + jk 1.2.6 + Tomcat 3.3.2 (via Coyote JK2 connector)
C:\Program Files\Apache Group\Apache2\bin>ab -k -n 200000 -c 16 http://machone/examples/servlet/HelloWorldExample
This is ApacheBench, Version 2.0.40-dev <$Revision: 1.121.2.8 $> apache-2.0
Copyright (c) 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Copyright (c) 1998-2002 The Apache Software Foundation, http://www.apache.org/
Benchmarking machone (be patient) Completed 20000 requests Completed 40000 requests Completed 60000 requests Completed 80000 requests Completed 100000 requests Completed 120000 requests Completed 140000 requests Completed 160000 requests Completed 180000 requests Finished 200000 requests
Server Software: Apache/2.0.50 Server Hostname: machone Server Port: 80
Document Path: /examples/servlet/HelloWorldExample Document Length: 400 bytes
Concurrency Level: 16 Time taken for tests: 220.637261 seconds Complete requests: 200000 Failed requests: 0 Write errors: 0 Keep-Alive requests: 0 Total transferred: 110400000 bytes HTML transferred: 80000000 bytes Requests per second: 906.47 [#/sec] (mean) Time per request: 17.651 [ms] (mean) Time per request: 1.103 [ms] (mean, across all concurrent requests) Transfer rate: 488.64 [Kbytes/sec] received
Apache 2.0.50 + mod_proxy + Tomcat 3.3.2 (via Coyote HTTP connector)
C:\Program Files\Apache Group\Apache2\bin>ab -k -n 200000 -c 16 http://machone/tc3/examples/servlet/HelloWorldExample
This is ApacheBench, Version 2.0.40-dev <$Revision: 1.121.2.8 $> apache-2.0
Copyright (c) 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Copyright (c) 1998-2002 The Apache Software Foundation, http://www.apache.org/
Benchmarking machone (be patient) Completed 20000 requests Completed 40000 requests Completed 60000 requests Completed 80000 requests Completed 100000 requests Completed 120000 requests Completed 140000 requests Completed 160000 requests Completed 180000 requests Finished 200000 requests
Server Software: Apache-Coyote/1.1 Server Hostname: machone Server Port: 80
Document Path: /tc3/examples/servlet/HelloWorldExample Document Length: 400 bytes
Concurrency Level: 16 Time taken for tests: 401.717641 seconds Complete requests: 200000 Failed requests: 8046 (Connect: 0, Length: 8046, Exceptions: 0) Write errors: 0 Non-2xx responses: 8046 Keep-Alive requests: 0 Total transferred: 108724136 bytes HTML transferred: 79299998 bytes Requests per second: 497.86 [#/sec] (mean) Time per request: 32.137 [ms] (mean) Time per request: 2.009 [ms] (mean, across all concurrent requests) Transfer rate: 264.30 [Kbytes/sec] received
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]