Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jordic/n12vsn16
https://github.com/jordic/n12vsn16
Last synced: 2 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/jordic/n12vsn16
- Owner: jordic
- License: mit
- Created: 2022-02-07T05:16:22.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2022-02-07T05:26:55.000Z (almost 3 years ago)
- Last Synced: 2024-11-06T02:56:55.374Z (about 2 months ago)
- Language: JavaScript
- Size: 27.3 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Quick benchmark on http node12 vs node16
Tests ran on a ubuntu 20.04 box with 8 cores and 32G RAM
## Install
Run a mongod using docker for mongo tests
`docker run -d -p 27017:27017 --name mongodb mongo:4.0.4`
Autocannon
```
npm i -g autocannon
npm ci
```
Use the same project with two node versions:```
v16.13.2
v12.13.0
```Create data on mongodb, see [data.md](data.md)
## Raw httpserver without deps
First endpoint without dependencies,
just a raw http server [simple.js](simple.js)```
node simple.js
# on another terminal:
autocannon localhost:3000/
```
### Node 12```
Running 10s test @ http://localhost:3000/
10 connections┌─────────┬──────┬──────┬───────┬──────┬─────────┬─────────┬───────┐
│ Stat │ 2.5% │ 50% │ 97.5% │ 99% │ Avg │ Stdev │ Max │
├─────────┼──────┼──────┼───────┼──────┼─────────┼─────────┼───────┤
│ Latency │ 0 ms │ 0 ms │ 0 ms │ 0 ms │ 0.01 ms │ 0.06 ms │ 11 ms │
└─────────┴──────┴──────┴───────┴──────┴─────────┴─────────┴───────┘
┌───────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┐
│ Stat │ 1% │ 2.5% │ 50% │ 97.5% │ Avg │ Stdev │ Min │
├───────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┤
│ Req/Sec │ 44735 │ 44735 │ 56959 │ 57343 │ 55641.6 │ 3672.23 │ 44728 │
├───────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┤
│ Bytes/Sec │ 4.65 MB │ 4.65 MB │ 5.92 MB │ 5.96 MB │ 5.79 MB │ 382 kB │ 4.65 MB │
└───────────┴─────────┴─────────┴─────────┴─────────┴─────────┴─────────┴─────────┘Req/Bytes counts sampled once per second.
556k requests in 10.01s, 57.9 MB read
```### Node 16
```
Running 10s test @ http://localhost:3000/
10 connections┌─────────┬──────┬──────┬───────┬──────┬─────────┬─────────┬──────┐
│ Stat │ 2.5% │ 50% │ 97.5% │ 99% │ Avg │ Stdev │ Max │
├─────────┼──────┼──────┼───────┼──────┼─────────┼─────────┼──────┤
│ Latency │ 0 ms │ 0 ms │ 0 ms │ 0 ms │ 0.01 ms │ 0.06 ms │ 9 ms │
└─────────┴──────┴──────┴───────┴──────┴─────────┴─────────┴──────┘
┌───────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┐
│ Stat │ 1% │ 2.5% │ 50% │ 97.5% │ Avg │ Stdev │ Min │
├───────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┤
│ Req/Sec │ 39519 │ 39519 │ 51103 │ 51359 │ 49811.2 │ 3453.91 │ 39492 │
├───────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┤
│ Bytes/Sec │ 5.02 MB │ 5.02 MB │ 6.49 MB │ 6.52 MB │ 6.33 MB │ 439 kB │ 5.02 MB │
└───────────┴─────────┴─────────┴─────────┴─────────┴─────────┴─────────┴─────────┘Req/Bytes counts sampled once per second.
498k requests in 10.01s, 63.3 MB read
```## Express http server
`NODE_ENV=production node server.js`
`autocannon http://localhost:3000`### Node 12
```
Running 10s test @ http://localhost:3000/
10 connections┌─────────┬──────┬──────┬───────┬──────┬─────────┬─────────┬───────┐
│ Stat │ 2.5% │ 50% │ 97.5% │ 99% │ Avg │ Stdev │ Max │
├─────────┼──────┼──────┼───────┼──────┼─────────┼─────────┼───────┤
│ Latency │ 0 ms │ 0 ms │ 0 ms │ 1 ms │ 0.02 ms │ 0.16 ms │ 12 ms │
└─────────┴──────┴──────┴───────┴──────┴─────────┴─────────┴───────┘
┌───────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┐
│ Stat │ 1% │ 2.5% │ 50% │ 97.5% │ Avg │ Stdev │ Min │
├───────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┤
│ Req/Sec │ 14943 │ 14943 │ 23247 │ 23343 │ 22221.2 │ 2457.11 │ 14941 │
├───────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┤
│ Bytes/Sec │ 3.42 MB │ 3.42 MB │ 5.32 MB │ 5.35 MB │ 5.09 MB │ 563 kB │ 3.42 MB │
└───────────┴─────────┴─────────┴─────────┴─────────┴─────────┴─────────┴─────────┘Req/Bytes counts sampled once per second.
222k requests in 10.01s, 50.9 MB read
```### Node 16
```
Running 10s test @ http://localhost:3000/
10 connections┌─────────┬──────┬──────┬───────┬──────┬─────────┬─────────┬───────┐
│ Stat │ 2.5% │ 50% │ 97.5% │ 99% │ Avg │ Stdev │ Max │
├─────────┼──────┼──────┼───────┼──────┼─────────┼─────────┼───────┤
│ Latency │ 0 ms │ 0 ms │ 2 ms │ 2 ms │ 0.14 ms │ 0.44 ms │ 10 ms │
└─────────┴──────┴──────┴───────┴──────┴─────────┴─────────┴───────┘
┌───────────┬─────────┬─────────┬─────────┬─────────┬──────────┬─────────┬─────────┐
│ Stat │ 1% │ 2.5% │ 50% │ 97.5% │ Avg │ Stdev │ Min │
├───────────┼─────────┼─────────┼─────────┼─────────┼──────────┼─────────┼─────────┤
│ Req/Sec │ 6451 │ 6451 │ 10927 │ 11215 │ 10517.28 │ 1308.17 │ 6451 │
├───────────┼─────────┼─────────┼─────────┼─────────┼──────────┼─────────┼─────────┤
│ Bytes/Sec │ 1.63 MB │ 1.63 MB │ 2.75 MB │ 2.83 MB │ 2.65 MB │ 329 kB │ 1.63 MB │
└───────────┴─────────┴─────────┴─────────┴─────────┴──────────┴─────────┴─────────┘Req/Bytes counts sampled once per second.
116k requests in 11.01s, 29.2 MB read
```## Express fetching an small object from mongodb
`NODE_ENV=production node server.js`
### Node 12
```
Running 10s test @ http://localhost:3000/small
10 connections┌─────────┬──────┬──────┬───────┬──────┬─────────┬─────────┬───────┐
│ Stat │ 2.5% │ 50% │ 97.5% │ 99% │ Avg │ Stdev │ Max │
├─────────┼──────┼──────┼───────┼──────┼─────────┼─────────┼───────┤
│ Latency │ 0 ms │ 1 ms │ 2 ms │ 3 ms │ 1.04 ms │ 0.55 ms │ 20 ms │
└─────────┴──────┴──────┴───────┴──────┴─────────┴─────────┴───────┘
┌───────────┬─────────┬─────────┬────────┬─────────┬─────────┬─────────┬─────────┐
│ Stat │ 1% │ 2.5% │ 50% │ 97.5% │ Avg │ Stdev │ Min │
├───────────┼─────────┼─────────┼────────┼─────────┼─────────┼─────────┼─────────┤
│ Req/Sec │ 3721 │ 3721 │ 7579 │ 8083 │ 6821.55 │ 1297.19 │ 3721 │
├───────────┼─────────┼─────────┼────────┼─────────┼─────────┼─────────┼─────────┤
│ Bytes/Sec │ 1.03 MB │ 1.03 MB │ 2.1 MB │ 2.24 MB │ 1.89 MB │ 359 kB │ 1.03 MB │
└───────────┴─────────┴─────────┴────────┴─────────┴─────────┴─────────┴─────────┘Req/Bytes counts sampled once per second.
75k requests in 11.01s, 20.8 MB read
```### Node 16
```
Running 10s test @ http://localhost:3000/small
10 connections┌─────────┬──────┬──────┬───────┬──────┬─────────┬─────────┬───────┐
│ Stat │ 2.5% │ 50% │ 97.5% │ 99% │ Avg │ Stdev │ Max │
├─────────┼──────┼──────┼───────┼──────┼─────────┼─────────┼───────┤
│ Latency │ 1 ms │ 2 ms │ 4 ms │ 4 ms │ 1.79 ms │ 0.85 ms │ 30 ms │
└─────────┴──────┴──────┴───────┴──────┴─────────┴─────────┴───────┘
┌───────────┬────────┬────────┬─────────┬─────────┬─────────┬────────┬────────┐
│ Stat │ 1% │ 2.5% │ 50% │ 97.5% │ Avg │ Stdev │ Min │
├───────────┼────────┼────────┼─────────┼─────────┼─────────┼────────┼────────┤
│ Req/Sec │ 2453 │ 2453 │ 4731 │ 5075 │ 4493.28 │ 703 │ 2452 │
├───────────┼────────┼────────┼─────────┼─────────┼─────────┼────────┼────────┤
│ Bytes/Sec │ 736 kB │ 736 kB │ 1.42 MB │ 1.52 MB │ 1.35 MB │ 211 kB │ 736 kB │
└───────────┴────────┴────────┴─────────┴─────────┴─────────┴────────┴────────┘Req/Bytes counts sampled once per second.
49k requests in 11.01s, 14.8 MB read
```## Express fetching a medium object from mongodb
`NODE_ENV=production node server.js`
### node 12
```
Running 10s test @ http://localhost:3000/medium
10 connections┌─────────┬──────┬──────┬───────┬──────┬─────────┬─────────┬───────┐
│ Stat │ 2.5% │ 50% │ 97.5% │ 99% │ Avg │ Stdev │ Max │
├─────────┼──────┼──────┼───────┼──────┼─────────┼─────────┼───────┤
│ Latency │ 0 ms │ 1 ms │ 2 ms │ 4 ms │ 1.06 ms │ 0.64 ms │ 26 ms │
└─────────┴──────┴──────┴───────┴──────┴─────────┴─────────┴───────┘
┌───────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┐
│ Stat │ 1% │ 2.5% │ 50% │ 97.5% │ Avg │ Stdev │ Min │
├───────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┤
│ Req/Sec │ 3021 │ 3021 │ 7167 │ 7499 │ 6649.9 │ 1328.92 │ 3020 │
├───────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┤
│ Bytes/Sec │ 3.73 MB │ 3.73 MB │ 8.85 MB │ 9.26 MB │ 8.21 MB │ 1.64 MB │ 3.73 MB │
└───────────┴─────────┴─────────┴─────────┴─────────┴─────────┴─────────┴─────────┘Req/Bytes counts sampled once per second.
67k requests in 10.01s, 82.1 MB read
```### node 16
```
Running 10s test @ http://localhost:3000/medium
10 connections┌─────────┬──────┬──────┬───────┬──────┬─────────┬─────────┬───────┐
│ Stat │ 2.5% │ 50% │ 97.5% │ 99% │ Avg │ Stdev │ Max │
├─────────┼──────┼──────┼───────┼──────┼─────────┼─────────┼───────┤
│ Latency │ 1 ms │ 2 ms │ 4 ms │ 5 ms │ 2.05 ms │ 0.85 ms │ 30 ms │
└─────────┴──────┴──────┴───────┴──────┴─────────┴─────────┴───────┘
┌───────────┬────────┬────────┬─────────┬─────────┬─────────┬────────┬────────┐
│ Stat │ 1% │ 2.5% │ 50% │ 97.5% │ Avg │ Stdev │ Min │
├───────────┼────────┼────────┼─────────┼─────────┼─────────┼────────┼────────┤
│ Req/Sec │ 2225 │ 2225 │ 4223 │ 4383 │ 3981.73 │ 602.54 │ 2225 │
├───────────┼────────┼────────┼─────────┼─────────┼─────────┼────────┼────────┤
│ Bytes/Sec │ 2.8 MB │ 2.8 MB │ 5.31 MB │ 5.51 MB │ 5 MB │ 758 kB │ 2.8 MB │
└───────────┴────────┴────────┴─────────┴─────────┴─────────┴────────┴────────┘Req/Bytes counts sampled once per second.
44k requests in 11.01s, 55 MB read
```