Firefox HTTP connections spend a lot of time on blocking phase
My application is performing a lot of consecutive XHR calls. This means establishing a lot of HTTP connections.
I'm trying to analyze the performance of all these connections. I found out that the first HTTP connection made spends about 10% of its duration on Blocking (following definition quoted from Firebug Wiki):
Blocking - Time spent in a browser queue waiting for a network connection (formerly called Queueing). For SSL connections this includes the SSL Handshake and the OCSP validation step.
In consecutive calls, the time spent on blocking increases, and after about 10 calls, the blocking holds steady at an average of ~120MS (!!!).
I've 开发者_如何学编程tried to measure the HTTP connections similarly in Chrome with the DevTools and in IE with Fiddler, and though they don't use the exact same stages/names for the different stages on an HTTP connection, neither shows signs of the inordinate amount of time spent on blocking that Firefox does.
I can exclude that it's a lack of available (persistent) HTTP connections. Since the XHR calls are done synchronously.
Anyone familiar with this Firefox behaviour? If necessary, I can show the Firebug Net Panel output.
Firefox only has a limit to the number of active HTTP(S) connections at any given time. This is controlled by the preference network.http.max-connections-per-server
(restart required after a change). I strongly suspect you are hitting this limit.
精彩评论