Horrible Benchmarks.



  • With latest master, and with a clean setup ( redis ).

    Threads: 12
    Concurrency: 100
    Duration: 10

    wrk -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?


  • Global Moderator

    @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



  • @faianca with the same parameters as you I get 5.5 rq/s (single thread, forum is under load).
    However, benchmarks do not mean shit.

    I serve over 2000 concurrent connections on that site.



  • @AOKP

    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.


Log in to reply
 

Looks like your connection to NodeBB was lost, please wait while we try to reconnect.