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