AMD Ryzen 5950x and Node.js workers = 2M RPS

12 points by js4ever ↗ HN
I've just received my new computer based on Ryzen 5950x, it's a real Beast!

One of the first thing I did was to benchmark it with my favorite language, Node.js :)

I've made all the tests below with WRK as the client

for the server part I used Cloudgate which is an open source multi-threaded Node.js application server, more details here: https://github.com/elestio/cloudgate

My benchmark results:

---------------------

Single thread test:

> wrk -t1 -c256 --latency http://127.0.0.1:3000/cloudgate/debug/raw

Running 10s test @ http://127.0.0.1:3000/cloudgate/debug/raw

1 threads and 256 connections

Thread Stats Avg Stdev Max +/- Stdev

Latency 1.03ms 464.75us 4.59ms 53.66%

Req/Sec 123.98k 6.97k 131.51k 74.00%

Requests/sec: 123391.18

Transfer/sec: 6.00MB

---------------------

High concurrency:

> wrk -t16 -c1024 --latency http://127.0.0.1:3000/cloudgate/debug/raw

Running 10s test @ http://127.0.0.1:3000/cloudgate/debug/raw

16 threads and 1024 connections

Thread Stats Avg Stdev Max +/- Stdev

Latency 1.61ms 3.37ms 57.94ms 89.52%

Req/Sec 128.50k 24.87k 160.21k 81.75%

Requests/sec: 2038979.20

Transfer/sec: 99.17MB

---------------------

Execute Node.js function 1 (simple calculation + string manipulation)

> wrk -t16 -c256 --latency http://127.0.0.1:3000/tests/simple

Running 10s test @ http://127.0.0.1:3000/tests/simple

16 threads and 256 connections

Thread Stats Avg Stdev Max +/- Stdev

Latency 799.45us 0.98ms 36.20ms 94.11%

Req/Sec 23.18k 3.32k 64.08k 91.03%

Requests/sec: 366835.61

Transfer/sec: 192.06MB

8 comments

[ 3.0 ms ] story [ 30.4 ms ] thread
Would you run the elastic search benchmarks and report numbers ?
Do you have a Script?
If you want to run the benchmark on your own hardware:

Install cloudgate:

wget -O - https://cloudgate.terasp.net/CDN/cloudgate.sh | bash

Create a sample project based on a template:

cloudgate --create /tmp/myproj

then type 0 to create a project based on "CatchAll" sample

Finally start cloudgate on your new project path:

cloudgate -r /tmp/myproj

Then you can run the same wrk commands above in my original post

Can you specify what RAM you are using, how many RAM slots are populated, and what it's speed is?
Are you referring to this? https://elasticsearch-benchmarks.elastic.co/

If yes all the tests are based on search queries ... And this is a web application server, so that would be an apple to orange comparison. But I'm planning to compete in the next round of techempower which compare web app servers :)

My bad I didn’t mean it as a comparable benchmark. Just a different benchmark that is interesting to me :)
your fav language, nodejs, i guess you mean javascript
Indeed, I meant javascript :p