On 1/30/2018 7:41 PM, 龙红波 wrote:
>           h2load -n1000000 -c20 -m5 https://$0.172.144.113:1999/128
>           starting benchmark...
>           spawning thread #0: 20 total client(s). 1000000 total requests
>           TLS Protocol: TLSv1.2
>           Cipher: ECDHE-RSA-AES256-GCM-SHA384
>           Application protocol: h2
>           ......
> 
>           finished in 86.23s, 11596.77 req/s, 2.90MB/s

Are both the client and the server on the same LAN?  The usage of the
private IP address suggests that it is a LAN.  Also, the fact that you
are seeing more than 10000 requests per second suggests that it is a
LAN.  I don't think you'd see that rate from one source over the Internet.

I doubt HTTP/2 is going to really make much of a difference in a
low-latency network environment like a LAN, especially if it's gigabit
or faster.  Your numbers show it to be 15 percent slower, which is
really surprising.

Try the same thing from a remote location over the Internet, where
you've got real latency.  That is the kind of situation where HTTP/2
promises to really speed things up.

I found and built h2load from source (the master branch), then did a
test similar to yours over the Internet from a client on a DSL
connection to a system running haproxy 1.8.3 with http2 configured on
the frontend.  The backend is http/1.1.  Here are the h2load options I
used and the results of three consecutive tests.  The URL was https.

I did tests with three combinations of h2load parameters.  One with
http/1.1 and no pipelining, one with http/1.1 and pipelining
(keepalive), and one with http/2.

======================

--requests=500 --clients=5 --max-concurrent-streams=1
--npn-list=http/1.1 --no-tls-proto=http/1.1

finished in 19.47s, 25.67 req/s, 21.79KB/s
finished in 32.50s, 15.39 req/s, 13.06KB/s
finished in 47.48s, 10.53 req/s, 8.94KB/s

======================

--requests=500 --clients=5 --max-concurrent-streams=5
--npn-list=http/1.1 --no-tls-proto=http/1.1

finished in 9.92s, 50.41 req/s, 42.78KB/s
finished in 10.76s, 46.48 req/s, 39.45KB/s
finished in 9.90s, 50.49 req/s, 42.84KB/s

======================

--requests=500 --clients=5 --max-concurrent-streams=5

finished in 7.75s, 64.48 req/s, 50.33KB/s
finished in 8.07s, 61.99 req/s, 48.39KB/s
finished in 4.71s, 106.15 req/s, 82.85KB/s

======================

(I did try the short option names for h2load like you had, but it just
showed the help text, and didn't do the benchmark.  So then I tried
changing them to the long form and it started working.)

Thanks,
Shawn

Reply via email to