Created
June 20, 2010 06:08
-
-
Save igrigorik/445603 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# MBP pro, production mode, thin server | |
# - each request spawns an internal http request back to thin | |
# - final destination does a 1s sleep inside of mysql | |
# | |
# concurrency time | |
# 75 73.426 | |
# 60 66.411 | |
# 50 65.502 | |
# 40 78.105 | |
# 30 106.624 | |
# | |
# looks like a single thin on my MBP peaks ~50 req/s (with internal hit, so 100 req/s total) | |
# | |
# | |
# development: | |
# adapter: em_mysqlplus | |
# database: widgets | |
# pool: 200 | |
# timeout: 5000 | |
# | |
# 3000 requests, 75 req/s, should ~40s, real: 73.426s | |
# | |
(M=a393b8) igrigorik /git/async-rails3> ab -c 75 -n 3000 http://127.0.0.1:3000/widgets/http | |
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 127.0.0.1 (be patient) | |
Completed 300 requests | |
Completed 600 requests | |
Completed 900 requests | |
Completed 1200 requests | |
Completed 1500 requests | |
Completed 1800 requests | |
Completed 2100 requests | |
Completed 2400 requests | |
Completed 2700 requests | |
Completed 3000 requests | |
Finished 3000 requests | |
Server Software: thin | |
Server Hostname: 127.0.0.1 | |
Server Port: 3000 | |
Document Path: /widgets/http | |
Document Length: 6 bytes | |
Concurrency Level: 75 | |
Time taken for tests: 73.426 seconds | |
Complete requests: 3000 | |
Failed requests: 0 | |
Write errors: 0 | |
Total transferred: 1227000 bytes | |
HTML transferred: 18000 bytes | |
Requests per second: 40.86 [#/sec] (mean) | |
Time per request: 1835.638 [ms] (mean) | |
Time per request: 24.475 [ms] (mean, across all concurrent requests) | |
Transfer rate: 16.32 [Kbytes/sec] received | |
Connection Times (ms) | |
min mean[+/-sd] median max | |
Connect: 0 0 0.7 0 7 | |
Processing: 1159 1820 209.5 1882 2338 | |
Waiting: 1158 1820 209.5 1882 2334 | |
Total: 1159 1820 209.5 1882 2340 | |
Percentage of the requests served within a certain time (ms) | |
50% 1882 | |
66% 1921 | |
75% 1953 | |
80% 1968 | |
90% 1999 | |
95% 2056 | |
98% 2149 | |
99% 2313 | |
100% 2340 (longest request) | |
# | |
# development: | |
# adapter: em_mysqlplus | |
# database: widgets | |
# pool: 200 | |
# timeout: 5000 | |
# | |
# 3000 requests, 60 req/s, should ~50s, real: 66.411s | |
# | |
(M=a393b8) igrigorik /git/async-rails3> ab -c 60 -n 3000 http://127.0.0.1:3000/widgets/http | |
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 127.0.0.1 (be patient) | |
Completed 300 requests | |
Completed 600 requests | |
Completed 900 requests | |
Completed 1200 requests | |
Completed 1500 requests | |
Completed 1800 requests | |
Completed 2100 requests | |
Completed 2400 requests | |
Completed 2700 requests | |
Completed 3000 requests | |
Finished 3000 requests | |
Server Software: thin | |
Server Hostname: 127.0.0.1 | |
Server Port: 3000 | |
Document Path: /widgets/http | |
Document Length: 6 bytes | |
Concurrency Level: 60 | |
Time taken for tests: 66.411 seconds | |
Complete requests: 3000 | |
Failed requests: 0 | |
Write errors: 0 | |
Total transferred: 1227000 bytes | |
HTML transferred: 18000 bytes | |
Requests per second: 45.17 [#/sec] (mean) | |
Time per request: 1328.221 [ms] (mean) | |
Time per request: 22.137 [ms] (mean, across all concurrent requests) | |
Transfer rate: 18.04 [Kbytes/sec] received | |
Connection Times (ms) | |
min mean[+/-sd] median max | |
Connect: 0 0 0.3 0 5 | |
Processing: 1055 1317 194.1 1261 2285 | |
Waiting: 1055 1317 194.1 1261 2284 | |
Total: 1055 1318 194.1 1261 2287 | |
Percentage of the requests served within a certain time (ms) | |
50% 1261 | |
66% 1306 | |
75% 1365 | |
80% 1421 | |
90% 1606 | |
95% 1726 | |
98% 1880 | |
99% 1994 | |
100% 2287 (longest request) | |
# | |
# development: | |
# adapter: em_mysqlplus | |
# database: widgets | |
# pool: 200 | |
# timeout: 5000 | |
# | |
# 3000 requests, 50 req/s, should ~60s, real: 65.502 | |
# | |
(M=a393b8) igrigorik /git/async-rails3> ab -c 50 -n 3000 http://127.0.0.1:3000/widgets/http | |
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 127.0.0.1 (be patient) | |
Completed 300 requests | |
Completed 600 requests | |
Completed 900 requests | |
Completed 1200 requests | |
Completed 1500 requests | |
Completed 1800 requests | |
Completed 2100 requests | |
Completed 2400 requests | |
Completed 2700 requests | |
Completed 3000 requests | |
Finished 3000 requests | |
Server Software: thin | |
Server Hostname: 127.0.0.1 | |
Server Port: 3000 | |
Document Path: /widgets/http | |
Document Length: 6 bytes | |
Concurrency Level: 50 | |
Time taken for tests: 65.502 seconds | |
Complete requests: 3000 | |
Failed requests: 0 | |
Write errors: 0 | |
Total transferred: 1227000 bytes | |
HTML transferred: 18000 bytes | |
Requests per second: 45.80 [#/sec] (mean) | |
Time per request: 1091.699 [ms] (mean) | |
Time per request: 21.834 [ms] (mean, across all concurrent requests) | |
Transfer rate: 18.29 [Kbytes/sec] received | |
Connection Times (ms) | |
min mean[+/-sd] median max | |
Connect: 0 0 0.6 0 11 | |
Processing: 1007 1081 129.3 1045 1984 | |
Waiting: 1006 1081 128.7 1045 1981 | |
Total: 1007 1082 129.6 1046 1992 | |
Percentage of the requests served within a certain time (ms) | |
50% 1046 | |
66% 1114 | |
75% 1126 | |
80% 1131 | |
90% 1140 | |
95% 1155 | |
98% 1214 | |
99% 1984 | |
100% 1992 (longest request) | |
# | |
# development: | |
# adapter: em_mysqlplus | |
# database: widgets | |
# pool: 200 | |
# timeout: 5000 | |
# | |
# 3000 requests, 40 req/s, should ~75s, real: 78.105 | |
# | |
(M=a393b8) igrigorik /git/async-rails3> ab -c 40 -n 3000 http://127.0.0.1:3000/widgets/http | |
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 127.0.0.1 (be patient) | |
Completed 300 requests | |
Completed 600 requests | |
Completed 900 requests | |
Completed 1200 requests | |
Completed 1500 requests | |
Completed 1800 requests | |
Completed 2100 requests | |
Completed 2400 requests | |
Completed 2700 requests | |
Completed 3000 requests | |
Finished 3000 requests | |
Server Software: thin | |
Server Hostname: 127.0.0.1 | |
Server Port: 3000 | |
Document Path: /widgets/http | |
Document Length: 6 bytes | |
Concurrency Level: 40 | |
Time taken for tests: 78.105 seconds | |
Complete requests: 3000 | |
Failed requests: 0 | |
Write errors: 0 | |
Total transferred: 1227000 bytes | |
HTML transferred: 18000 bytes | |
Requests per second: 38.41 [#/sec] (mean) | |
Time per request: 1041.399 [ms] (mean) | |
Time per request: 26.035 [ms] (mean, across all concurrent requests) | |
Transfer rate: 15.34 [Kbytes/sec] received | |
Connection Times (ms) | |
min mean[+/-sd] median max | |
Connect: 0 0 0.2 0 2 | |
Processing: 1006 1035 32.0 1025 1180 | |
Waiting: 1006 1034 31.7 1025 1178 | |
Total: 1006 1035 32.1 1026 1181 | |
Percentage of the requests served within a certain time (ms) | |
50% 1026 | |
66% 1035 | |
75% 1042 | |
80% 1047 | |
90% 1074 | |
95% 1119 | |
98% 1144 | |
99% 1152 | |
100% 1181 (longest request) | |
# | |
# development: | |
# adapter: em_mysqlplus | |
# database: widgets | |
# pool: 200 | |
# timeout: 5000 | |
# | |
# 3000 requests, 30 req/s, should ~100s, real: 106.624s | |
# | |
(M=a393b8) igrigorik /git/async-rails3> ab -c 30 -n 3000 http://127.0.0.1:3000/widgets/http | |
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 127.0.0.1 (be patient) | |
Completed 300 requests | |
Completed 600 requests | |
Completed 900 requests | |
Completed 1200 requests | |
Completed 1500 requests | |
Completed 1800 requests | |
Completed 2100 requests | |
Completed 2400 requests | |
Completed 2700 requests | |
Completed 3000 requests | |
Finished 3000 requests | |
Server Software: thin | |
Server Hostname: 127.0.0.1 | |
Server Port: 3000 | |
Document Path: /widgets/http | |
Document Length: 6 bytes | |
Concurrency Level: 30 | |
Time taken for tests: 106.624 seconds | |
Complete requests: 3000 | |
Failed requests: 0 | |
Write errors: 0 | |
Total transferred: 1227000 bytes | |
HTML transferred: 18000 bytes | |
Requests per second: 28.14 [#/sec] (mean) | |
Time per request: 1066.243 [ms] (mean) | |
Time per request: 35.541 [ms] (mean, across all concurrent requests) | |
Transfer rate: 11.24 [Kbytes/sec] received | |
Connection Times (ms) | |
min mean[+/-sd] median max | |
Connect: 0 0 0.5 0 11 | |
Processing: 1006 1061 35.1 1058 1200 | |
Waiting: 1006 1060 34.8 1057 1199 | |
Total: 1006 1061 35.2 1058 1200 | |
Percentage of the requests served within a certain time (ms) | |
50% 1058 | |
66% 1071 | |
75% 1077 | |
80% 1083 | |
90% 1116 | |
95% 1132 | |
98% 1146 | |
99% 1155 | |
100% 1200 (longest request) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment