Skip to content

Instantly share code, notes, and snippets.

@queso
Created October 7, 2009 14:30
Show Gist options
  • Save queso/204069 to your computer and use it in GitHub Desktop.
Save queso/204069 to your computer and use it in GitHub Desktop.
These are just simple tests run using ab and the Handcrafted foundation (http://github.com/handcrafted/foundation).
Keep in mind these are basic and aren't a true apples to apples comparison yet. Using nginx combined with thin, passenger, and unicorn will allow a real comparison. If I get time I will try to run some ec2 tests.
Thin start
josh 86500 0.2 1.2 2493484 52424 s000 S+ 2:07AM 0:02.79 ruby script/server thin
Thin first page
josh 86500 0.3 1.4 2496584 58900 s000 S+ 2:07AM 0:04.07 ruby script/server thin
Thin during ab -n 250 -c 5
josh 86500 80.2 3.6 2585352 149212 s000 R+ 2:07AM 0:45.97 ruby script/server thin
Thin post ab -n 250 -c 5
josh 86500 0.2 3.6 2587400 152200 s000 S+ 2:07AM 1:12.19 ruby script/server thin
Thin speed
Benchmarking 127.0.0.1 (be patient)
Completed 100 requests
Completed 200 requests
Finished 250 requests
Server Software: thin
Server Hostname: 127.0.0.1
Server Port: 3000
Document Path: /
Document Length: 5184 bytes
Concurrency Level: 5
Time taken for tests: 83.606 seconds
Complete requests: 250
Failed requests: 0
Write errors: 0
Total transferred: 1401325 bytes
HTML transferred: 1296000 bytes
Requests per second: 2.99 [#/sec] (mean)
Time per request: 1672.120 [ms] (mean)
Time per request: 334.424 [ms] (mean, across all concurrent requests)
Transfer rate: 16.37 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 0.1 0 2
Processing: 699 1672 264.0 1648 3037
Waiting: 277 1626 257.9 1634 2056
Total: 699 1672 264.0 1648 3037
Percentage of the requests served within a certain time (ms)
50% 1648
66% 1766
75% 1835
80% 1857
90% 1889
95% 2057
98% 2360
99% 2360
100% 3037 (longest request)
Unicorn start
josh 86726 0.3 1.3 2495136 53396 s000 S+ 2:17AM 0:02.48 unicorn_rails worker[0] -l 3000
josh 86724 0.0 0.4 2449056 14904 s000 S+ 2:17AM 0:00.32 unicorn_rails master -l 3000
Unicorn first page
josh 86726 0.2 1.4 2497184 60128 s000 S+ 2:17AM 0:03.02 unicorn_rails worker[0] -l 3000
josh 86724 0.0 0.4 2449056 14924 s000 S+ 2:17AM 0:00.32 unicorn_rails master -l 3000
Unicorn during ab -n 250 -c 5
josh 86726 77.3 1.5 2498380 61424 s000 R+ 2:17AM 0:26.21 unicorn_rails worker[0] -l 3000
josh 86724 0.0 0.4 2449056 14948 s000 S+ 2:17AM 0:00.33 unicorn_rails master -l 3000
Unicorn post ab -n 250 -c 5
josh 86726 0.2 1.5 2498380 61424 s000 S+ 2:17AM 0:55.52 unicorn_rails worker[0] -l 3000
josh 86724 0.0 0.4 2449056 14980 s000 S+ 2:17AM 0:00.34 unicorn_rails master -l 3000
Unicorn speed
Benchmarking 127.0.0.1 (be patient)
Completed 100 requests
Completed 200 requests
Finished 250 requests
Server Software:
Server Hostname: 127.0.0.1
Server Port: 3000
Document Path: /
Document Length: 5184 bytes
Concurrency Level: 5
Time taken for tests: 64.912 seconds
Complete requests: 250
Failed requests: 0
Write errors: 0
Total transferred: 1403010 bytes
HTML transferred: 1296000 bytes
Requests per second: 3.85 [#/sec] (mean)
Time per request: 1298.248 [ms] (mean)
Time per request: 259.650 [ms] (mean, across all concurrent requests)
Transfer rate: 21.11 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 0.2 0 3
Processing: 334 1288 94.0 1297 1465
Waiting: 334 1288 94.0 1297 1465
Total: 334 1288 94.0 1297 1465
Percentage of the requests served within a certain time (ms)
50% 1297
66% 1320
75% 1329
80% 1337
90% 1353
95% 1369
98% 1394
99% 1423
100% 1465 (longest request)
Passenger first page
josh 86822 0.5 1.3 2497112 53696 ?? S 2:23AM 0:02.52 Passenger ApplicationSpawner: /Users/josh/Code/Handcrafted/foundation
josh 86829 0.0 1.4 2508376 60452 ?? S 2:23AM 0:00.42 Rails: /Users/josh/Code/Handcrafted/foundation
Passenger during ab -n 250 -c 5
josh 86850 38.4 2.3 2544584 97276 ?? R 2:24AM 0:06.69 Rails: /Users/josh/Code/Handcrafted/foundation
josh 86852 37.8 2.3 2544584 97272 ?? R 2:24AM 0:06.57 Rails: /Users/josh/Code/Handcrafted/foundation
josh 86856 30.3 2.3 2544584 97268 ?? R 2:24AM 0:06.50 Rails: /Users/josh/Code/Handcrafted/foundation
josh 86854 27.3 2.3 2544584 97268 ?? R 2:24AM 0:06.54 Rails: /Users/josh/Code/Handcrafted/foundation
josh 86829 22.3 2.3 2545608 97976 ?? R 2:23AM 0:07.02 Rails: /Users/josh/Code/Handcrafted/foundation
josh 86822 0.0 1.3 2497112 53696 ?? S 2:23AM 0:02.53 Passenger ApplicationSpawner: /Users/josh/Code/Handcrafted/foundation
Passenger after
josh 86822 0.0 1.3 2497112 53696 ?? S 2:23AM 0:02.53 Passenger ApplicationSpawner: /Users/josh/Code/Handcrafted/foundation
josh 86856 0.0 2.7 2560968 113200 ?? S 2:24AM 0:14.66 Rails: /Users/josh/Code/Handcrafted/foundation
josh 86854 0.0 2.7 2560968 113192 ?? S 2:24AM 0:14.68 Rails: /Users/josh/Code/Handcrafted/foundation
josh 86852 0.0 2.7 2561992 114336 ?? S 2:24AM 0:14.97 Rails: /Users/josh/Code/Handcrafted/foundation
josh 86850 0.0 2.7 2563016 115268 ?? S 2:24AM 0:15.33 Rails: /Users/josh/Code/Handcrafted/foundation
josh 86829 0.0 2.7 2563016 115276 ?? S 2:23AM 0:15.60 Rails: /Users/josh/Code/Handcrafted/foundation
Passenger speed
Benchmarking foundation.local (be patient)
Completed 100 requests
Completed 200 requests
Finished 250 requests
Server Software: Apache/2.2.11
Server Hostname: foundation.local
Server Port: 80
Document Path: /
Document Length: 5202 bytes
Concurrency Level: 5
Time taken for tests: 48.432 seconds
Complete requests: 250
Failed requests: 2
(Connect: 0, Receive: 0, Length: 2, Exceptions: 0)
Write errors: 0
Non-2xx responses: 2
Total transferred: 1434439 bytes
HTML transferred: 1291166 bytes
Requests per second: 5.16 [#/sec] (mean)
Time per request: 968.637 [ms] (mean)
Time per request: 193.727 [ms] (mean, across all concurrent requests)
Transfer rate: 28.92 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 0.2 0 2
Processing: 1 964 187.3 935 1878
Waiting: 1 961 186.5 931 1875
Total: 1 964 187.3 935 1878
Percentage of the requests served within a certain time (ms)
50% 935
66% 1003
75% 1042
80% 1075
90% 1168
95% 1273
98% 1404
99% 1532
100% 1878 (longest request)
Unicorn (5 workers) before
josh 86929 0.3 1.2 2494112 51720 s000 S+ 2:34AM 0:02.65 unicorn_rails worker[1] -c unicorn.conf
josh 86930 0.3 1.2 2494112 52384 s000 S+ 2:34AM 0:02.66 unicorn_rails worker[2] -c unicorn.conf
josh 86931 0.3 1.3 2494112 52504 s000 S+ 2:34AM 0:02.64 unicorn_rails worker[3] -c unicorn.conf
josh 86928 0.2 1.3 2494112 52712 s000 R+ 2:34AM 0:02.65 unicorn_rails worker[0] -c unicorn.conf
josh 86932 0.2 1.2 2494112 51876 s000 S+ 2:34AM 0:02.63 unicorn_rails worker[4] -c unicorn.conf
josh 86926 0.0 0.4 2449056 14916 s000 S+ 2:34AM 0:00.31 unicorn_rails master -c unicorn.conf
Unicorn (5 workers) first page
josh 86932 0.3 1.2 2494112 51900 s000 S+ 2:34AM 0:02.79 unicorn_rails worker[4] -c unicorn.conf
josh 86930 0.2 1.4 2498208 59960 s000 S+ 2:34AM 0:03.20 unicorn_rails worker[2] -c unicorn.conf
josh 86929 0.2 1.2 2494112 51720 s000 S+ 2:34AM 0:02.81 unicorn_rails worker[1] -c unicorn.conf
josh 86928 0.2 1.3 2494112 52712 s000 S+ 2:34AM 0:02.81 unicorn_rails worker[0] -c unicorn.conf
josh 86931 0.2 1.3 2494112 52504 s000 S+ 2:34AM 0:02.80 unicorn_rails worker[3] -c unicorn.conf
josh 86926 0.0 0.4 2449056 14988 s000 S+ 2:34AM 0:00.32 unicorn_rails master -c unicorn.conf
Unicorn (5 workers) during ab -n 250 -c 5
josh 86930 37.6 1.6 2505720 68708 s000 R+ 2:34AM 0:09.32 unicorn_rails worker[2] -c unicorn.conf
josh 86929 31.4 1.5 2498552 61556 s000 R+ 2:34AM 0:08.96 unicorn_rails worker[1] -c unicorn.conf
josh 86928 27.8 1.5 2502652 64976 s000 R+ 2:34AM 0:09.04 unicorn_rails worker[0] -c unicorn.conf
josh 86931 27.7 1.5 2498720 61736 s000 R+ 2:34AM 0:08.84 unicorn_rails worker[3] -c unicorn.conf
josh 86932 26.8 1.5 2498548 61408 s000 S+ 2:34AM 0:08.99 unicorn_rails worker[4] -c unicorn.conf
josh 86926 0.0 0.4 2449056 15184 s000 S+ 2:34AM 0:00.36 unicorn_rails master -c unicorn.conf
Unicorn (5 workers) after ab -n 250 -c 5
josh 86930 0.2 1.6 2506744 68780 s000 S+ 2:34AM 0:16.18 unicorn_rails worker[2] -c unicorn.conf
josh 86929 0.2 1.5 2498552 61556 s000 S+ 2:34AM 0:15.83 unicorn_rails worker[1] -c unicorn.conf
josh 86928 0.2 1.6 2505724 68744 s000 S+ 2:34AM 0:15.81 unicorn_rails worker[0] -c unicorn.conf
josh 86932 0.2 1.5 2498548 61408 s000 S+ 2:34AM 0:15.71 unicorn_rails worker[4] -c unicorn.conf
josh 86931 0.2 1.5 2498736 61752 s000 S+ 2:34AM 0:15.48 unicorn_rails worker[3] -c unicorn.conf
josh 86926 0.0 0.4 2449056 15232 s000 S+ 2:34AM 0:00.36 unicorn_rails master -c unicorn.conf
Unicorn (5 workers) speed
Benchmarking 127.0.0.1 (be patient)
Completed 100 requests
Completed 200 requests
Finished 250 requests
Server Software:
Server Hostname: 127.0.0.1
Server Port: 3000
Document Path: /
Document Length: 5184 bytes
Concurrency Level: 5
Time taken for tests: 41.884 seconds
Complete requests: 250
Failed requests: 0
Write errors: 0
Total transferred: 1403065 bytes
HTML transferred: 1296000 bytes
Requests per second: 5.97 [#/sec] (mean)
Time per request: 837.674 [ms] (mean)
Time per request: 167.535 [ms] (mean, across all concurrent requests)
Transfer rate: 32.71 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 0.3 0 5
Processing: 465 835 169.0 794 1850
Waiting: 465 834 169.0 794 1850
Total: 465 835 169.0 794 1850
Percentage of the requests served within a certain time (ms)
50% 794
66% 828
75% 851
80% 885
90% 983
95% 1082
98% 1482
99% 1847
100% 1850 (longest request)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment