Monkey Project
Simple test to compare how behaves monkey against other popular HTTP servers, all the configuration files used are vanilla, there is no tweaking to improve performance.
Note: these are just quick tests and a continuous work in progress :)
Table of Contents
1 Tests
System:
| OS | Ubuntu 11.04 |
| Kernel | Linux 3.0.1 |
| Architecture | x8664 |
| CPU op-mode(s) | 32-bit, 64-bit |
| CPU(s) | 8 |
| Thread(s) per core | 2 |
| Core(s) per socket | 4 |
| CPU socket(s) | 1 |
| NUMA node(s) | 1 |
| Vendor ID | GenuineIntel |
| CPU family | 6 |
| Model | 42 |
| Stepping | 7 |
| CPU MHz | 1600.000 |
| Virtualization | VT-x |
| L1d cache | 32K |
| L1i cache | 32K |
| L2 cache | 256K |
| L3 cache | 8192K |
1.1 nginx
The setup used is the provided by the Ubuntu's package
| Version | 0.8.54-4 |
$ ab -k -c 10 -n 1000000 http://localhost:8050/index.html
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 localhost (be patient)
Completed 100000 requests
Completed 200000 requests
Completed 300000 requests
Completed 400000 requests
Completed 500000 requests
Completed 600000 requests
Completed 700000 requests
Completed 800000 requests
Completed 900000 requests
Completed 1000000 requests
Finished 1000000 requests
Server Software: nginx/0.8.54
Server Hostname: localhost
Server Port: 8050
Document Path: /index.html
Document Length: 151 bytes
Concurrency Level: 10
Time taken for tests: 8.366 seconds
Complete requests: 1000000
Failed requests: 0
Write errors: 0
Keep-Alive requests: 990005
Total transferred: 366950025 bytes
HTML transferred: 151000000 bytes
Requests per second: 119537.91 [#/sec] (mean)
Time per request: 0.084 [ms] (mean)
Time per request: 0.008 [ms] (mean, across all concurrent requests)
Transfer rate: 42836.37 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 0.0 0 4
Processing: 0 0 0.1 0 5
Waiting: 0 0 0.1 0 5
Total: 0 0 0.1 0 5
Percentage of the requests served within a certain time (ms)
50% 0
66% 0
75% 0
80% 0
90% 0
95% 0
98% 0
99% 0
100% 5 (longest request)
1.2 Monkey
| Version | commit: e8f33a8ecfdcb71336afd0cc54bb4c65eab982f6 |
Note: compiled from development git's repository
$ ab -k -c 10 -n 1000000 http://localhost:2001/index.html
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 localhost (be patient)
Completed 100000 requests
Completed 200000 requests
Completed 300000 requests
Completed 400000 requests
Completed 500000 requests
Completed 600000 requests
Completed 700000 requests
Completed 800000 requests
Completed 900000 requests
Completed 1000000 requests
Finished 1000000 requests
Server Software: Monkey/0.30.0
Server Hostname: localhost
Server Port: 2001
Document Path: /index.html
Document Length: 1364 bytes
Concurrency Level: 10
Time taken for tests: 8.321 seconds
Complete requests: 1000000
Failed requests: 0
Write errors: 0
Keep-Alive requests: 999007
Total transferred: 1591856989 bytes
HTML transferred: 1364000000 bytes
Requests per second: 120181.91 [#/sec] (mean)
Time per request: 0.083 [ms] (mean)
Time per request: 0.008 [ms] (mean, across all concurrent requests)
Transfer rate: 186828.52 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 0.0 0 1
Processing: 0 0 0.1 0 10
Waiting: 0 0 0.1 0 10
Total: 0 0 0.1 0 10
Percentage of the requests served within a certain time (ms)
50% 0
66% 0
75% 0
80% 0
90% 0
95% 0
98% 0
99% 0
100% 10 (longest request)
1.3 Apache2
| Version | 2.2.17-1ubuntu1.4 |
$ ab -k -c 10 -n 1000000 http://localhost/index.html
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 localhost (be patient)
Completed 100000 requests
Completed 200000 requests
Completed 300000 requests
Completed 400000 requests
Completed 500000 requests
Completed 600000 requests
Completed 700000 requests
Completed 800000 requests
Completed 900000 requests
Completed 1000000 requests
Finished 1000000 requests
Server Software: Apache/2.2.17
Server Hostname: localhost
Server Port: 80
Document Path: /index.html
Document Length: 177 bytes
Concurrency Level: 10
Time taken for tests: 37.496 seconds
Complete requests: 1000000
Failed requests: 0
Write errors: 0
Keep-Alive requests: 990104
Total transferred: 490554686 bytes
HTML transferred: 177000000 bytes
Requests per second: 26669.67 [#/sec] (mean)
Time per request: 0.375 [ms] (mean)
Time per request: 0.037 [ms] (mean, across all concurrent requests)
Transfer rate: 12776.30 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 0.0 0 1
Processing: 0 0 1.0 0 203
Waiting: 0 0 1.0 0 202
Total: 0 0 1.0 0 203
Percentage of the requests served within a certain time (ms)
50% 0
66% 0
75% 0
80% 0
90% 1
95% 1
98% 2
99% 4
100% 203 (longest request)
Generated by Org version 7.5 with Emacs version 23 on 2010-09-01 Wed
Copyright © 2011 tty team
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled “GNU Free Documentation License”.