While looking at recent WebPageTest results I noticed something odd about them. The ordering of HTTP/2 requests weren’t happening in the way I expected, which eventually led me to reach out to Patrick Meenan. He pointed me at two Chromium related items:
– Delaying dispatch of low priority on congested networks
– Issue 836552: Experiment with delaying low priority requests to H2 servers
The long and short of it is: even with HTTP/2 Chrome will limit the number of inflight requests to 10 on slow connections.
For those of you who are testing HTTP/2 priorities ( and here ) with anything slower than “3G Fast” on WebPageTest, you are likely running into this. You’ll need to bump the network option to “3G Fast” in order to avoid the Chrome request throttling when running those types of tests.
Here are a few examples. First, a priority test under “3G Slow”, where you can see the throttling in action:
That is the newer behavior in Chrome.
Next, a priority test using “3G Fast”, you can see all the requests fired off right away:
This is likely what you’d be used to seeing.
I’ve come to expect changes in browsers ( especially Chrome ) to have significant impacts on tests where I’m looking at trending data. If you see something strange pop up, check the Chrome versions, then see if a change in that release could be the cause.
Chrome has an estimated release schedule that you might want to keep in mind.