microservices-benchmark
Benchmark of microservices frameworks for NodeJS.
Frameworks in benchmark
Package | Version |
---|---|
Seneca | 3.3.0 |
Hemera | 2.1.0 |
Nanoservices | 0.0.11 |
Moleculer | 0.11.1 |
Test runner computer
Windows_NT 6.1.7601 x64
Node.JS: 8.4.0
V8: 6.0.286.52
Intel(R) Core(TM) i7-4770K CPU @ 3.50GHz × 8
Local (in-memory) requests
Result
Suite: Call local actions
√ Moleculer* 2,021,189 rps
√ Nanoservices* 94,116 rps
√ Seneca* 13,621 rps
Moleculer* 0% (2,021,189 rps) (avg: 494ns)
Nanoservices* -95.34% (94,116 rps) (avg: 10μs)
Seneca* -99.33% (13,621 rps) (avg: 73μs)
Remote (via NATS) requests
Result
Suite: Call remote actions
√ Moleculer* 8,274 rps
√ Hemera* 5,225 rps
√ Cote* 14,163 rps
√ Seneca* 2,865 rps
Moleculer* -41.58% (8,274 rps) (avg: 120μs)
Hemera* -63.11% (5,225 rps) (avg: 191μs)
Cote* 0% (14,163 rps) (avg: 70μs)
Seneca* -79.77% (2,865 rps) (avg: 349μs)
Run benchmark
Install dependencies
$ npm install
or
$ yarn
For remote test need to install a NATS server too.
Start nats server (gnatsd
) and
$ npm run bench local
$ npm run bench remote