Benchmark of microservices frameworks for NodeJS.
Package | Version |
---|---|
Seneca | 3.3.0 |
Hemera | 5.8.6 |
Nanoservices | 0.0.11 |
Moleculer | 0.13.0 |
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
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)
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)
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
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.
You need to have Docker and docker-compose installed.
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