linux kernel 4.6.2
Core i7 3770
8GB DDR3 1600Mhz
ruby 2.3.1
nodejs 6.2.2
elixir 1.3.1
go 1.6.2
java 8.u92
Benchmark with: wrk -c 400 -t 8 -d 30s http://localhost:PORT/
puma -w 8 -e production
Running 30s test @ http://localhost:9292/
8 threads and 400 connections
Thread Stats Avg Stdev Max +/- Stdev
Latency 7.19ms 14.43ms 299.98ms 90.21%
Req/Sec 3.24k 3.98k 20.98k 71.54%
676676 requests in 30.09s, 138.75MB read
Non-2xx or 3xx responses: 676676
Requests/sec: 22485.05
Transfer/sec: 4.61MB
puma -w 8 -e production
wrk -c 400 -t 8 -d 30s http://localhost:3000/
Running 30s test @ http://localhost:3000/
8 threads and 400 connections
Thread Stats Avg Stdev Max +/- Stdev
Latency 27.98ms 41.21ms 261.47ms 74.97%
Req/Sec 575.59 421.36 1.63k 50.21%
137019 requests in 30.05s, 301.46MB read
Requests/sec: 4560.15
Transfer/sec: 10.03MB
RACK_ENV=production bundle exec puma -t 1:16 -w 8 -p 9292 --preload
wrk -c 400 -t 8 -d 30s http://localhost:9292/
Running 30s test @ http://localhost:9292/
8 threads and 400 connections
Thread Stats Avg Stdev Max +/- Stdev
Latency 2.93ms 7.38ms 310.73ms 96.74%
Req/Sec 7.03k 7.49k 42.23k 65.03%
1680350 requests in 30.09s, 94.55MB read
Non-2xx or 3xx responses: 1680350
Requests/sec: 55842.85
Transfer/sec: 3.14MB
NODE_ENV=productiob node server.js -w 8
wrk -c 400 -t 8 -d 30s http://localhost:3000/
Running 30s test @ http://localhost:3000/
8 threads and 400 connections
Thread Stats Avg Stdev Max +/- Stdev
Latency 7.71ms 9.87ms 357.26ms 99.29%
Req/Sec 6.87k 729.74 17.36k 86.98%
1640263 requests in 30.08s, 337.88MB read
Non-2xx or 3xx responses: 1640263
Requests/sec: 54521.39
Transfer/sec: 11.23MB
sudo MIX_ENV=prod elixir -pa _build/prod/consolidated -S mix server
Compiling 1 file (.ex)
== Compilation error on file lib/benchmarker.ex ==
** (CompileError) lib/benchmarker.ex:1: undefined function fetch_params/2
(stdlib) lists.erl:1338: :lists.foreach/2
(stdlib) erl_eval.erl:670: :erl_eval.do_apply/6
FAILED
GOMAXPROCS=8 MARTINI_ENV=production go run server.go
wrk -c 400 -t 8 -d 30s http://localhost:3000/
Running 30s test @ http://localhost:3000/
8 threads and 400 connections
Thread Stats Avg Stdev Max +/- Stdev
Latency 19.53ms 23.69ms 282.86ms 84.74%
Req/Sec 3.91k 484.52 8.47k 80.59%
925620 requests in 30.02s, 155.36MB read
Non-2xx or 3xx responses: 925620
Requests/sec: 30831.25
Transfer/sec: 5.17MB
GOMAXPROCS=8 GIN_MODE=release go run server.go
wrk -c 400 -t 8 -d 30s http://localhost:3000/
Running 30s test @ http://localhost:3000/
8 threads and 400 connections
Thread Stats Avg Stdev Max +/- Stdev
Latency 2.47ms 1.97ms 205.65ms 78.25%
Req/Sec 21.11k 2.80k 47.53k 76.21%
5045347 requests in 30.06s, 611.08MB read
Non-2xx or 3xx responses: 5045347
Requests/sec: 167834.53
Transfer/sec: 20.33MB
Too slow at installing dependencies... do not like this