Как я замеряю время ответа сервера: наблюдения и выводы
В этой короткой статье я расскажу, как сам замеряю время ответа сервера, в частности Time To First Byte.
На эту величину влияет:
- время выполнения серверного кода
- качество соединения с интернетом
- расстояние до сервера
Для измерений регулировать я буду только одно - качество соединения с интернетом, с помощью инструментов Chrome DevTools и эмуляции сетевых задержек во вкладке Network.
Полный путь выглядит так:
- открываем браузер Chrome
- открываем интересующий нас сайт
- жмем F12, открываем инструменты разрабочика
- ищем вкладку Network
- ищем выпадающий список, где написано Online, запоминаем
- выбираем фильтр ресурсов Doc
Алгоритм:
Не закрывая инструменты разработчика, ходим по ссылкам интересующего меня сайта, на движке MODX.
В области загрузки ресурсов, в столбце Time, мы видим следующие цифры: 181 ms
Переходя по ссылкам, мы заметим, что цифры оказываются в промежутке от 160 до 200 примерно. Иногда бывают задержки до 1500 ms.
Запишем куда-нибудь среднее значение для каждой страницы.
Теперь давайте эмулировать сетевую задержку. Нас интересует выпадающий список Throttling. Выберем там Fast 3G.
И снова пройдемся по страницам, заменяя время в столбце Time.
Сведем данные в таблицу:
Нас интересует разница между Online и Fast 3G. Чем она больше, тем лучше. А также абсолютные цифры для Online, чем они меньше, тем лучше. Идеально, когда 30-40 ms.
Давайте посмотрим на другой сайт, пререндеренный, сделанный с помощью статического генератора сайтов Hugo:
Обратите внимание как мало время ответа сервера - оно держится порядка 50 ms. Оба сайта хостятся у хостера, но не смотря на хваленый кэш MODX-а, движок первого сайта отрабатывает почти в 3 раза дольше.
Будем честными, на глаз это почти не заметно, особенно при медленном соединении.
Да, оба сайта работают визуально быстро. Но второй - особенно быстр, практически SPA.
Посмотрим еще на один сайт:
Сайт сделан на Drupal 7, одним особо "талантливым" программистом, хостится на дорогущей VDS-ке Хостера и ужасно тормозит. Обратите на незначительную разницу между Online и Fast 3G, в среднем 800 и 900 ms.
Выводы
- у сайта должна быть разница между Online и Fast 3G не менее чем на порядок (60 и 600 ms)
- чем меньше время Online, тем лучше