gab in waterfall results

Hello All,
I noticed a gap in between a request and am NOT sure what it means.
I’ve attached an image.

[attachment=121]

Thanks.

Regards,
TRX

Look down at the CPU utilization. Does it spike up right around there? Usually gaps like that are caused by javascript execution (and looking at the size of the gap, painfully slow javascript). Best bet is usually to run a test from one of the dynatrace browsers in Dulles and see if you can reproduce it there (or to use dynatrace manually to track it down). It will usually identify the code really quickly.

Feel free to ping me off-forum if you need a hand with it (pmeenan@webpagetest.org).

Actually in this is case I think it has a different reason.
I assume the screenshot was taken from this waterfall:

http://www.webpagetest.org/result/110718_XS_12ZXJ/1/details/

The download of the >1 MByte JS file, 20th request, seems to be blocking. In the connection view below the waterfall it is much better visible.

Thanks for both of your feed-backs. I know that js can block parallel downloads at the times, but in what cases does it block some and NOT others? Or how would I know if a js is going to prevent other downloads?

Unless you actively work to make something async, assume javascript will block everything. On IE7 that page will be MUCH worse. Newer browsers will pre-fetch other resources but no browser can actually execute code below external javascript files until the file has been downloaded and executed (and it can’t do the layout or actually build the DOM for anything below it either). Anything that is done dynamically is guaranteed to not start until after the javascript has been executed.

Thanks. Pmeenan, when you say “…run a test from one of the dynatrace browsers in Dulles…”, where do I run this test? I don’t see the feature on webpagetest.org.

Let me know.

Thanks.

Regards,
TRX

Sorry, if you select the Dulles, VA location then look in the browser dropdown there are 2 browser configurations with (dynatrace) in them.

So for the request #20, it seems to blocking the request #71. If I understand this correctly, there are 7 parallel connections, and the #3 which is downloading/executing #20 js request is blocking the #71 request download, correct? Looking at connection #3, I don’t see the #20 request js file. How would I determine from the connection view what files the #20 js download request is blocking?

Thanks in advance.

TRX

If you test using Chrome we get some information about what triggered resources to load (in the request details there is a “loaded by” entry). I don’t have it mapped the other way yet that tells you what resources were loaded because of a specific file.

That would only tell you what directly loaded something though. Javascript in a page needs to be loaded and executed before the browser can do anything with content that comes after it in the HTML (browser can’t build the DOM or execute any code further in the page). A lot of current browsers will still predictively fetc content that comes later in the page but all non-async javascript block actual execution.

Thanks.