Что составляет вычисление 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
Анализ
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/