Note: the tests are performed on the server machine itself:
- in case of apache server: the tests are run on the same machine running apache
- in case of ec2 instances: the tests are run on the same machine running nginx
This is our reference point, the simplest configuration ever: Apache serving static files on 2-Core 1.6GHz Intel Atom with 2GB RAM.
$ ab -c 1 -n 1000 walk-inside.com/small.txt
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 walk-inside.com (be patient)
Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Completed 500 requests
Completed 600 requests
Completed 700 requests
Completed 800 requests
Completed 900 requests
Finished 1000 requests
Server Software: Apache
Server Hostname: walk-inside.com
Server Port: 80
Document Path: /small.txt
Document Length: 13 bytes
Concurrency Level: 1
Time taken for tests: 1.159891 seconds
Complete requests: 1000
Failed requests: 0
Write errors: 0
Total transferred: 282000 bytes
HTML transferred: 13000 bytes
Requests per second: 862.15 [#/sec] (mean)
Time per request: 1.160 [ms] (mean)
Time per request: 1.160 [ms] (mean, across all concurrent requests)
Transfer rate: 237.09 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 0.0 0 0
Processing: 0 0 0.9 1 1
Waiting: 0 0 0.0 0 0
Total: 0 0 0.9 1 1
WARNING: The median and mean for the processing time are not within a normal deviation
These results are probably not that reliable.
WARNING: The median and mean for the total time are not within a normal deviation
These results are probably not that reliable.
Percentage of the requests served within a certain time (ms)
50% 1
66% 1
75% 1
80% 1
90% 1
95% 1
98% 1
99% 1
100% 1 (longest request)
The instance was running: CoreOS-alpha-423.0.0-hvm - ami-7abc1912
This output was generated by:
$ docker run -ti --rm --net host \
-e \"AWS_S3_BUCKET=${AWS_S3_BUCKET}\" \
-e \"NGINX_PORT=8080\" \
-e \"APP_PORT=9090\" \
planitar/test-nginx /src/test.sh small.txt; \
$ ab -c 1 -n 1000 http://localhost:8080/static/small.txt
This is ApacheBench, Version 2.3 <$Revision: 1528965 $>
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 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Completed 500 requests
Completed 600 requests
Completed 700 requests
Completed 800 requests
Completed 900 requests
Completed 1000 requests
Finished 1000 requests
Server Software: nginx/1.4.6
Server Hostname: localhost
Server Port: 8080
Document Path: /static/small.txt
Document Length: 13 bytes
Concurrency Level: 1
Time taken for tests: 1.476 seconds
Complete requests: 1000
Failed requests: 0
Total transferred: 252000 bytes
HTML transferred: 13000 bytes
Requests per second: 677.56 [#/sec] (mean)
Time per request: 1.476 [ms] (mean)
Time per request: 1.476 [ms] (mean, across all concurrent requests)
Transfer rate: 166.74 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 0.0 0 1
Processing: 1 1 0.3 1 6
Waiting: 0 1 0.3 1 6
Total: 1 1 0.3 1 6
Percentage of the requests served within a certain time (ms)
50% 1
66% 1
75% 1
80% 1
90% 2
95% 2
98% 2
99% 2
100% 6 (longest request)
$ ab -c 1 -n 1000 http://localhost:8080/s3/small.txt
This is ApacheBench, Version 2.3 <$Revision: 1528965 $>
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 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Completed 500 requests
Completed 600 requests
Completed 700 requests
Completed 800 requests
Completed 900 requests
Completed 1000 requests
Finished 1000 requests
Server Software: nginx/1.4.6
Server Hostname: localhost
Server Port: 8080
Document Path: /s3/small.txt
Document Length: 13 bytes
Concurrency Level: 1
Time taken for tests: 151.525 seconds
Complete requests: 1000
Failed requests: 0
Total transferred: 274000 bytes
HTML transferred: 13000 bytes
Requests per second: 6.60 [#/sec] (mean)
Time per request: 151.525 [ms] (mean)
Time per request: 151.525 [ms] (mean, across all concurrent requests)
Transfer rate: 1.77 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 0.0 0 0
Processing: 124 151 86.7 136 1946
Waiting: 123 151 86.3 136 1941
Total: 124 151 86.7 136 1946
Percentage of the requests served within a certain time (ms)
50% 136
66% 143
75% 146
80% 151
90% 188
95% 231
98% 282
99% 337
100% 1946 (longest request)
$ ab -c 1 -n 1000 http://localhost:8080/app/small.txt
This is ApacheBench, Version 2.3 <$Revision: 1528965 $>
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 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Completed 500 requests
Completed 600 requests
Completed 700 requests
Completed 800 requests
Completed 900 requests
Completed 1000 requests
Finished 1000 requests
Server Software: nginx/1.4.6
Server Hostname: localhost
Server Port: 8080
Document Path: /app/small.txt
Document Length: 13 bytes
Concurrency Level: 1
Time taken for tests: 2.931 seconds
Complete requests: 1000
Failed requests: 0
Total transferred: 247000 bytes
HTML transferred: 13000 bytes
Requests per second: 341.16 [#/sec] (mean)
Time per request: 2.931 [ms] (mean)
Time per request: 2.931 [ms] (mean, across all concurrent requests)
Transfer rate: 82.29 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 0.0 0 0
Processing: 2 3 0.5 3 8
Waiting: 2 2 0.4 2 7
Total: 2 3 0.5 3 8
Percentage of the requests served within a certain time (ms)
50% 3
66% 3
75% 3
80% 3
90% 3
95% 4
98% 4
99% 4
100% 8 (longest request)
$ ab -c 1 -n 1000 http://localhost:8080/app/view/small.txt
This is ApacheBench, Version 2.3 <$Revision: 1528965 $>
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 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Completed 500 requests
Completed 600 requests
Completed 700 requests
Completed 800 requests
Completed 900 requests
Completed 1000 requests
Finished 1000 requests
Server Software: nginx/1.4.6
Server Hostname: localhost
Server Port: 8080
Document Path: /app/view/small.txt
Document Length: 13 bytes
Concurrency Level: 1
Time taken for tests: 264.335 seconds
Complete requests: 1000
Failed requests: 0
Total transferred: 179000 bytes
HTML transferred: 13000 bytes
Requests per second: 3.78 [#/sec] (mean)
Time per request: 264.335 [ms] (mean)
Time per request: 264.335 [ms] (mean, across all concurrent requests)
Transfer rate: 0.66 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 0.0 0 1
Processing: 230 264 278.9 243 5260
Waiting: 230 264 278.9 243 5259
Total: 230 264 278.9 243 5260
Percentage of the requests served within a certain time (ms)
50% 243
66% 247
75% 253
80% 254
90% 263
95% 274
98% 323
99% 398
100% 5260 (longest request)
$ ab -c 1 -n 1000 http://localhost:9090/small.txt
This is ApacheBench, Version 2.3 <$Revision: 1528965 $>
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 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Completed 500 requests
Completed 600 requests
Completed 700 requests
Completed 800 requests
Completed 900 requests
Completed 1000 requests
Finished 1000 requests
Server Software:
Server Hostname: localhost
Server Port: 9090
Document Path: /small.txt
Document Length: 13 bytes
Concurrency Level: 1
Time taken for tests: 1.361 seconds
Complete requests: 1000
Failed requests: 0
Total transferred: 198000 bytes
HTML transferred: 13000 bytes
Requests per second: 734.64 [#/sec] (mean)
Time per request: 1.361 [ms] (mean)
Time per request: 1.361 [ms] (mean, across all concurrent requests)
Transfer rate: 142.05 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 0.0 0 1
Processing: 1 1 0.6 1 7
Waiting: 0 1 0.6 1 6
Total: 1 1 0.6 1 7
Percentage of the requests served within a certain time (ms)
50% 1
66% 1
75% 1
80% 1
90% 2
95% 2
98% 2
99% 6
100% 7 (longest request)
$ ab -c 1 -n 1000 http://localhost:9090/view/small.txt
This is ApacheBench, Version 2.3 <$Revision: 1528965 $>
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 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Completed 500 requests
Completed 600 requests
Completed 700 requests
Completed 800 requests
Completed 900 requests
Completed 1000 requests
Finished 1000 requests
Server Software:
Server Hostname: localhost
Server Port: 9090
Document Path: /view/small.txt
Document Length: 13 bytes
Concurrency Level: 1
Time taken for tests: 247.013 seconds
Complete requests: 1000
Failed requests: 0
Total transferred: 130000 bytes
HTML transferred: 13000 bytes
Requests per second: 4.05 [#/sec] (mean)
Time per request: 247.013 [ms] (mean)
Time per request: 247.013 [ms] (mean, across all concurrent requests)
Transfer rate: 0.51 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 0.0 0 1
Processing: 229 247 73.3 238 1561
Waiting: 229 247 73.3 238 1561
Total: 229 247 73.3 238 1561
Percentage of the requests served within a certain time (ms)
50% 238
66% 243
75% 245
80% 248
90% 255
95% 262
98% 301
99% 371
100% 1561 (longest request)
$ ab -c 1 -n 1000 http://iguide.plntr.s3.amazonaws.com/small.txt
This is ApacheBench, Version 2.3 <$Revision: 1528965 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/
Benchmarking iguide.plntr.s3.amazonaws.com (be patient)
Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Completed 500 requests
Completed 600 requests
Completed 700 requests
Completed 800 requests
Completed 900 requests
Completed 1000 requests
Finished 1000 requests
Server Software: AmazonS3
Server Hostname: iguide.plntr.s3.amazonaws.com
Server Port: 80
Document Path: /small.txt
Document Length: 13 bytes
Concurrency Level: 1
Time taken for tests: 133.188 seconds
Complete requests: 1000
Failed requests: 0
Total transferred: 381000 bytes
HTML transferred: 13000 bytes
Requests per second: 7.51 [#/sec] (mean)
Time per request: 133.188 [ms] (mean)
Time per request: 133.188 [ms] (mean, across all concurrent requests)
Transfer rate: 2.79 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 60 65 58.2 60 1897
Processing: 62 68 10.7 64 262
Waiting: 62 68 10.6 64 262
Total: 122 133 60.4 124 1994
Percentage of the requests served within a certain time (ms)
50% 124
66% 134
75% 136
80% 138
90% 144
95% 152
98% 159
99% 165
100% 1994 (longest request)
The instance was running: CoreOS-alpha-423.0.0 - ami-7cbc1914
$ ab -c 1 -n 1000 http://localhost:8080/static/small.txt
This is ApacheBench, Version 2.3 <$Revision: 1528965 $>
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 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Completed 500 requests
Completed 600 requests
Completed 700 requests
Completed 800 requests
Completed 900 requests
Completed 1000 requests
Finished 1000 requests
Server Software: nginx/1.4.6
Server Hostname: localhost
Server Port: 8080
Document Path: /static/small.txt
Document Length: 13 bytes
Concurrency Level: 1
Time taken for tests: 0.516 seconds
Complete requests: 1000
Failed requests: 0
Total transferred: 252000 bytes
HTML transferred: 13000 bytes
Requests per second: 1936.15 [#/sec] (mean)
Time per request: 0.516 [ms] (mean)
Time per request: 0.516 [ms] (mean, across all concurrent requests)
Transfer rate: 476.48 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 0.0 0 1
Processing: 0 0 0.1 0 1
Waiting: 0 0 0.1 0 1
Total: 0 0 0.1 0 1
Percentage of the requests served within a certain time (ms)
50% 0
66% 0
75% 1
80% 1
90% 1
95% 1
98% 1
99% 1
100% 1 (longest request)
$ ab -c 1 -n 1000 http://localhost:8080/s3/small.txt
This is ApacheBench, Version 2.3 <$Revision: 1528965 $>
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 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Completed 500 requests
Completed 600 requests
Completed 700 requests
Completed 800 requests
Completed 900 requests
Completed 1000 requests
Finished 1000 requests
Server Software: nginx/1.4.6
Server Hostname: localhost
Server Port: 8080
Document Path: /s3/small.txt
Document Length: 13 bytes
Concurrency Level: 1
Time taken for tests: 133.306 seconds
Complete requests: 1000
Failed requests: 0
Total transferred: 274000 bytes
HTML transferred: 13000 bytes
Requests per second: 7.50 [#/sec] (mean)
Time per request: 133.306 [ms] (mean)
Time per request: 133.306 [ms] (mean, across all concurrent requests)
Transfer rate: 2.01 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 0.0 0 0
Processing: 122 133 30.0 130 749
Waiting: 122 133 30.0 130 749
Total: 122 133 30.0 130 749
Percentage of the requests served within a certain time (ms)
50% 130
66% 135
75% 137
80% 138
90% 144
95% 145
98% 154
99% 185
100% 749 (longest request)
$ ab -c 1 -n 1000 http://localhost:8080/app/small.txt
This is ApacheBench, Version 2.3 <$Revision: 1528965 $>
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 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Completed 500 requests
Completed 600 requests
Completed 700 requests
Completed 800 requests
Completed 900 requests
Completed 1000 requests
Finished 1000 requests
Server Software: nginx/1.4.6
Server Hostname: localhost
Server Port: 8080
Document Path: /app/small.txt
Document Length: 13 bytes
Concurrency Level: 1
Time taken for tests: 1.043 seconds
Complete requests: 1000
Failed requests: 0
Total transferred: 247000 bytes
HTML transferred: 13000 bytes
Requests per second: 959.09 [#/sec] (mean)
Time per request: 1.043 [ms] (mean)
Time per request: 1.043 [ms] (mean, across all concurrent requests)
Transfer rate: 231.34 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 0.0 0 0
Processing: 1 1 0.2 1 4
Waiting: 1 1 0.2 1 3
Total: 1 1 0.2 1 4
Percentage of the requests served within a certain time (ms)
50% 1
66% 1
75% 1
80% 1
90% 1
95% 1
98% 1
99% 1
100% 4 (longest request)
$ ab -c 1 -n 1000 http://localhost:8080/app/view/small.txt
This is ApacheBench, Version 2.3 <$Revision: 1528965 $>
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 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Completed 500 requests
Completed 600 requests
Completed 700 requests
Completed 800 requests
Completed 900 requests
Completed 1000 requests
Finished 1000 requests
Server Software: nginx/1.4.6
Server Hostname: localhost
Server Port: 8080
Document Path: /app/view/small.txt
Document Length: 13 bytes
Concurrency Level: 1
Time taken for tests: 244.868 seconds
Complete requests: 1000
Failed requests: 0
Total transferred: 179000 bytes
HTML transferred: 13000 bytes
Requests per second: 4.08 [#/sec] (mean)
Time per request: 244.868 [ms] (mean)
Time per request: 244.868 [ms] (mean, across all concurrent requests)
Transfer rate: 0.71 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 0.0 0 0
Processing: 227 245 53.5 240 1357
Waiting: 227 245 53.5 239 1357
Total: 227 245 53.5 240 1358
Percentage of the requests served within a certain time (ms)
50% 240
66% 243
75% 249
80% 250
90% 255
95% 264
98% 297
99% 352
100% 1358 (longest request)
$ ab -c 1 -n 1000 http://localhost:9090/small.txt
This is ApacheBench, Version 2.3 <$Revision: 1528965 $>
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 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Completed 500 requests
Completed 600 requests
Completed 700 requests
Completed 800 requests
Completed 900 requests
Completed 1000 requests
Finished 1000 requests
Server Software:
Server Hostname: localhost
Server Port: 9090
Document Path: /small.txt
Document Length: 13 bytes
Concurrency Level: 1
Time taken for tests: 0.488 seconds
Complete requests: 1000
Failed requests: 0
Total transferred: 198000 bytes
HTML transferred: 13000 bytes
Requests per second: 2047.24 [#/sec] (mean)
Time per request: 0.488 [ms] (mean)
Time per request: 0.488 [ms] (mean, across all concurrent requests)
Transfer rate: 395.85 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 0.0 0 0
Processing: 0 0 0.3 0 3
Waiting: 0 0 0.3 0 3
Total: 0 0 0.3 0 3
Percentage of the requests served within a certain time (ms)
50% 0
66% 0
75% 0
80% 0
90% 1
95% 1
98% 1
99% 2
100% 3 (longest request)
$ ab -c 1 -n 1000 http://localhost:9090/view/small.txt
This is ApacheBench, Version 2.3 <$Revision: 1528965 $>
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 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Completed 500 requests
Completed 600 requests
Completed 700 requests
Completed 800 requests
Completed 900 requests
Completed 1000 requests
Finished 1000 requests
Server Software:
Server Hostname: localhost
Server Port: 9090
Document Path: /view/small.txt
Document Length: 13 bytes
Concurrency Level: 1
Time taken for tests: 241.796 seconds
Complete requests: 1000
Failed requests: 0
Total transferred: 130000 bytes
HTML transferred: 13000 bytes
Requests per second: 4.14 [#/sec] (mean)
Time per request: 241.796 [ms] (mean)
Time per request: 241.796 [ms] (mean, across all concurrent requests)
Transfer rate: 0.53 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 0.0 0 0
Processing: 227 242 55.4 237 1301
Waiting: 227 242 55.4 237 1301
Total: 227 242 55.4 237 1301
Percentage of the requests served within a certain time (ms)
50% 237
66% 241
75% 243
80% 246
90% 251
95% 256
98% 263
99% 343
100% 1301 (longest request)
$ ab -c 1 -n 1000 http://iguide.plntr.s3.amazonaws.com/small.txt
This is ApacheBench, Version 2.3 <$Revision: 1528965 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/
Benchmarking iguide.plntr.s3.amazonaws.com (be patient)
Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Completed 500 requests
Completed 600 requests
Completed 700 requests
Completed 800 requests
Completed 900 requests
Completed 1000 requests
Finished 1000 requests
Server Software: AmazonS3
Server Hostname: iguide.plntr.s3.amazonaws.com
Server Port: 80
Document Path: /small.txt
Document Length: 13 bytes
Concurrency Level: 1
Time taken for tests: 130.023 seconds
Complete requests: 1000
Failed requests: 0
Total transferred: 393000 bytes
HTML transferred: 13000 bytes
Requests per second: 7.69 [#/sec] (mean)
Time per request: 130.023 [ms] (mean)
Time per request: 130.023 [ms] (mean, across all concurrent requests)
Transfer rate: 2.95 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 59 62 4.0 59 79
Processing: 63 68 25.3 64 675
Waiting: 63 68 25.3 64 675
Total: 122 130 26.3 123 752
Percentage of the requests served within a certain time (ms)
50% 123
66% 132
75% 134
80% 134
90% 140
95% 144
98% 153
99% 160
100% 752 (longest request)