Closed Bug 1875849 Opened 2 years ago Closed 2 years ago

Check if network.http.http2.enabled.deps=false hurts performance

Categories

(Core :: Networking: HTTP, defect, P2)

defect

Tracking

()

RESOLVED WORKSFORME

People

(Reporter: twisniewski, Unassigned)

References

(Blocks 1 open bug)

Details

(Whiteboard: [necko-triaged][necko-priority-next])

Attachments

(1 file)

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.

Attached file openrice.pcapng

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 🙂

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.
Severity: -- → S3
Priority: -- → P1
Whiteboard: [necko-triaged][necko-priority-new]
  • 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.deps pref 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.
Flags: needinfo?(acreskey)
Priority: P1 → P2
Whiteboard: [necko-triaged][necko-priority-new] → [necko-triaged][necko-priority-review]

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

(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.deps pref 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.

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.

Flags: needinfo?(acreskey)
See Also: → 1865040

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.

Blocks: necko-perf
Summary: NS_ERROR_NET_RESET when trying to visit https://www.openrice.com/ → Check if network.http.http2.enabled.deps=false hurts performance
Whiteboard: [necko-triaged][necko-priority-review] → [necko-triaged][necko-priority-next]

We already set the pref off in bug 1865040

Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → WORKSFORME
See Also: → 1918458
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: