Skip to content

Instantly share code, notes, and snippets.

@courtneycouch
Created May 11, 2012 03:53
Show Gist options
  • Star 3 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save courtneycouch/2657432 to your computer and use it in GitHub Desktop.
Save courtneycouch/2657432 to your computer and use it in GitHub Desktop.
AB test results - nodejs vs vert.x
Single core - ab test single concurrency 100k requests
Server Software:
Server Hostname: 127.0.0.1
Server Port: 8080
Document Path: /
Document Length: 89 bytes
Concurrency Level: 1
Time taken for tests: 26.165080 seconds
Complete requests: 100000
Failed requests: 0
Write errors: 0
Total transferred: 17200000 bytes
HTML transferred: 8900000 bytes
Requests per second: 3821.89 [#/sec] (mean)
Time per request: 0.262 [ms] (mean)
Time per request: 0.262 [ms] (mean, across all concurrent requests)
Transfer rate: 641.92 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 0.0 0 0
Processing: 0 0 0.2 0 9
Waiting: 0 0 0.1 0 9
Total: 0 0 0.2 0 9
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% 9 (longest request)
Single core - ab test 10x concurrency 100k requests
Server Software:
Server Hostname: 127.0.0.1
Server Port: 8080
Document Path: /
Document Length: 89 bytes
Concurrency Level: 10
Time taken for tests: 18.556226 seconds
Complete requests: 100000
Failed requests: 0
Write errors: 0
Total transferred: 17200000 bytes
HTML transferred: 8900000 bytes
Requests per second: 5389.03 [#/sec] (mean)
Time per request: 1.856 [ms] (mean)
Time per request: 0.186 [ms] (mean, across all concurrent requests)
Transfer rate: 905.14 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 0.0 0 0
Processing: 1 1 0.5 1 11
Waiting: 0 1 0.5 1 11
Total: 1 1 0.5 1 11
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% 2
100% 11 (longest request)
Single core - ab test 100x concurrency 100k requests
Server Software:
Server Hostname: 127.0.0.1
Server Port: 8080
Document Path: /
Document Length: 89 bytes
Concurrency Level: 100
Time taken for tests: 18.239243 seconds
Complete requests: 100000
Failed requests: 0
Write errors: 0
Total transferred: 17200000 bytes
HTML transferred: 8900000 bytes
Requests per second: 5482.68 [#/sec] (mean)
Time per request: 18.239 [ms] (mean)
Time per request: 0.182 [ms] (mean, across all concurrent requests)
Transfer rate: 920.87 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 0.1 0 4
Processing: 0 17 6.3 17 35
Waiting: 0 17 6.3 17 35
Total: 2 17 6.3 17 35
Percentage of the requests served within a certain time (ms)
50% 17
66% 23
75% 23
80% 23
90% 23
95% 24
98% 29
99% 31
100% 35 (longest request)
Single core - ab test 1000x concurrency 100k requests
Server Software:
Server Hostname: 127.0.0.1
Server Port: 8080
Document Path: /
Document Length: 89 bytes
Concurrency Level: 1000
Time taken for tests: 17.803068 seconds
Complete requests: 100000
Failed requests: 0
Write errors: 0
Total transferred: 17200000 bytes
HTML transferred: 8900000 bytes
Requests per second: 5617.01 [#/sec] (mean)
Time per request: 178.031 [ms] (mean)
Time per request: 0.178 [ms] (mean, across all concurrent requests)
Transfer rate: 943.43 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 79 598.3 0 9001
Processing: 3 43 24.8 44 2074
Waiting: 3 43 24.7 44 2074
Total: 3 123 602.4 44 9066
Percentage of the requests served within a certain time (ms)
50% 44
66% 44
75% 45
80% 46
90% 52
95% 55
98% 3030
99% 3047
100% 9066 (longest request)
8 core - ab test 1x concurrency 100k requests
Server Software:
Server Hostname: 127.0.0.1
Server Port: 8080
Document Path: /
Document Length: 89 bytes
Concurrency Level: 1
Time taken for tests: 27.673151 seconds
Complete requests: 100000
Failed requests: 0
Write errors: 0
Total transferred: 17200000 bytes
HTML transferred: 8900000 bytes
Requests per second: 3613.61 [#/sec] (mean)
Time per request: 0.277 [ms] (mean)
Time per request: 0.277 [ms] (mean, across all concurrent requests)
Transfer rate: 606.94 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 0.0 0 4
Processing: 0 0 0.1 0 9
Waiting: 0 0 0.1 0 9
Total: 0 0 0.1 0 9
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% 9 (longest request)
8 core - ab test 10x concurrency 100k requests
Server Software:
Server Hostname: 127.0.0.1
Server Port: 8080
Document Path: /
Document Length: 89 bytes
Concurrency Level: 10
Time taken for tests: 8.602445 seconds
Complete requests: 100000
Failed requests: 0
Write errors: 0
Total transferred: 17200000 bytes
HTML transferred: 8900000 bytes
Requests per second: 11624.60 [#/sec] (mean)
Time per request: 0.860 [ms] (mean)
Time per request: 0.086 [ms] (mean, across all concurrent requests)
Transfer rate: 1952.47 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 0.0 0 4
Processing: 0 0 0.5 0 12
Waiting: 0 0 0.2 0 11
Total: 0 0 0.5 0 12
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% 1
100% 12 (longest request)
8 core - ab test 100x concurrency 100k requests
Server Software:
Server Hostname: 127.0.0.1
Server Port: 8080
Document Path: /
Document Length: 89 bytes
Concurrency Level: 100
Time taken for tests: 9.98349 seconds
Complete requests: 100000
Failed requests: 0
Write errors: 0
Total transferred: 17200172 bytes
HTML transferred: 8900089 bytes
Requests per second: 10991.01 [#/sec] (mean)
Time per request: 9.098 [ms] (mean)
Time per request: 0.091 [ms] (mean, across all concurrent requests)
Transfer rate: 1846.16 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 1.3 1 9
Processing: 1 7 1.5 7 21
Waiting: 0 2 1.6 3 17
Total: 1 8 2.0 8 23
Percentage of the requests served within a certain time (ms)
50% 8
66% 9
75% 10
80% 10
90% 11
95% 12
98% 13
99% 14
100% 23 (longest request)
8 core - ab test 1000x concurrency 100k requests
Server Software:
Server Hostname: 127.0.0.1
Server Port: 8080
Document Path: /
Document Length: 89 bytes
Concurrency Level: 1000
Time taken for tests: 9.831740 seconds
Complete requests: 100000
Failed requests: 0
Write errors: 0
Total transferred: 17201032 bytes
HTML transferred: 8900534 bytes
Requests per second: 10171.14 [#/sec] (mean)
Time per request: 98.317 [ms] (mean)
Time per request: 0.098 [ms] (mean, across all concurrent requests)
Transfer rate: 1708.45 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 15 9.9 15 83
Processing: 16 81 11.0 82 169
Waiting: 0 36 10.3 36 153
Total: 22 97 17.3 96 251
Percentage of the requests served within a certain time (ms)
50% 96
66% 103
75% 108
80% 111
90% 118
95% 126
98% 135
99% 141
100% 251 (longest request)
ab -c 1 -n 100000 http://127.0.0.1:8080/
Vert.X
8 core - ab test 1x concurrency 100k requests
Server Software:
Server Hostname: 127.0.0.1
Server Port: 8080
Document Path: /
Document Length: 89 bytes
Concurrency Level: 1
Time taken for tests: 24.581249 seconds
Complete requests: 100000
Failed requests: 0
Write errors: 0
Total transferred: 15300000 bytes
HTML transferred: 8900000 bytes
Requests per second: 4068.14 [#/sec] (mean)
Time per request: 0.246 [ms] (mean)
Time per request: 0.246 [ms] (mean, across all concurrent requests)
Transfer rate: 607.82 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 0.0 0 1
Processing: 0 0 0.2 0 58
Waiting: 0 0 0.2 0 58
Total: 0 0 0.2 0 58
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% 58 (longest request)
8 core - ab test 10x concurrency 100k requests
Server Software:
Server Hostname: 127.0.0.1
Server Port: 8080
Document Path: /
Document Length: 89 bytes
Concurrency Level: 10
Time taken for tests: 11.864840 seconds
Complete requests: 100000
Failed requests: 0
Write errors: 0
Total transferred: 15300000 bytes
HTML transferred: 8900000 bytes
Requests per second: 8428.26 [#/sec] (mean)
Time per request: 1.186 [ms] (mean)
Time per request: 0.119 [ms] (mean, across all concurrent requests)
Transfer rate: 1259.27 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 0.0 0 7
Processing: 0 0 0.9 1 8
Waiting: 0 0 0.1 0 7
Total: 0 0 0.9 1 8
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% 8 (longest request)
8 core - ab test 100x concurrency
Server Software:
Server Hostname: 127.0.0.1
Server Port: 8080
Document Path: /
Document Length: 89 bytes
Concurrency Level: 100
Time taken for tests: 11.915829 seconds
Complete requests: 100000
Failed requests: 0
Write errors: 0
Total transferred: 15306273 bytes
HTML transferred: 8903649 bytes
Requests per second: 8392.20 [#/sec] (mean)
Time per request: 11.916 [ms] (mean)
Time per request: 0.119 [ms] (mean, across all concurrent requests)
Transfer rate: 1254.38 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 4 95.0 1 3014
Processing: 1 7 3.2 7 226
Waiting: 0 2 2.4 3 224
Total: 1 11 95.1 8 3025
Percentage of the requests served within a certain time (ms)
50% 8
66% 10
75% 11
80% 12
90% 13
95% 15
98% 16
99% 17
100% 3025 (longest request)
8 core - ab test 1000x concurrency
Vert.X crashes.
NodeJS 1 core 100k requests
Concurrency 1x - 3821.89 [requests/sec] Test Time: 26.165080 seconds
Concurrency 10x - 5389.03 [requests/sec] Test Time: 18.556226 seconds
Concurrency 100x - 5482.68 [requests/sec] Test Time: 18.239243 seconds
Concurrency 1000x- 5617.01 [requests/sec] Test Time: 17.803068 seconds
NodeJS 8 core 100k requests
Concurrency 1x - 3613.61 [requests/sec] Test Time: 27.673151 seconds
Concurrency 10x - 11624.60 [requests/sec] Test Time: 8.602445 seconds
Concurrency 100x - 10991.01 [requests/sec] Test Time: 9.98349 seconds
Concurrency 1000x- 10171.14 [requests/sec] Test Time: 9.831740 seconds
Vert.x 8 core 100k requests
Concurrency 1x - 4068.14 [requests/sec] Test Time: 24.581249 seconds
Concurrency 10x - 8428.26 [requests/sec] Test Time: 11.864840 seconds
Concurrency 100x - 8392.20 [requests/sec] Test Time: 11.915829 seconds
Concurrency 1000x- VERT.X CRASHES SO THIS TEST WON'T RUN
@courtneycouch
Copy link
Author

It depends what those requests are doing. The test above involves file IO. It is an extension of this: https://gist.github.com/2652991

Simply posting that you can get much larger numbers of requests through vert.x is sort of a nonsense statement. Of course you can. I'm sure someone can push 30k requests through it. The point of this isn't to say "how many requests can you get through" but to compare the same activity on both platforms to see the performance comparison.

I can easily push 30k requests through nodejs on less hardware, far more than this test is showing. Again this is more of a file io test to compare to the bs vert.x microbenchmarks that came out a while back.

Your results are meaningless without an explanation of what you are testing exactly and some base comparison with something else doing the same workload.

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