g-wan - reproducing the performance claims
- by user2603628
Using gwan_linux64-bit.tar.bz2 under Ubuntu 12.04 LTS unpacking and running gwan
then pointing wrk at it (using a null file null.html)
wrk --timeout 10 -t 2 -c 100 -d20s http://127.0.0.1:8080/null.html
Running 20s test @ http://127.0.0.1:8080/null.html
  2 threads and 100 connections
    Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency    11.65s     5.10s   13.89s    83.91%
    Req/Sec     3.33k     3.65k   12.33k    75.19%
  125067 requests in 20.01s, 32.08MB read
  Socket errors: connect 0, read 37, write 0, timeout 49
Requests/sec:   6251.46
Transfer/sec:      1.60MB
.. very poor performance, in fact there seems to be some kind of huge latency issue.
During the test gwan is 200% busy and wrk is 67% busy.
Pointing at nginx, wrk is 200% busy and nginx is 45% busy:
wrk --timeout 10 -t 2 -c 100 -d20s http://127.0.0.1/null.html
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency   371.81us  134.05us  24.04ms   91.26%
    Req/Sec    72.75k     7.38k  109.22k    68.21%
  2740883 requests in 20.00s, 540.95MB read
Requests/sec: 137046.70
Transfer/sec:     27.05MB
Pointing weighttpd at nginx gives even faster results:
/usr/local/bin/weighttp -k -n 2000000 -c 500 -t 3 http://127.0.0.1/null.html
weighttp - a lightweight and simple webserver benchmarking tool
starting benchmark...
spawning thread #1: 167 concurrent requests, 666667 total requests
spawning thread #2: 167 concurrent requests, 666667 total requests
spawning thread #3: 166 concurrent requests, 666666 total requests
progress:   9% done
progress:  19% done
progress:  29% done
progress:  39% done
progress:  49% done
progress:  59% done
progress:  69% done
progress:  79% done
progress:  89% done
progress:  99% done
finished in 7 sec, 13 millisec and 293 microsec, 285172 req/s, 57633 kbyte/s
requests: 2000000 total, 2000000 started, 2000000 done, 2000000 succeeded, 0 failed, 0 errored
status codes: 2000000 2xx, 0 3xx, 0 4xx, 0 5xx
traffic: 413901205 bytes total, 413901205 bytes http, 0 bytes data
The server is a virtual 8 core dedicated server (bare metal), under KVM
Where do I start looking to identify the problem gwan is having on this platform ?
I have tested lighttpd, nginx and node.js on this same OS, and the results are all as one would expect. The server has been tuned in the usual way with expanded ephemeral ports, increased ulimits, adjusted time wait recycling etc.