HTTP-соединения Firefox тратят много времени на этап блокировки - PullRequest
2 голосов
/ 02 ноября 2010

Мое приложение выполняет много последовательных вызовов XHR.Это означает установление большого количества HTTP-соединений.

Я пытаюсь проанализировать производительность всех этих соединений.Я обнаружил, что первое HTTP-соединение тратит около 10% своей длительности на Блокировка (следующее определение цитируется из Firebug Wiki ):

Блокировка - Время, проведенное в очереди браузера в ожидании сетевого подключения (ранее называвшегося Очередь).Для соединений SSL это включает SSL Handshake и шаг проверки OCSP.

При последовательных вызовах время, затрачиваемое на блокировку, увеличивается, и после примерно 10 вызовов блокировка остается стабильной в среднем~ 120MS (!!!).

Я пытался измерить HTTP-соединения аналогично в Chrome с DevTools и в IE с Fiddler, и хотя они не используют одинаковые этапы / имена дляна разных этапах HTTP-соединения ни один из них не показывает признаков чрезмерного количества времени, затрачиваемого на блокировку, что делает Firefox.

Я могу исключить, что это отсутствие доступных (постоянных) HTTP-соединений.Поскольку вызовы XHR выполняются синхронно.

Кто-нибудь знаком с этим поведением Firefox?При необходимости я могу показать вывод Firebug Net Panel.

1 Ответ

3 голосов
/ 02 ноября 2010

Firefox имеет ограничение только на количество активных соединений HTTP (S) в любой момент времени. Это контролируется предпочтением network.http.max-connections-per-server (требуется перезапуск после изменения). Я сильно подозреваю, что вы достигаете этого предела.

...