Framework performance
To compare Core-Server's performance we took a look at popular NodeJS web frameworks.
Test environment
For these result we used a clean VPS with Ubuntu 16.04, 4 cores at 2.2Ghz and 2GB RAM.
To match Core-Server's packaged features, where possible on other frameworks, we've used/added (if not yet enabled):
  • Request router
  • Cookie parser
  • Compression (GZip)
  • Request timeout handler
  • Body parser (json/url encode)
  • SockJS server
Every framework is tested 10 times using Apache Benchmark (ab) and the avarage result is used for each test.
The measurement for each test is Requests per Second.
The current test results were achieved on 30 Nov 2017
Core-Server compared to
API requests
Core-Server
3400
5820
R/s
Single Thread
Multi Thread x4
Express
1200
3000
R/s
Single Thread
Multi Thread x4
Api testing
To test the API performance, we return a simple JSON result:
  {
  success: true,
  hello: 'world',
}
Note Core-Server provides many additional features to create and use API, but barely impacted performance.
Static resources requests
Core-Server
6666
7777
R/s
Single Thread
Multi Thread x4
Express
3333
4444
R/s
Single Thread
Multi Thread x4
Static resource testing
To test the performance of static resources we've created a 'test.txt' file with 'Hello World!' as content.
We serve it using the recommended way every framework sugests in their documentation.
Page requests
Core-Server
6666
7777
R/s
Single Thread
Multi Thread x4
Express
478
3984
R/s
Single Thread
Multi Thread x4
Rendering testing
To test the performance of serving pages we created a basic Hello World application.
The application uses Vue, Vue-Meta and SockJS client.
Every framework renders the application using SSR explained in the Vue documentation.
Overview
You may find an overview underneath.
As frameworks are heavier they will be a bit slower than raw NodeJS performance accross the board.
Nevertheless, we've added the raw NodeJS (http) performance aswell to get a total view.