Что означает время на шкале времени Google Chrome на сетевой панели?

83

Часто при устранении неполадок с производительностью с помощью сетевой панели Google Chrome я вижу разные моменты времени и часто задаюсь вопросом, что они означают.

Может ли кто-нибудь подтвердить, что я правильно понимаю это:

  1. Блокировка: время, заблокированное несколькими запросами браузера для одного и того же домена (???)
  2. Ожидание: Ожидание соединения с сервера (???)
  3. Отправка: время, затраченное на передачу файла с сервера в браузер (???)
  4. Получение: время, потраченное браузером на анализ и декодирование файла (???)
  5. Поиск DNS: время, потраченное на разрешение имени хоста.
  6. Подключение: время, затраченное на установление сокетного соединения.

Как теперь исправить долгое время блокировки?

Как теперь исправить долгое время ожидания?

Патрик Забыть
источник
Частичный дубликат: stackoverflow.com/questions/8795408/…
Александр Павлов

Ответы:

92

Отправка - это время, затраченное на загрузку данных / запроса на сервер. Это происходит между блокировкой и ожиданием. Например, если я отправлю обратно страницу ASPX, это будет указывать количество времени, которое потребовалось для загрузки запроса (включая значения форм и состояние сеанса) обратно на сервер ASP.

Ожидание - это время после отправки запроса, но до получения ответа от сервера. В основном это время, потраченное на ожидание ответа от сервера.

Получение - это время, затраченное на загрузку ответа с сервера.

Блокировка - это промежуток времени между потоком пользовательского интерфейса, запускающим запрос, и получением HTTP-запроса GET на провод.

Они происходят в следующем порядке:

  1. Блокировка *
  2. Поиск DNS
  3. Подключение
  4. Отправка
  5. Ожидание
  6. Получение

* Блокировка и поиск DNS могут быть поменяны местами.

На вкладке сети не указано время, затраченное на обработку.

Если у вас длительное время блокировки, значит машина, на которой запущен браузер, работает медленно. Вы можете исправить это, обновив машину (больше ОЗУ, более быстрый процессор и т. Д.) Или уменьшив ее рабочую нагрузку (отключив ненужные службы, закрыв программы и т. Д.).

Длительное время ожидания означает, что ваш сервер долго отвечает на запросы. Это либо означает:

  • Обработка запроса занимает много времени (например, если вы извлекаете большой объем данных из базы данных, большие объемы данных необходимо отсортировать или файл должен быть найден на жестком диске, который необходимо раскрутить).
  • Ваш сервер получает слишком много запросов для обработки всех запросов в разумный промежуток времени (обработка запроса может занять 0,02 секунды, но когда у вас есть 1000 запросов, будет заметная задержка).

Две проблемы (долгое ожидание + долгая блокировка) связаны. Если вы можете уменьшить рабочую нагрузку на сервер путем кэширования, добавления нового сервера и сокращения работы, необходимой для активных страниц, вы должны увидеть улучшения в обеих областях.

Триспед
источник
В последнем абзаце вы не имели в виду долгое ожидание + долгое получение?
Валентин
@Valentin Receiving будет больше вашим интернет-соединением и сервером. Длительная блокировка может означать проблему с вашим ПК.
Trisped
24

Вы можете прочитать подробное официальное объяснение от команды Google здесь. Это действительно полезный ресурс, и ваша информация находится в разделе просмотра временной шкалы .

Время в сети ресурсов показывает ту же информацию, что и на панели ресурсов в режиме просмотра временной шкалы. Отвечая на ваш вопрос:

  • Поиск DNS : время, затраченное на выполнение поиска DNS. (вам нужно узнать IP-адрес site.com, и это займет время)
  • Блокировка : время ожидания запроса, когда уже установленное соединение станет доступным для повторного использования. Как было сказано в другом ответе, это не зависит от вашего сервера - это проблема клиента.
  • Подключение : время, необходимое для установления соединения, включая квитирование / повторные попытки TCP, поиск DNS и время подключения к прокси-серверу или согласование уровня защищенных сокетов (SSL). Зависит от загруженности сети.
  • Отправка - время, затраченное на отправку запроса. Зависит от размера отправленных данных (который в основном невелик, потому что ваш запрос почти всегда составляет несколько байтов, за исключением случаев, когда вы отправляете большое изображение или огромное количество текста), перегрузки сети, близости клиента к серверу
  • Ожидание - время ожидания первоначального ответа. В основном это время, когда ваш сервер обрабатывает ваш ответ и отвечает на него. Вот насколько быстро ваш сервер что-то вычисляет, извлекает записи из базы данных и так далее.
  • Получение - время, затраченное на получение данных ответа. Что-то похожее на отправку, но теперь вы получаете данные с сервера (размер ответа в основном больше, чем у запроса). Так что это также зависит от размера, качества связи и так далее.
Сальвадор Дали
источник
К вашему сведению: я нашел довольно хороший анализатор файлов har
Майк Пеннингтон
1

Блокировка : время ожидания запроса, когда уже установленное соединение станет доступным для повторного использования.Как было сказано в другом ответе, это не зависит от вашего сервера - это проблема клиента .

Я не согласен с приведенным выше утверждением. При прочих равных условиях [рабочая нагрузка моего компьютера] - мой браузер показывает очень меньшее время блокировки для одного веб-сайта и большое время блокировки для другого веб-сайта.

Таким образом, если ожидание одного из шести потоков + согласование прокси ** является высоким, это в основном из-за каскадного эффекта медлительности сервера ИЛИ плохого дизайна страницы [слишком много пересылается по сети, слишком много раз].

** - что бы ни означало "Согласование прокси" !, никто не объясняет это очень хорошо, особенно когда фактически не задействован локальный / CDN прокси.

Арун
источник