Horrible Benchmarks.
-
With latest master, and with a clean setup ( redis ).
Threads: 12
Concurrency: 100
Duration: 10wrk -t12 -c100 -d10s http://localhost:4567/ Running 10s test @ http://localhost:4567/ 12 threads and 100 connections Thread Stats Avg Stdev Max +/- Stdev Latency 1.13s 300.92ms 1.42s 91.79% Req/Sec 9.60 8.75 50.00 86.56% 792 requests in 10.02s, 14.28MB read Non-2xx or 3xx responses: 66 Requests/sec: 79.05 Transfer/sec: 1.43MB
Only 9 requests per second? looks really very bad.
I'm having even more worst results in our "production" environment.
Do you guys use some kind of settings? or are you having better results?
-
@faianca are you reverse proxied through nginx with multiple nodebb threads?
-
@PitaJ no, with a simple ./nodebb start
But even tho, 9 req per second with just 100 concurrency seem pretty odd, what results are u having on a fresh nodebb setup?
Even with reverse nginx proxy ( no cache allowed ).Now with nginx:
Benchmark result
wrk -t12 -c100 -d10s http://nodebb.dev Running 10s test @ http://nodebb.dev 12 threads and 100 connections Thread Stats Avg Stdev Max +/- Stdev Latency 1.11s 420.12ms 1.56s 81.53% Req/Sec 11.11 10.52 60.00 91.09% 823 requests in 10.02s, 13.84MB read Non-2xx or 3xx responses: 139 Requests/sec: 82.16 Transfer/sec: 1.38MB
NodeBB config
{ "url": "http://localhost", "port": ["4567", "4568", "4569"], "secret": "thesupersecretwhichisnotasecret", "database": "redis", "redis": { "host": "127.0.0.1", "port": "6379", "password": "", "database": "1" } }
Nginx config:
upstream io_nodes { ip_hash; server 127.0.0.1:4567; server 127.0.0.1:4568; server 127.0.0.1:4569; } server { listen 80; server_name nodebb.dev; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_set_header X-NginX-Proxy true; proxy_redirect off; # Socket.io Support proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; gzip on; gzip_min_length 1000; gzip_proxied off; gzip_types text/plain application/xml application/x-javascript text/css application/json; location @nodebb { proxy_pass http://io_nodes; } location ~ ^/(images|sounds|templates|uploads|vendor|src\/modules|nodebb\.min\.js|stylesheet\.css|admin\.css) { root /var/www/NodeBB/public/; try_files $uri $uri/ @nodebb; } location / { proxy_pass http://io_nodes; } }
Would be really nice if you guys could share your benchmarks, ( this is on homepage, with default setup ). no extra content
-
What is your nodebb version, redis version, are you running on the same host?
Would you be keen to provide some Page statistics and load times?Benchmarks really matters to us, i have been trying AR, wrt, Jmeter, and everything really looks a bit bad.
-
@faianca using the latest NodeBB version.
Redis 3.2.4
Avg. amount of connections (ss -s): ~2000
Avg. amount of people online (forum only): ~120
Avg. load time (without ads): <500ms
Avg. amount of pageviews (monthly): ~1.5 Mio.As you can see benchmarks do not mean a damn.
I run a dedicated server (self built) at the Illiad Group (France). The websites themselves are split into several smaller VMs by using KVM.Here the node specs:
+1GBits up/down
32GB DDR4 RAM
512GB RAID10 SSD
Intel Xeon E5-2680V4 (dedicated for this KVM)
Intel Xeon Phi 3120P (shared)If you want I can run a benchmark on my E7 machine. But I doubt it will change a lot.