Skip to content

hiemanshu/server_benchmarks_old

Folders and files

NameName
Last commit message
Last commit date

Latest commit

e44c874 · Jul 11, 2016

History

41 Commits
Jun 27, 2016
Jul 3, 2016
Jun 27, 2016
Jun 26, 2016
Jun 26, 2016
Jun 26, 2016
Jul 3, 2016
Jul 7, 2016
Jul 3, 2016
Jul 3, 2016
Jul 3, 2016
Jul 11, 2016
Jun 26, 2016
Jul 10, 2016
Jun 26, 2016
Jun 26, 2016
Jul 7, 2016
Jun 26, 2016
Jul 4, 2016
Jul 3, 2016

Repository files navigation

Simple Server Benchmarks

Hardware:

Standard Mid 2014 MacBook Pro. i7 2.2Ghz, 16GB RAM, 256GB SSD.

Benchmarks:

Simple no template return (/hello)

Framework Requests/Sec Average Latency
Warp 102147 1.46 ms
Iris 86856 1.69 ms
Gin - without Logger 65341 2.29 ms
Plug - without Logger 41210 9.31 ms
Gin 29388 10.77 ms
Plug 14918 11.83 ms
Express 10118 14.60 ms
Vapor 8196 18.42 ms
Zewo 4948 31.02 ms
Flask + Tornado 1805 81.79 ms
Sinatra 974 203.71 ms
Bottle 546 1.38ms
Kitura 545 321.45 us
Flask 544 74.15 ms
Falcon 543 47.06 ms

Fortunes (/fortunes)

Framework Requests/Sec Average Latency
Warp 10217 14.60 ms
Gin 3340 61.20 ms
Sinatra 430 260.90 ms

Fortunes.json (/fortunes.json)

Framework Requests/Sec Average Latency
Warp 13255 11.14 ms
Gin 3222 56.63 ms
Sinatra 588 197.96 ms

Command to benchmark

wrk -t4 -c150 -d30s http://localhost:PORT/path

Contributing :

If you want to add more frameworks or find a better or doing feel free to send a PR my way.

The current structure is as follow:

  • /hello returns a simple "Hello, World!" message
  • /fortunes returns a rendered html with all the fortune cookie messages
  • /fortunes.json returns JSON with all the fortune cookie messages

You can find the schema for the fortunes table in database/fortunes.sql. All tests will use postgresql as the database.