Skip to content

Instantly share code, notes, and snippets.

@igrigorik
Created August 1, 2010 18:45
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save igrigorik/503627 to your computer and use it in GitHub Desktop.
Save igrigorik/503627 to your computer and use it in GitHub Desktop.
igrigorik ~/> ab -c 220 -n 2000 http://127.0.0.1:3000/widgets
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 200 requests
Completed 400 requests
Completed 600 requests
Completed 800 requests
Completed 1000 requests
Completed 1200 requests
Completed 1400 requests
Completed 1600 requests
Completed 1800 requests
Completed 2000 requests
Finished 2000 requests
Server Software: thin
Server Hostname: 127.0.0.1
Server Port: 3000
Document Path: /widgets
Document Length: 6 bytes
Concurrency Level: 220
Time taken for tests: 10.698 seconds
Complete requests: 2000
Failed requests: 0
Write errors: 0
Total transferred: 470235 bytes
HTML transferred: 12006 bytes
Requests per second: 186.95 [#/sec] (mean)
Time per request: 1176.777 [ms] (mean)
Time per request: 5.349 [ms] (mean, across all concurrent requests)
Transfer rate: 42.93 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 37 177.2 0 928
Processing: 1004 1081 95.5 1053 1402
Waiting: 1004 1077 86.2 1050 1353
Total: 1004 1119 202.8 1059 2094
Percentage of the requests served within a certain time (ms)
50% 1059
66% 1078
75% 1102
80% 1147
90% 1366
95% 1404
98% 2017
99% 2047
100% 2094 (longest request)
@flockonus
Copy link

Can you repeat the same AB test to another Rails server that is not using your gem?
Its is hard to compare to the regular server, due each machine is almost unique.

@jarkko
Copy link

jarkko commented Apr 6, 2011

@flockonus It would by definition take at least 2000 seconds since each request makes a 1-sec MySQL query and they would execute serially.

@kidlab
Copy link

kidlab commented Oct 3, 2012

Can you post your database.yml and Rack::FiberPool size?

@kidlab
Copy link

kidlab commented Oct 5, 2012

Note: to run this test with db pool 250, we must configure max_connections in my.cnf with the value >= 250. For ex:
[mysqld]
max_connections = 5000

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment