Пробелы в диаграмме водопада FireBug
При тестировании производительности различных веб-страниц в моем веб-приложении я заметил, что в firebug есть некоторые пробелы в net tab (диаграмма водопада). В некоторых случаях это может занять половину времени для всего запроса.
Что обычно вызывает эти пробелы и как их можно удалить?
![enter image description here]()
Ответы
Ответ 1
Основная причина этого - файлы, загружаемые скриптами и файлами CSS.
-
Например: CSS, фоновые изображения не будут загружаться до небольшой задержки после загрузки файла CSS, который ссылается на них.
-
Многие библиотеки JS также загружают изображения, CSS и/или другие файлы. Эти нагрузки не будут запускаться до загрузки JS, плюс небольшая задержка обработки.
-
Библиотеки или встроенные JS также могут отключать нагрузки в событии DOMContentLoaded
(фиолетовая линия) или событие load
(красная линия).
-
Наконец, очевидно, что JS может выполнять AJAX, который запускается после любого способа задержки/интервалов.
Ответ 2
Ян Одварко, который работал над Firebug, сам объясняет это:
http://www.softwareishard.com/blog/firebug/firebug-net-panel-timings/
Он упоминает пробелы в комментарии # 18:
"Эти пробелы представляют собой время, когда запросы не выполнялись, это может быть, например, из-за выполнения javascript на странице, что блокирует загрузку страницы или рендеринг страницы, разрешение CSS и т.д."
Ответ 3
Наиболее очевидная причина, по которой я могу думать (кроме ошибки в Firebug), состоит в том, что вы включили фильтр, чтобы показывать только подмножество запросов. Например, вы можете показывать только файлы Javascript и т.д.
Ваш скриншот не включает фильтры или имена файлов, поэтому я не могу это точно сказать, но это похоже на самый очевидный ответ.
Непосредственно над панелью на скриншоте находится блок фильтров. Убедитесь, что у вас есть опция "Все". Если у вас есть что-то еще, то следует ожидать пробелов.
Другая причина может заключаться в том, что некоторые элементы страницы извлекаются отдельно от начальной загрузки, например, через Ajax или отложенную загрузку. Они могут быть загружены очень скоро после загрузки страницы, но не сразу, что приведет к пробелам на вашей временной шкале.
Надеюсь, что это поможет.