Join GitHub today
GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.Sign up
x/net/http2: steady performance degeneration seen with HTTP/2 over recent releases #25117
Hello, I work on the full text search engine at couchbase, and we recently moved our scatter gather protocol to use x/net/http2 instead of net/http.
The go version we currently use is go-1.9.3.
In some testing in house .. I've noticed the query throughput over a full text index take a nose dive as I upgraded the x/net release version used. (These numbers are over a system that runs on centos7)
This is how the scatter-gather client is set up in our code using x/net/http2's transport:
And here's how the server is setup, which also uses the x/net/netutil to set up a LimitListener:
I was wondering if there're any known issues around this area, or if there're any additional settings that I'd have to tune in the later branches of x/net.
I also tried writing up a simple server client benchmark unit test, based on your current tests to see if it'd point out anything obvious ..
And here're the results for the above benchmark test from my computer (on OSX 10.13.4):
So although I couldn't reproduce the issue accurately (with 1.6 as the anomaly here), there is some degeneration in time taken per op from 1.7 to master.
This is the go env output from my system:
I'd appreciate any pointers or advise regarding what I'm observing here ..
changed the title
x/net: Steady performance degeneration seen with HTTP/2 over recent releases
Apr 27, 2018
I was able to reproduce these
1.9 -> 1.10 is due to https://go-review.googlesource.com/71372. I don't yet have answers in the form of tips for improvement, sources of 1.7->1.8/1.8->1.9 slowdowns or if there are fixes we need.
However I just re-ran the test on master a bunch of times, and the number looks a bit different from what I reported earlier .. it seems to be a bit closer to 1.10, but with a certain dip in performance still..
I re-ran the test with the latest code from all the branches and here're the results. You're right I don't see a big dip between 1.10 and master. So what I saw earlier could've been an anomaly..
@abhinavdangeti If I'm reading those results correctly, you're also seeing a significant speedup from 1.6 to 1.7, where you previously saw a significant decline. Is that correct?
If so, it might be helpful to eliminate noise (including thermal effects!) on your test machine and see how significant the remaining effect is. (Note that