Skip to content

Instantly share code, notes, and snippets.

@SaltwaterC
Created May 12, 2012 13:54
Show Gist options
  • Save SaltwaterC/2666633 to your computer and use it in GitHub Desktop.
Save SaltwaterC/2666633 to your computer and use it in GitHub Desktop.
Async frameworks "Hello World" showdown

This gist just keeps the data for this article: Async frameworks "Hello World" showdown.

local http = require('luanode.http')
http.createServer(function(self, request, response)
response:writeHead(200, {["Content-Type"] = "text/plain"})
response:finish("Hello World")
end):listen(3003)
process:loop()
local HTTP = require("http")
HTTP.createServer(function (req, res)
local body = "Hello World!"
res:writeHead(200, {
["Content-Type"] = "text/plain",
["Content-Length"] = #body
})
res:finish(body)
end):listen(3004)
var http = require('http');
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello World!');
}).listen(3000, 'localhost');
ab -r -k -n 1000000 -c 1000 http://127.0.0.1:3000/
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 100000 requests
Completed 200000 requests
Completed 300000 requests
Completed 400000 requests
Completed 500000 requests
Completed 600000 requests
Completed 700000 requests
Completed 800000 requests
Completed 900000 requests
Completed 1000000 requests
Finished 1000000 requests
Server Software:
Server Hostname: 127.0.0.1
Server Port: 3000
Document Path: /
Document Length: 12 bytes
Concurrency Level: 1000
Time taken for tests: 107.435 seconds
Complete requests: 1000000
Failed requests: 0
Write errors: 0
Keep-Alive requests: 0
Total transferred: 76000000 bytes
HTML transferred: 12000000 bytes
Requests per second: 9307.96 [#/sec] (mean)
Time per request: 107.435 [ms] (mean)
Time per request: 0.107 [ms] (mean, across all concurrent requests)
Transfer rate: 690.83 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 90 386.9 0 7033
Processing: 0 16 36.9 13 2380
Waiting: 0 16 36.8 13 2380
Total: 1 106 394.5 15 7722
Percentage of the requests served within a certain time (ms)
50% 15
66% 18
75% 21
80% 23
90% 38
95% 1010
98% 1025
99% 1227
100% 7722 (longest request)
ab -r -k -n 1000000 -c 1000 http://127.0.0.1:3002/
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 100000 requests
Completed 200000 requests
Completed 300000 requests
Completed 400000 requests
Completed 500000 requests
Completed 600000 requests
Completed 700000 requests
Completed 800000 requests
Completed 900000 requests
Completed 1000000 requests
Finished 1000000 requests
Server Software:
Server Hostname: 127.0.0.1
Server Port: 3002
Document Path: /
Document Length: 12 bytes
Concurrency Level: 1000
Time taken for tests: 40.028 seconds
Complete requests: 1000000
Failed requests: 0
Write errors: 0
Keep-Alive requests: 1000000
Total transferred: 101000000 bytes
HTML transferred: 12000000 bytes
Requests per second: 24982.31 [#/sec] (mean)
Time per request: 40.028 [ms] (mean)
Time per request: 0.040 [ms] (mean, across all concurrent requests)
Transfer rate: 2464.08 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 1 43.8 0 3007
Processing: 4 39 8.6 38 725
Waiting: 4 39 8.6 38 725
Total: 4 40 46.0 38 3116
Percentage of the requests served within a certain time (ms)
50% 38
66% 39
75% 39
80% 40
90% 47
95% 51
98% 56
99% 62
100% 3116 (longest request)
ab -r -k -n 1000000 -c 1000 http://127.0.0.1:3003/
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 100000 requests
Completed 200000 requests
Completed 300000 requests
Completed 400000 requests
Completed 500000 requests
Completed 600000 requests
Completed 700000 requests
Completed 800000 requests
Completed 900000 requests
Completed 1000000 requests
Finished 1000000 requests
Server Software:
Server Hostname: 127.0.0.1
Server Port: 3003
Document Path: /
Document Length: 11 bytes
Concurrency Level: 1000
Time taken for tests: 243.269 seconds
Complete requests: 1000000
Failed requests: 8906
(Connect: 0, Receive: 2968, Length: 2968, Exceptions: 2970)
Write errors: 0
Keep-Alive requests: 0
Total transferred: 111667584 bytes
HTML transferred: 10967352 bytes
Requests per second: 4110.67 [#/sec] (mean)
Time per request: 243.269 [ms] (mean)
Time per request: 0.243 [ms] (mean, across all concurrent requests)
Transfer rate: 448.27 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 80 841.7 0 31084
Processing: 4 149 2414.8 29 227322
Waiting: 0 69 747.7 29 113431
Total: 12 230 2650.2 30 230324
Percentage of the requests served within a certain time (ms)
50% 30
66% 31
75% 32
80% 32
90% 42
95% 54
98% 1032
99% 3855
100% 230324 (longest request)
ab -r -k -n 1000000 -c 1000 http://127.0.0.1:3004/
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 100000 requests
Completed 200000 requests
Completed 300000 requests
Completed 400000 requests
Completed 500000 requests
Completed 600000 requests
Completed 700000 requests
Completed 800000 requests
Completed 900000 requests
Completed 1000000 requests
Finished 1000000 requests
Server Software: Luvit
Server Hostname: 127.0.0.1
Server Port: 3004
Document Path: /
Document Length: 12 bytes
Concurrency Level: 1000
Time taken for tests: 60.965 seconds
Complete requests: 1000000
Failed requests: 0
Write errors: 0
Keep-Alive requests: 1000000
Total transferred: 153000000 bytes
HTML transferred: 12000000 bytes
Requests per second: 16402.80 [#/sec] (mean)
Time per request: 60.965 [ms] (mean)
Time per request: 0.061 [ms] (mean, across all concurrent requests)
Transfer rate: 2450.81 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 26.5 0 3001
Processing: 5 60 16.0 56 168
Waiting: 0 22 15.7 18 95
Total: 33 61 30.5 56 3045
Percentage of the requests served within a certain time (ms)
50% 56
66% 64
75% 71
80% 76
90% 84
95% 92
98% 97
99% 101
100% 3045 (longest request)
load('vertx.js');
vertx.createHttpServer().requestHandler(function(req) {
req.response.putHeader('content-type', 'text/plain');
req.response.end('Hello World!');
}).listen(3002, 'localhost');
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment