Looking at the waterfall and the TCP Dump, it looks like the http requests are issued to WinInet around the same time but the DNS lookups are serialized and it doesn’t process any of the connections until the sequence of DNS lookups completes (which is why the http requests look like they go out on the wire at the same time). It’s actually something I’ve seen before with IE8.
The sequential DNS lookups is not typical for IE8. In other words, it certainly does not always happen in IE8, but apparently sometimes it happens. Question is: what causes the lookups to happen sequentially? You can see in the waterfall further down that other lookups actually take place in parallel…
Note: I believe DNS lookups do always happen sequentially in IE7.
one thing… in most of the examples for the sequential loads… the dns is fired out sequentially… but the all those requests start downloading at around the same time… i.e. the green in the waterfall starts together.
IE initiates the requests for a bunch of files (here: 9)
The first step is DNS lookup (here: 2 at a time)
The second step is setting up the connection.
The third step starts with the actual (GET) request going out, and IE wants to send out these requests all at the same time. In other words, the ‘green’ for object 1 needs to wait for the ‘orange’ of all other objects to finish.
Certainly looks like some low-hanging fruit for the IE team to improve the browser performance though. I should have some experimental chrome support within the next week or so and it will be interesting to see how it compares.