Issue metadata
Sign in to add a comment
|
Google Canary Server Push not working
Reported by
umur...@gmail.com,
Apr 10 2017
|
||||||||||||||||||||||||
Issue descriptionUserAgent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133 Safari/537.36 Example URL: Steps to reproduce the problem: 1. Open Google Chrome Canary latest official build 2. Open Developer Tools 3. Go to https://http2.golang.org/gophertiles?latency=0 What is the expected behavior? What went wrong? There is a server push issue, tried own examples and one from golang on https://http2.golang.org/gophertiles?latency=0. Same TCP connection, no server push. Worked days ago and still works on Google Chrome 57.0.2987.133. Did this work before? N/A Chrome version: 59.0.3067.0 Channel: stable OS Version: OS X 10.12.4 Flash Version:
,
Apr 10 2017
,
Apr 10 2017
Yes, it should be HTTP/2. I have attached net-internals/export Let me know if you need anything else.
,
Apr 10 2017
Thank you for providing more feedback. Adding requester "mmenke@chromium.org" to the cc list and removing "Needs-Feedback" label. For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
,
Apr 11 2017
,
Apr 11 2017
,
Apr 13 2017
The net-internals log does not contain any HTTP2_SESSION_RECV_PUSH_PROMISE events, meaning that Chrome did not receive any PUSH_PROMISE frames. Is it a server configuration issue? Do you have access to server-side debug logs to check if any PUSH_PROMISE frames were actually sent?
,
Apr 17 2017
You are right, it is not a Server Push Event, but actually the requests has to be sent asynchronously. It is not my server, as you can see, it is an example of Brad Fitzpatrick from Google Golang. I've attached an image, which was taken from a Chrome 57.0.2987.133. The images are loaded asynchronously, in which the screenshot of Chrome 59.0.3067.0 looks more like it is always building 6 TCP connections, which results in much slower loading process.
,
Apr 17 2017
Thank you for providing more feedback. Adding requester "bnc@chromium.org" to the cc list and removing "Needs-Feedback" label. For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
,
Apr 17 2017
Re #8: Thank you for your response. Requests are held back by ResourceScheduler, but they should not be. cc'ing relevant folks.
In net-internals, there is only one HTTP2_SESSION. However, requests seem to be sent in bursts of six at a time. The last HTTP2_SESSION_SEND_HEADERS event is for stream 3261, and has source_dependency 12093. That is an HTTP_STREAM_JOB, with source_dependency 12092: an HTTP_STREAM_JOB_CONTROLLER, with source_depencendy 11591: a URL_REQUEST, which shows that the request has been delayed by more than four and a half seconds:
t= 352 [st= 0] +DELEGATE_INFO [dt=4633]
--> delegate_blocked_by = "ResourceScheduler"
t=4984 [st=4632] RESOURCE_SCHEDULER_REQUEST_STARTED
--> trigger = "COMPLETION_POST_BODY"
t=4985 [st=4633] -DELEGATE_INFO
RESOURCE_SCHEDULER_REQUEST_STARTED is logged in content::ResourceScheduler::Client::StartRequest(). So ResourceScheduler is the one holding back requests, though it really should not over an HTTP/2 connection.
,
Apr 17 2017
That being said, I am not able to locally reproduce it with my 59.0.3067.0 (Official Build) dev (64-bit).
,
Apr 17 2017
+jkarlin made H2 requests throttled as well for performance reasons so this is expected behavior afaik.
,
Apr 19 2017
Can't explain why it is not reproducible for you. Still facing the problem.
,
Apr 19 2017
Correct, this is expected behavior. Throttling in the manner above results in pages reaching time-to-first-contentful-paint and time-to-first-meaningful-paint considerably faster.
,
Apr 19 2017
Still, it does not explain why I have two completely different results in two different Chrome versions. Anyway,...
,
Apr 19 2017
Ah, that's because the feature is just being launched. It's starting in canary but hasn't made its way to stable yet. |
|||||||||||||||||||||||||
►
Sign in to add a comment |
|||||||||||||||||||||||||
Comment 1 by mmenke@chromium.org
, Apr 10 2017