Benchmarks
Download Timings Benchmark
Providing quick response to user is more important than anything else in web performance tuning. According to a research conducted by Microsoft, 500msec slowdown in Bing causes their revenue go down by 1.2%1.
The chart below compares the first-paint times and download completion times of different web browsers / HTTP servers on a simulated network of 8Mbps bandwidth with 100ms latency, which is typcial for today's mobile networks2.
It is clear in the case of this benchmark that the visitors of the web site would be more satisfied, if H2O was used as the HTTP server.
Remote Benchmark
Below chart shows the scores recorded on Amazon EC2 running two c3.8xlarge instances (server and client) on a single network placement3.
Local Benchmarks
The scores (requests/second.core) were recorded on Ubuntu 14.04 (x86-64) / VMware Fusion 7.1.0 / OS X 10.9.5 / MacBook Pro 15" Early 2013.
Server \ size of content | 6 bytes | 4,096 bytes |
---|---|---|
h2o/0.9.0 | 75,483 | 59,673 |
nginx/1.7.9 | 37,289 | 43,988 |
Server \ size of content | 6 bytes | 4,096 bytes |
---|---|---|
h2o/0.9.0 | 272,300 | 116,022 |
tiny-nghttpd (nghttpd@ab1dd11) | 198,018 | 93,868 |
trusterd@cff8e15 | 167,306 | 67,600 |
Notes:
- Velocity and the Bottom Line - O'Reilly Radar
- a fork of http2rulez.com was used as the target website; bandwidth and latency were induced to local network using qdisc, specifically by running
tc qdisc replace dev eth1 root handle 1:0 tbf rate 8192kbit burst 2048 latency 100ms; sudo tc qdisc add dev eth1 parent 1:1 netem delay 100ms
, andsysctl -w net.ipv4.tcp_no_metrics_save=1
. - for reverse-proxy tests, another H2O process running on the same host was used as the upstream server
- used command:
wrk -c 500 -d 30 -t 1
; configuration file of nginx is here - used command:
h2load -c 500 -m 100 -n 2000000
; configuration file of h2o is here