Today I take a break from bashing my head against pipelining to take a closer look at Speed Tracer. Speed Tracer is a nice little Chrome extension for visualizing rendering and networking events.
<head>section of a web page first. Maybe that makes sense.
But what happens next is even stranger. Chrome sends out 10 requests at the same time. As far as I know, Chrome does not use pipelining and has a maximum of 6 interweb tubes on which to request concurrent resources. But, according to Speed Tracer, Chrome is requesting 10+ images at the same time.
Stranger still, the first 2 images come back relatively quickly while the others take progressively longer:
The light blue on the left side of the request is how long it takes the request to be sent and the time waiting for the response to start coming back. All requests in this diagram are at least 100ms because there is a 100ms round trip time between the client and server. The response itself takes a while because the image is largish (10kb) and the interweb tube being used is not warm.
After those first two requests then the next 6 requests come back a while later. All 6 return at nearly the same time. Six. As in the number of tubes being used by modern browsers.
The next 6 images are being requested at almost the same time. But wait a second... Speed Tracer told me that all 10+ images were being requested at the same time. Wireshark, which I definitely believe, is telling me that only 6 images are requested and then nothing happens other than data responses.
What the hell, Speed Tracer… What the hell?
Scrolling down a bit, once the first 6 images are sent back, only then does Chrome start the next requests:
So Chrome is definitely not pipelining. All images are requested on separated interweb tubes. There are six tubes. Just like I expected.
So Speed Tracer is lying. Great.
Even better, I notice the following request going out before the initial request for the web resource:
What the heck is a
/symbolmanifest? I certainly did not put that in my sample application.
Bah! Bad form Speed Tracer. Bad form.
I'll open an issue on the Speed Trace tracker about this. In the meantime, it seems I need another tool to help with SPDY Book.