Что составляет вычисление TTFB (время до первого байта) и как увидеть временные характеристики отдельных компонентов?

Я вижу большие числа времени до первого байта, о которых сообщается в инструментах chrome dev для сетевых запросов. Я хотел бы улучшить его, но я не уверен, какая часть процесса запроса приводит к медленным скоростям.

Некоторые источники называют это измерение "DNS, SSL, Connect, Send, Receive, Wait". Каково авторитетное определение TTFB, и как вы можете точно измерить его части?

1 ответ

Решение

Использование Wireshark в качестве инструмента анализа для получения подробной информации о запросе.

  • Закройте все окна браузера
  • запуск wireshark и настройка для захвата на вашей сетевой карте, проводной или беспроводной.
  • На консоли Bash будьте готовы посетить https://www.eff.org/ с помощью текстового браузера, например w3m

    w3m https://www.eff.org/

  • Начать захват пакетов

  • Нажмите Enter на консоли, как только страница загрузится, прекратите захват пакетов.
  • На wireshark, примените этот фильтр, чтобы получить значимые события

    днс || ssl.handshake.type == 1 || ssl.handshake.type == 14 || ssl.handshake.type == 4 || ssl.record.content_type == 22 || ssl.record.content_type == 23

Результат: скриншот Wireshark

Анализ

DNS: время в пакете 6
TCP рукопожатие: разница между пакетами 10 и 6
Рукопожатие TLSv1.2: разница между пакетами 23 и 10
Отправка: разница между пакетами 23 и 24 (не уверен)
TTFB: время в пакете 27

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

Рекомендации:

http://www.thevisiblenetwork.com/2015/01/21/calculate-http-response-time-in-wireshark/ http://blog.catchpoint.com/2017/05/12/dissecting-tls-using-wireshark/

Другие вопросы по тегам