nginx + 2 * CherryPy, 10 threads each
piranha 25338 16.9 1.0 109784 21768 pts/5 Sl+ 13:19 0:15 python ./manage.py runcpserver port=8080
piranha 25349 18.8 1.0 110760 22692 pts/3 Sl+ 13:19 0:15 python ./manage.py runcpserver port=8081
piranha@gtv ~>ab -c 50 -n 500 http://byteflow:90/blog/
This is ApacheBench, Version 2.0.40-dev <$Revision: 1.146 $> apache-2.0
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Copyright 2006 The Apache Software Foundation, http://www.apache.org/
Benchmarking byteflow (be patient)
Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Finished 500 requests
Server Software: nginx/0.5.35
Server Hostname: byteflow
Server Port: 90
Document Path: /blog/
Document Length: 25063 bytes
Concurrency Level: 50
Time taken for tests: 19.23148 seconds
Complete requests: 500
Failed requests: 0
Write errors: 0
Total transferred: 12688000 bytes
HTML transferred: 12531500 bytes
Requests per second: 26.28 [#/sec] (mean)
Time per request: 1902.315 [ms] (mean)
Time per request: 38.046 [ms] (mean, across all concurrent requests)
Transfer rate: 651.31 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 6 23.4 0 91
Processing: 599 1831 628.6 1855 5385
Waiting: 599 1830 629.1 1855 5384
Total: 604 1838 639.0 1855 5476
Percentage of the requests served within a certain time (ms)
50% 1855
66% 1926
75% 1963
80% 1991
90% 2059
95% 2150
98% 4701
99% 4832
100% 5476 (longest request)
nginx + 2 * twisted
piranha 26012 32.8 1.3 115180 27784 pts/3 Sl+ 13:24 0:16 /usr/bin/python /usr/bin/twistd -l /dev/null --pidfile=twistd1.pid -ny twrun.py
piranha 26014 40.5 1.3 116120 27488 pts/5 Sl+ 13:24 0:16 /usr/bin/python /usr/bin/twistd -l /dev/null -ny twrun.py
piranha@gtv ~>ab -c 50 -n 500 http://byteflow:90/blog/
This is ApacheBench, Version 2.0.40-dev <$Revision: 1.146 $> apache-2.0
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Copyright 2006 The Apache Software Foundation, http://www.apache.org/
Benchmarking byteflow (be patient)
Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Finished 500 requests
Server Software: nginx/0.5.35
Server Hostname: byteflow
Server Port: 90
Document Path: /blog/
Document Length: 25558 bytes
Concurrency Level: 50
Time taken for tests: 20.287833 seconds
Complete requests: 500
Failed requests: 0
Write errors: 0
Total transferred: 12935500 bytes
HTML transferred: 12779000 bytes
Requests per second: 24.65 [#/sec] (mean)
Time per request: 2028.783 [ms] (mean)
Time per request: 40.576 [ms] (mean, across all concurrent requests)
Transfer rate: 622.64 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 0.2 0 1
Processing: 959 1964 228.9 1998 2525
Waiting: 954 1963 228.9 1996 2525
Total: 959 1964 228.8 1998 2525
Percentage of the requests served within a certain time (ms)
50% 1998
66% 2042
75% 2074
80% 2101
90% 2182
95% 2265
98% 2303
99% 2320
100% 2525 (longest request)
nginx + 2 * fapws2
piranha 26600 19.2 0.7 22556 16264 pts/5 S+ 13:26 0:14 python ./faprun.py 8080
piranha 26601 20.0 0.7 22600 16260 pts/3 S+ 13:26 0:14 python ./faprun.py 8081
piranha@gtv ~>ab -c 50 -n 500 http://byteflow:90/blog/
This is ApacheBench, Version 2.0.40-dev <$Revision: 1.146 $> apache-2.0
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Copyright 2006 The Apache Software Foundation, http://www.apache.org/
Benchmarking byteflow (be patient)
Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Finished 500 requests
Server Software: nginx/0.5.35
Server Hostname: byteflow
Server Port: 90
Document Path: /blog/
Document Length: 25063 bytes
Concurrency Level: 50
Time taken for tests: 18.228540 seconds
Complete requests: 500
Failed requests: 0
Write errors: 0
Total transferred: 12688000 bytes
HTML transferred: 12531500 bytes
Requests per second: 27.43 [#/sec] (mean)
Time per request: 1822.854 [ms] (mean)
Time per request: 36.457 [ms] (mean, across all concurrent requests)
Transfer rate: 679.70 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 0.0 0 1
Processing: 157 1740 296.4 1811 1961
Waiting: 155 1740 296.6 1810 1961
Total: 157 1740 296.4 1811 1961
Percentage of the requests served within a certain time (ms)
50% 1811
66% 1831
75% 1849
80% 1861
90% 1901
95% 1921
98% 1938
99% 1958
100% 1961 (longest request)
nginx + 2 * cogen
piranha 27793 19.0 0.9 26120 20140 pts/5 S+ 13:29 0:14 python ./cg.py 8080
piranha 27794 20.3 1.0 27232 21264 pts/3 S+ 13:29 0:14 python ./cg.py 8081
piranha@gtv ~>ab -c 50 -n 500 http://byteflow:90/blog/
This is ApacheBench, Version 2.0.40-dev <$Revision: 1.146 $> apache-2.0
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Copyright 2006 The Apache Software Foundation, http://www.apache.org/
Benchmarking byteflow (be patient)
Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Finished 500 requests
Server Software: nginx/0.5.35
Server Hostname: byteflow
Server Port: 90
Document Path: /blog/
Document Length: 25063 bytes
Concurrency Level: 50
Time taken for tests: 18.489832 seconds
Complete requests: 500
Failed requests: 0
Write errors: 0
Total transferred: 12688000 bytes
HTML transferred: 12531500 bytes
Requests per second: 27.04 [#/sec] (mean)
Time per request: 1848.983 [ms] (mean)
Time per request: 36.980 [ms] (mean, across all concurrent requests)
Transfer rate: 670.10 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 0.1 0 1
Processing: 78 1759 315.3 1844 1935
Waiting: 77 1759 315.5 1844 1935
Total: 79 1759 315.3 1844 1935
Percentage of the requests served within a certain time (ms)
50% 1844
66% 1854
75% 1863
80% 1874
90% 1890
95% 1898
98% 1911
99% 1926
100% 1935 (longest request)
nginx + 2 * apache mod_wsgi daemonprocesses
root 29370 0.0 0.3 16644 8020 ? Ss 14:06 0:00 /usr/sbin/apache2 -k start
www-data 29972 0.0 0.2 15772 5044 ? S 14:14 0:00 /usr/sbin/apache2 -k start
piranha 29973 12.3 1.1 81656 23272 ? Sl 14:14 0:16 /usr/sbin/apache2 -k start
piranha 29975 12.5 1.0 80692 22516 ? Sl 14:14 0:16 /usr/sbin/apache2 -k start
www-data 29977 0.0 0.4 240784 9612 ? Sl 14:14 0:00 /usr/sbin/apache2 -k start
www-data 30005 0.0 0.4 240920 9580 ? Sl 14:14 0:00 /usr/sbin/apache2 -k start
www-data 30206 0.0 0.4 239488 9060 ? Sl 14:16 0:00 /usr/sbin/apache2 -k start
piranha@gtv ~>ab -c 50 -n 500 http://gtv:90/blog/
This is ApacheBench, Version 2.0.40-dev <$Revision: 1.146 $> apache-2.0
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Copyright 2006 The Apache Software Foundation, http://www.apache.org/
Benchmarking gtv (be patient)
Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Finished 500 requests
Server Software: nginx/0.5.35
Server Hostname: gtv
Server Port: 90
Document Path: /blog/
Document Length: 25063 bytes
Concurrency Level: 50
Time taken for tests: 20.741242 seconds
Complete requests: 500
Failed requests: 0
Write errors: 0
Total transferred: 12688144 bytes
HTML transferred: 12531500 bytes
Requests per second: 24.11 [#/sec] (mean)
Time per request: 2074.124 [ms] (mean)
Time per request: 41.482 [ms] (mean, across all concurrent requests)
Transfer rate: 597.36 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 0.1 0 2
Processing: 318 1943 541.4 1938 2910
Waiting: 317 1942 541.5 1938 2910
Total: 318 1943 541.4 1938 2910
Percentage of the requests served within a certain time (ms)
50% 1938
66% 2240
75% 2393
80% 2470
90% 2632
95% 2737
98% 2783
99% 2797
100% 2910 (longest request)
Spawning 0.7
piranha 31274 0.1 0.4 176348 9056 pts/3 Sl+ 14:21 0:00 /usr/bin/python /usr/local/bin/spawn -f spawning.django_factory.config_factory settings -p 9090 -s 2 -t 100
piranha 31295 24.5 1.7 862052 37212 pts/3 Sl+ 14:21 0:16 /usr/bin/python /usr/local/lib/python2.5/site-packages/Spawning-0.7-py2.5.egg/spawning/spawning_child.pyc 31274 3 4 spawning.django_factory.config_factory {"processpool_workers": 0, "args": ["settings"], "num_processes": 2, "watch": null, "dev": true, "host": "", "threadpool_workers": 100, "port": 9090} --reload
piranha 31296 33.6 2.1 867992 43972 pts/3 Sl+ 14:21 0:22 /usr/bin/python /usr/local/lib/python2.5/site-packages/Spawning-0.7-py2.5.egg/spawning/spawning_child.pyc 31274 3 4 spawning.django_factory.config_factory {"processpool_workers": 0, "args": ["settings"], "num_processes": 2, "watch": null, "dev": true, "host": "", "threadpool_workers": 100, "port": 9090}
piranha@gtv ~>ab -c 50 -n 500 http://gtv:9090/blog/
This is ApacheBench, Version 2.0.40-dev <$Revision: 1.146 $> apache-2.0
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Copyright 2006 The Apache Software Foundation, http://www.apache.org/
Benchmarking gtv (be patient)
Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Finished 500 requests
Server Software:
Server Hostname: gtv
Server Port: 9090
Document Path: /blog/
Document Length: 25063 bytes
Concurrency Level: 50
Time taken for tests: 20.214640 seconds
Complete requests: 500
Failed requests: 0
Write errors: 0
Total transferred: 12679500 bytes
HTML transferred: 12531500 bytes
Requests per second: 24.73 [#/sec] (mean)
Time per request: 2021.464 [ms] (mean)
Time per request: 40.429 [ms] (mean, across all concurrent requests)
Transfer rate: 612.53 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 0.0 0 1
Processing: 333 1982 603.9 2053 3829
Waiting: 333 1976 602.4 2053 3829
Total: 333 1982 603.9 2053 3829
Percentage of the requests served within a certain time (ms)
50% 2053
66% 2283
75% 2388
80% 2450
90% 2728
95% 2943
98% 3055
99% 3258
100% 3829 (longest request)
wsgi server performance