? my $note = $main::context->{note}; ? my $ctx = $main::context; ? $_mt->wrapper_file("wrapper.mt", "Benchmarks")->(sub {

Download Timings

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%(q{Velocity and the Bottom Line - O'Reilly Radar}) ?>.

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 typical for today's mobile networks(q{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, and sysctl -w net.ipv4.tcp_no_metrics_save=1.}) ?>.

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.

Static-File Serving

Below chart shows the scores recorded on Amazon EC2 running two c3.8xlarge instances (server and client) on a single network placement, serving a 612-byte file(q{Configuration files used: nginx.conf, h2o.conf.}) ?>. For each measurement, 250 concurrent clients were used(q{Wrk was used for HTTP/1 tests. h2load was used for HTTP/2.}) ?>. open_file_cache was used for Nginx. H2O implements a open-file-cache that gets updated immediately when the files are replaced.

Reverse Proxy

Presented below is an old chart showing the scores recorded on Amazon EC2 running two c3.8xlarge instances (server and client) on a single network placement("For reverse-proxy tests, another H2O process running on the same host was used as the upstream server") ?>("open-file-cache was not used in the static-file benchmark") ?>.

? })