Подтвердить что ты не робот

Пробелы в диаграмме водопада FireBug

При тестировании производительности различных веб-страниц в моем веб-приложении я заметил, что в firebug есть некоторые пробелы в net tab (диаграмма водопада). В некоторых случаях это может занять половину времени для всего запроса.

Что обычно вызывает эти пробелы и как их можно удалить?

enter image description here

4b9b3361

Ответ 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 или отложенную загрузку. Они могут быть загружены очень скоро после загрузки страницы, но не сразу, что приведет к пробелам на вашей временной шкале.

Надеюсь, что это поможет.