danielsan / microservices-benchmark

Benchmark of microservices frameworks for NodeJS

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

microservices-benchmark

Benchmark of microservices frameworks for NodeJS.

Frameworks in benchmark

Package Version
Seneca 3.3.0
Hemera 1.1.5
Nanoservices 0.0.11
Moleculer 0.7.1

Test runner computer

   Windows_NT 6.1.7601 x64
   Node.JS: 6.10.0
   V8: 5.1.281.93
   Intel(R) Core(TM) i7-4770K CPU @ 3.50GHz × 8

Local (in-memory) requests

Result

Suite: Call local actions
√ Seneca*                 12,081 rps
√ Nanoservices*           64,921 rps
√ Moleculer*             723,033 rps

   Seneca* (#)             0%         (12,081 rps)   (avg: 82μs)
   Nanoservices*      +437.4%         (64,921 rps)   (avg: 15μs)
   Moleculer*        +5,885.11%        (723,033 rps)   (avg: 1μs)

Result chart

Remote (via NATS) requests

Result

Suite: Call remote actions
√ Seneca*               2,140 rps
√ Hemera*               4,354 rps
√ Moleculer*            8,664 rps

   Seneca* (#)          0%          (2,140 rps)   (avg: 467μs)
   Hemera*        +103.42%          (4,354 rps)   (avg: 229μs)
   Moleculer*     +304.81%          (8,664 rps)   (avg: 115μs)

Result chart

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

About

Benchmark of microservices frameworks for NodeJS


Languages

Language:JavaScript 100.0%