Skip to content

Instantly share code, notes, and snippets.

@zishe
Last active August 29, 2015 13:58
Show Gist options
  • Save zishe/9942178 to your computer and use it in GitHub Desktop.
Save zishe/9942178 to your computer and use it in GitHub Desktop.
Ruby frameworks bench
jruby-1.7.12
puma -e production -t 100:100 <framework>.ru
wrk -t4 -c100 -d2s http://0.0.0.0:9292/
Ruby
Rack: 17800.91
Hobbit: 15742.50
Cuba: 14828.45
JRuby + Rack + Torqbox ~ 60k req/s
torqbox -b 0.0.0.0 -e production -p 9292
wrk -t20 -c100 -d10s http://0.0.0.0:9292/
Running 10s test @ http://0.0.0.0:9292/
20 threads and 100 connections
Thread Stats Avg Stdev Max +/- Stdev
Latency 2.69ms 15.61ms 257.41ms 99.34%
Req/Sec 3.27k 812.09 17.00k 89.36%
606234 requests in 10.00s, 90.19MB read
Socket errors: connect 0, read 1, write 0, timeout 0
Requests/sec: 60635.62
Transfer/sec: 9.02MB
Other frameworks:
Elixir
Phoenix: 10557.93 (old value 16808.32)
Dynamo: 26585.27
NodeJS
Express: 14896.41 (upd from 15750.42)
NodeJS: 21185.81 (upd from 30442.17)
Go
Go: 60575.61
BeeGo: 50312.94
Martini: 37385.26
Lua
Lapis: 16069.92
All options:
wrk -t10 -d10s http://localhost:port/
connections 10, threads 10
ruby 2.1.0
(uns - unsupported, xs - x stars support)
rack: 9642.18
cuba: 8005.10 (4s)
mustermann: 8105.99 (4s)
lotus: 7975.41 (only router)
Hobbit: 7768.43 (5s)
Rack: 7472.52
Brooklyn: 6986.15 (1s)
Rambutan: 6639.37 (uns)
Nancy: 6417.04 (4s)
NYNY: 5797.20 (5s)
Sinatra: 3237.16
Scorched: 1960.42
Rails: 1954.60
Ramaze: 1686.83 (uns)
ruby 2.1.1
rack: 9636.69 (same results)
ruby 2.2.0-dev: unsupported
jruby-9000+graal-dev: unsupported
rbx-2.2.0: slow or unsupported
jruby-1.7.9
(maximum of 5 tests, on first test it's about 20-30 percent of maximum)
rack: 18151.26
Hobbit: 16450.85
cuba: 15709.50
Nancy: - (errors)
NYNY: 10944.11
Sinatra: 7658.48
Rails: 5405.11
Celluloid (Reek server):
bundle exec reel-rack -p 8888 app.ru
E, [2014-04-04T00:38:58.740000 #33335] ERROR -- : Actor crashed!
Best of (mri 2.1.1, jruby 1.7.9):
Rack 9842.34 100% 18151.26 100%
Cuba 8202.79 83% 15709.5 87%
Hobbit 8126.96 83% 16450.85 91%
NYNY 4653.84 47% 10944.11 60%
Rails 2019.27 21% 5405.11 30%
Dependent from threads (timeout):
8 16 32 64
rack 19527.94 (900) 18620.45 (800) 19146.88 (940)
hobbit 17757.05 (940) 17503.11 (890) 16605.35 (860)
express 15750.42 15413.67 15403.93 14586.98
nodejs 30442.17 29732.00 28516.79 28470.13 (424)
phoenix 16998.34 (116) 16764.48 16884.61 16462.79 (424)
dynamo 28621.88 28589.73 (148) 28142.54 (260) 26909.38
beego 50399.68 50606.41 48132.63 47901.01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment