views:

1398

answers:

3

I'm using Firebug 1.5.2 and while testing a site before production release i can see a huge amount of time consumed by 'Blocking' parts of the requests.

What exactly does the 'Blocking' mean?

+2  A: 

Blocking is a term used to describe an event that stops other events or code from processing (within the same thread).

For example if you use "blocking" sockets then code after the socket request has been made will not be processed until the request is complete (within the same thread).

Asynchronous activities (non blocking) would simply make the request and let other code run whilst the request happened in the background.

In your situation it basically means that certain parts of firebug / the browser cannot activate until other parts are complete. I.e. it is waiting for an image to download before downloading more.

Chris
+2  A: 

"Blocking" previously (earlier versions of FireBug) was called "Queuing". It actually means that request is sitting in queue waiting for available connection. As far as I know number of persistent connections by default is limited in last versions of Firefox to 6, IE8 also 6. Earlier it was only 2. It can be changed by user in browser settings.
Also as I know that while javascript file is loading, all other resources (css, images) are blocked

Maxym
A: 

As far as I know, two reasons cause components to cause blocking others from loading.

  1. Browser's enforced (but usually configurable) limit of how many parallel resources can be loaded from a particular host at a time.
  2. Inline javascript, which can cause the browser to wait and see if it at all needs to go ahead with downloading the rest of the components (just in case the javascript redirects or replaces the content of the page)
Sandip Bhattacharya