microservices-benchmark
microservices-benchmark copied to clipboard
Benchmark of microservices frameworks for NodeJS
trafficstars
microservices-benchmark
Benchmark of microservices frameworks for NodeJS.
Frameworks in benchmark
| Package | Version |
|---|---|
| Seneca | 3.3.0 |
| Hemera | 5.8.6 |
| Nanoservices | 0.0.11 |
| Moleculer | 0.13.0 |
Test runner computer
Windows_NT 6.1.7601 x64
Node.JS: 8.11.0
V8: 6.2.414.50
Intel(R) Core(TM) i7-4770K CPU @ 3.50GHz × 8
Local (in-memory) requests
Result
Suite: Call local actions
√ Moleculer* 1,713,579 rps
√ Nanoservices* 90,510 rps
√ Seneca* 13,252 rps
Moleculer* 0% (1,713,579 rps) (avg: 583ns)
Nanoservices* -94.72% (90,510 rps) (avg: 11μs)
Seneca* -99.23% (13,252 rps) (avg: 75μs)
Remote (via transporter) requests
Result
Suite: Call remote actions
√ Moleculer* 10,445 rps
√ Hemera* 6,655 rps
√ Cote* 15,442 rps
√ Seneca* 2,947 rps
Moleculer* -32.36% (10,445 rps) (avg: 95μs)
Hemera* -56.9% (6,655 rps) (avg: 150μs)
Cote* 0% (15,442 rps) (avg: 64μs)
Seneca* -80.91% (2,947 rps) (avg: 339μs)
Run benchmark
Install dependencies
$ npm install
or
$ yarn
For remote test need to install a NATS server too. You may also use Docker container version of this benchmark.
Start nats server (gnatsd) and
$ npm run bench local
$ npm run bench remote
Docker container version
If you don't want to have unneeded dependencies and software on your local computer, you may use Docker to set-up "virtual containers" with this benchmark.
Prerequisities
You need to have Docker and docker-compose installed.
Starting benchmark
Simply run docker-compose up command, so:
- NATS server will be set-up
- All dependencies will be installed
- Benchmark results will be visible in your terminal