Check if network.http.http2.enabled.deps=false hurts performance
Categories
(Core :: Networking: HTTP, defect, P2)
Tracking
()
People
(Reporter: twisniewski, Unassigned)
References
(Blocks 1 open bug)
Details
(Whiteboard: [necko-triaged][necko-priority-next])
Attachments
(1 file)
|
26.73 KB,
application/x-pcapng
|
Details |
As reported at webcompat.com, Firefox cannot access https://www.openrice.com/, while other browsers can. I see NS_ERROR_NET_RESET appears in the network panel for the devtools.
Comment 1•2 years ago
•
|
||
I've captured the conversation to this website.
It seems the server connection is established, but then the server sends a GOAWAY frame with Error: ENHANCE_YOUR_CALM (11).
The error goes away when disabling HTTP2.
I think the error is the server's fault - we just need to prove it 🙂
Comment 2•2 years ago
|
||
It seems that setting network.http.http2.enabled.deps to false makes the bug go away.
That means the server is just confused by Firefox's prioritization/depenency scheme and sending back a GOAWAY.
Some next steps here would be:
- figuring out what networking stack the server is using
- determining if this can be solved on the server side or if the impact is large enough that it would warrant a change in our HTTP/2 priority scheme.
Comment 3•2 years ago
|
||
- Randell: We should see how often enhance your calm happens. I think we might have some telemetry for that already.
- Andrew: Can we do a perf experiment to see if disabling the
network.http.http2.enabled.depspref hurts performance? I expect the big servers are minding the pref. Simpler ones probably don't. Would the experiment actually be able to tell us if there's a regression? I'm thinking we should see how bug 1865040 impacts things too. - We should figure out what server the site is using.
Comment 4•2 years ago
|
||
Note that the site is currently working for me - it appears to be only using h1.1 at the moment.
It might be the proxy they're using that was causing the bug.
Server: nginx
X-Node: HKORWEB1
X-Frame-Options: sameorigin
Content-Security-Policy: frame-ancestors https://.openrice.com https://.openrice.com.cn
X-Cache-Status: Upstream from hkorrproxy1
X-Web-Version: v4
X-XSS-Protection: 1; mode=block
Comment 5•2 years ago
|
||
(In reply to Valentin Gosu [:valentin] (he/him) from comment #3)
- Andrew: Can we do a perf experiment to see if disabling the
network.http.http2.enabled.depspref hurts performance? I expect the big servers are minding the pref. Simpler ones probably don't. Would the experiment actually be able to tell us if there's a regression? I'm thinking we should see how bug 1865040 impacts things too.
I think it's a great opportunity to start looking at our prioritization systems.
Let's talk about an experiment in the wild on that flag because we've been having a hard time picking out signal from noise in telemetry experiments.
And in the meantime I'll see if network.http.http2.enabled.deps has any impact in the CI tests.
Comment 6•2 years ago
|
||
From a CI test, disabling network.http.http2.enabled.deps picked up an improvement in visual metrics on google-slides.
But this isn't a great environment to test network prioritization since there is no latency and unrealistic bandwidth.
Comment 7•2 years ago
|
||
https://www.openrice.com/ seems to work now, since they only serve http/1.1
Let's use this bug to see if our dependency tree is good/bad/neutral for perf.
Comment 8•2 years ago
|
||
We already set the pref off in bug 1865040
Description
•