Simple HTTP benchmark for different nodejs frameworks using wrk
Prerequisites
Installation
git clone [email protected]:hbakhtiyor/node-frameworks-benchmark.git && cd node-frameworks-benchmark
yarn [install]
yarn install
How to run or automatically it can run after make
After finish the make tasks, look at benchmarks.txt file or your console output.
Result of benchmarks without measuring cpu/memory usage
Simple HTTP benchmark results (wrk) with close
connection
20220.47 Requests/sec - ukoa.js
13594.83 Requests/sec - ufeathers.js
12812.89 Requests/sec - uexpress.js
4204.16 Requests/sec - total/total.js
3043.56 Requests/sec - rawnode.js
2365.02 Requests/sec - feathers.js
2242.12 Requests/sec - koa.js
1784.28 Requests/sec - micro.js
1698.33 Requests/sec - express.js
1443.69 Requests/sec - restify.js
512.29 Requests/sec - hapi.js
158.26 Requests/sec - uws.js
Simple HTTP benchmark results (wrk) with keep-alive
connection
54232.14 Requests/sec - uws.js
21036.52 Requests/sec - ukoa.js
13547.05 Requests/sec - ufeathers.js
13213.85 Requests/sec - micro.js
12514.36 Requests/sec - uexpress.js
12427.84 Requests/sec - rawnode.js
8597.81 Requests/sec - total/total.js
7594.78 Requests/sec - koa.js
5600.86 Requests/sec - express.js
4775.49 Requests/sec - restify.js
2959.22 Requests/sec - feathers.js
1215.46 Requests/sec - sails/sails.js
1077.86 Requests/sec - hapi.js
Hardware used
- Intel® Core™ i3-2310M CPU @ 2.10GHz × 4
- 4Gb RAM
Version
- Node v7.9.0
- Ubuntu 17.04 LTS x86_64 OS
- 4.10.0-20-generic kernel
Notes
- Some frameworks used with uWebSockets server.
- This runs a benchmark for 5 minutes, using 12 threads, and keeping 400 HTTP connections open.