Skip to content

icebob/microservices-benchmark

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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)

Result chart

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)

Result chart

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

About

Benchmark of microservices frameworks for NodeJS

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published