Как уменьшить TTFB, чтобы улучшить время загрузки страницы WordPress

Опубликовано: 2017-01-26

Когда дело доходит до общей скорости вашего сайта WordPress, мы часто сосредотачиваемся на производительности интерфейса и оптимизации для повышения скорости загрузки страниц. Однако иногда полезно посмотреть на это со стороны сервера, где ваш сайт изначально начинает загружаться. Сегодня мы собираемся углубиться в то, как TTFB (время до первого байта) влияет на вас, и обсудим несколько простых способов его уменьшения. TTFB обычно упускается из виду фактором производительности, но его следует учитывать при тестировании скорости вашего сайта.

  • Что такое ТТФБ?
  • Важен ли TTFB?
  • Как измерить TTFB
  • 4 способа уменьшить TTFB на вашем сайте WordPress

Что такое ТТФБ?

TTFB обозначает время до первого байта . Проще говоря, это измерение того, как долго браузер должен ждать, прежде чем получит свой первый байт данных с сервера. Чем больше времени требуется для получения этих данных, тем больше времени требуется для отображения вашей страницы. Распространенным заблуждением является то, что это вычисляется после времени поиска DNS, однако первоначальный расчет TTFB в сети всегда включает сетевую задержку . Это включает в себя трехэтапный процесс, а задержки и задержки могут возникать в любом месте между ними, что в сумме составляет ваш общий TTFB.

ожидание ttfb
Ожидание ТТФБ

1. Запрос к серверу

Когда кто-то посещает ваш веб-сайт, первое, что происходит, — это HTTP-запрос, который отправляется с клиента (браузера) на сервер. На этом этапе существует множество факторов, которые могут привести к задержкам. Медленное время поиска в DNS может способствовать увеличению времени обработки запроса. Если сервер географически расположен далеко, это может привести к задержке на расстоянии, которое должны пройти данные. Кроме того, если у вас сложные правила брандмауэра, это может увеличить время маршрутизации. И не забывайте о скорости интернета клиента.

2. Серверная обработка

После отправки запроса сервер должен обработать его и сгенерировать ответ. Это может привести к ряду различных задержек, таких как медленные вызовы базы данных , слишком много сторонних скриптов, отсутствие кэширования вашего первого ответа, плохо оптимизированный код или тема WordPress, а также неэффективные ресурсы сервера , такие как дисковый ввод-вывод или память.

3. Ответ клиенту

После того, как сервер обработает запрос, он должен отправить его обратно клиенту (точнее, отправить обратно первый байт). На это сильно влияет как скорость сети сервера, так и клиента . Если у клиента медленный интернет из точки доступа Wi-Fi, это отразится на TTFB.

Важен ли TTFB?

Важно понимать, что TTFB (время до первого байта) — это не то же самое, что скорость сайта. Это действительно показатель отзывчивости. В сети много дискуссий о важности TTFB. Одни говорят, что это бессмысленно (Cloudflare, LittleBizzy), другие говорят, что это важно (Илья Григорик, Web Performance Engineer в Google). Обе стороны поднимают некоторые обоснованные вопросы о том, почему или почему это не важно, а также некоторые вопросы о том, как это на самом деле рассчитывается.

Moz даже провел углубленное исследование корреляции между ранжированием в поиске и временем до первого байта. Однако трудно понять, было ли это причиной или сайты с более низким TTFB были просто быстрее в целом, что, в свою очередь, могло зависеть от фактора ранжирования скорости страницы Google.

Имеет ли значение TTFB? Это способствует вашей общей скорости, так что вы думаете? Нажмите, чтобы твитнуть

Однако вместо того, чтобы тратить время на размышления о том, имеет это значение или нет, мы лучше сосредоточимся на оптимизации, которую вы можете сделать, чтобы улучшить этот показатель. Все, что вы делаете, может повлиять на общую скорость вашего сайта WordPress, а это, в свою очередь, повлияет на ваш TTFB. В наших тестах сайты с гораздо большим TTFB просто загружались и работали медленнее.

Как правило, все, что меньше 100 мс, является отличным и хорошим TTFB . Google PageSpeed ​​Insights рекомендует менее 200 мс для времени отклика сервера. Если вы находитесь в диапазоне 300-500 мс, это довольно стандартно. И если у вас более 600 мс, возможно, на вашем сервере что-то неправильно настроено, или, возможно, пришло время перейти на лучший веб-стек. Или следуйте нашим рекомендациям ниже о том, как уменьшить TTFB. И помните, что согласование SSL/TLS также может быть фактором.

Как измерить TTFB

Существует множество различных способов проверить свой TTFB. Мы рассмотрим пару ниже. Но помните, каждый инструмент дает несколько разные результаты, поэтому важно просто использовать один из них и придерживаться его в качестве основы.

Измерьте TTFB с помощью Google Chrome DevTools

Вы можете измерить TTFB в Google Chrome, запустив DevTools. Помните, однако, что если вы тестируете со своего компьютера, на TTFB влияет сетевая задержка и ваше интернет-соединение. Поэтому, вероятно, более эффективно использовать сторонний инструмент (как показано ниже), который тестирует из центра обработки данных.

  • Выберите «Дополнительные инструменты» > «Инструменты разработчика» в меню Chrome.
  • Щелкните правой кнопкой мыши элемент страницы и выберите «Проверить».
  • Используйте сочетания клавиш Ctrl + Shift + I (Windows) или Cmd + Opt + I (Mac).

Вы можете запустить окно сети и посмотреть производительность вашего сайта.

гугл хром devtools ttfb
Инструменты разработчика Google Chrome TTFB

Измерьте TTFB с помощью инструмента Geekflare

У Geekflare есть потрясающая коллекция бесплатных инструментов, которые вы можете использовать для тестирования и устранения неполадок на вашем веб-сайте. Инструмент Geekflare TTFB прост, быстр и позволяет вам увидеть, насколько быстро (низко) ваше время до первого байта из трех мест по всему миру.

Geekflare инструмент для тестирования TTFB
Geekflare инструмент для тестирования TTFB

Измерьте TTFB с помощью WebPageTest

Вы также можете измерить свой TTFB с помощью WebPageTest. Согласно их глоссарию, целевое время — это время, необходимое для согласования DNS, сокетов и SSL + 100 мс. За каждые 100 мс сверх цели будет вычитаться однобуквенная оценка. Как вы можете видеть в нашем тесте ниже, этот сайт показал время TTFB 0,256 с или 256 мс.

веб-страницатест ttfb
Webpagetest Время первого байта

Измерьте TTFB с помощью Pingdom

Chrome и WebPageTest называют его TTFB. Однако, если вы используете Pingdom, это фактически называется временем ожидания. Не забудьте также ознакомиться с нашим подробным руководством по использованию Pingdom.

время ожидания пингдом
Время ожидания в инструментах Pingdom

Измерьте TTFB с помощью GTmetrix

В GTmetrix, как и в Pingdom, TTFB называется временем ожидания. Не забудьте также ознакомиться с нашим подробным руководством по использованию GTmetrix.

Измерьте TTFB в GTmetrix
Измерьте TTFB в GTmetrix

Измерьте TTFB с помощью инструмента от KeyCDN

У KeyCDN есть отличный инструмент для тестирования веб-производительности, с помощью которого вы можете одновременно измерить TTFB из 14 разных мест. Как вы можете видеть ниже в нашем тесте, TTFB низок в Соединенных Штатах и ​​​​намного выше за рубежом. Это связано с тем, что наш сервер физически находится в США. Это прямое доказательство того, что задержка и расстояние играют роль в TTFB.

keycdn ttfb тест
Тест KeyCDN TTFB

Существуют также некоторые другие различные инструменты для измерения TTFB, такие как Sucuri Performance Tool и ByteCheck. Вы знали? Даже в Google Analytics есть раздел для просмотра среднего времени отклика. Просто нажмите «Поведение > Скорость сайта > Обзор».

гугл аналитикс тфб
Отчет Google Analytics для TTFB

4 способа уменьшить TTFB на вашем сайте WordPress

Теперь давайте рассмотрим некоторые способы уменьшения TTFB на вашем сайте WordPress.

1. Используйте быстрый хост WordPress

Первый способ уменьшить TTFB — убедиться, что вы используете быстрый хост WordPress. Мы сравнили TTFB стороннего общего хоста (расположенного в Финиксе, Аризона) и TTFB Kinsta (расположенного в Каунсил-Блаффс, Айова). Мы использовали точно такую ​​же настройку с запущенной темой Twenty Seventeen по умолчанию. Помните, что в Kinsta теперь доступны все 29 местоположений Google Cloud Platform, поэтому важно стратегически расположить ваш сайт WordPress ближе к вашим посетителям.

Переход на более быстрый хост может снизить TTFB вашего сайта до 200%. Попробуйте Кинста бесплатно.

Kinsta также включает сеть премиум-класса Google Cloud Platform во все планы хостинга. Многие другие хостинг-провайдеры используют стандартную многоуровневую сеть Google Cloud, что приводит к снижению скорости.

Общий хост TTFB

Во всех регионах среднее значение TTFB составило 520 мс . В США и Канаде среднее время TTFB составляло 240 мс .

виртуальный хостинг ttfb
Виртуальный хостинг TTFB

Кинста ТТФБ

Во всех регионах среднее значение TTFB составило 412 мс . В США и Канаде среднее значение TTFB составило 164 мс . Если вы размещаете на Kinsta, вы также можете разместить свой сайт WordPress в Европе или Азии. См. список местоположений Google Cloud Data Center.

управляемый хост wordpress ttfb
Управляемый хостинг WordPress TTFB

Таким образом, просто используя более быстрый хост, мы увидели глобальное снижение TTFB на 20% . И снижение TTFB на 32% в США и Канаде. Наличие хорошего хостинга WordPress с тщательно продуманной архитектурой имеет решающее значение для снижения вашего TTFB. Это также является хорошим аргументом в пользу тщательного выбора места, физически расположенного в регионе, где находятся ваши клиенты. Если большинство ваших клиентов находятся в Соединенных Штатах, не размещайте свой сервер в Европе (хотя CDN может помочь свести на нет некоторые из них).

2. Внедрите CDN

Еще один простой способ уменьшить TTFB — использовать сеть доставки контента (CDN). Если у вас есть веб-сайт, который обслуживает посетителей в разных частях страны или по всему миру, это может резко снизить ваш TTFB. Как мы видели выше, местоположение очень важно. Мы провели небольшой тест, чтобы показать разницу с KeyCDN в качестве нашего поставщика CDN. Каждый тест проводился 5 раз и бралось среднее значение.

ТТФБ без CDN

Сначала мы провели тест с отключенным CDN, и, как вы можете видеть, наше общее время загрузки составило 1,45 с, а среднее значение TTFB для актива составило около 136 мс.

ttfb перед cdn
TTFB перед добавлением CDN

TTFB с CDN

Затем мы включили нашу CDN и снова запустили тест. Как видите, общее время загрузки сократилось до 788 мс, а среднее значение TTFB теперь составляет 37 мс! Какое значение может иметь CDN. Еще одна важная вещь, которую следует отметить, это то, что мы выбрали место в Стокгольме для проведения этого теста. Почему? Потому что мы хотели показать вам реальное улучшение, которое можно получить, сократив физическое расстояние. В Стокгольме есть точка присутствия CDN, поэтому наш контент обслуживается из Стокгольма.

ttfb после cdn
TTFB после добавления CDN

Примечание. Если вы используете Cloudflare, у вас может быть немного более высокий показатель TTFB. Скорее всего, это связано с дополнительными накладными расходами и сложностью работы полностью прокси-сервиса. Помните, что у Cloudflare есть дополнительные брандмауэры и другие функции, которых нет у некоторых провайдеров CDN. Поэтому вам нужно будет решить, что может принести вам больше пользы. Если весь ваш сайт не оптимизирован должным образом, возможно, стоит пойти на компромисс с чуть более высоким TTFB.

Однако вы также можете ознакомиться с руководством WP Bullet по использованию кэширования страниц Cloudflare для снижения TTFB. Это может потребовать дополнительной настройки и тестирования. Обязательно запустите свои собственные тесты, поскольку каждая среда отличается.

Рекомендуемая литература: Как настроить Cloudflare APO для WordPress.

3. Кэширование WordPress

Третий способ и, вероятно, один из самых простых способов уменьшить TTFB — использовать кэширование на вашем сайте WordPress. Многие только думают, что кэширование может помочь уменьшить время загрузки, но на самом деле оно также помогает уменьшить TTFB, поскольку помогает сократить время обработки сервера. Мы снова провели несколько тестов с кэшированием и без него. Каждый тест проводился 5 раз и бралось среднее значение.

Без запуска кэша

Мы запустили сайт через Pingdom, и без запуска кеша время загрузки нашего сайта составило 1,17 с, а TTFB — 560 мс.

не кэшированный ttfb
Некэшируемый TTFB

С включенным кэшированием

Затем мы включили кэширование и снова запустили сайт через Pingdom. На этот раз наш сайт показал время загрузки 643 мс и время TTFB 57 мс.

кеширование вордпресс ttfb
TTFB с включенным кэшированием WordPress

Таким образом, включив кэширование, мы смогли сократить TTFB на колоссальные 90%! Вы можете прочитать больше о кэшировании Kinsta. Мы делаем это на уровне сервера, что означает, что плагины кэширования не требуются. Если вы не используете управляемый хост WordPress, мы рекомендуем использовать бесплатный плагин кэширования, такой как Cache Enabler.

4. Используйте премиум-провайдера DNS

И последнее, но не менее важное: DNS также играет роль в TTFB. Трудно точно подсчитать, насколько это затронуто, но вы все равно можете увидеть общее время поиска DNS и увидеть, что есть более быстрые и более медленные провайдеры. Мы провели пару тестов с помощью инструмента проверки скорости SolveDNS. Вот пример домена, использующего бесплатный DNS NameCheap и время отклика.

Бесплатное имяCheap DNS

бесплатная скорость днс
Бесплатная скорость DNS

Ниже приведен пример использования премиального DNS Amazon Route 53. Как видите, в целом время поиска в DNS намного быстрее с Amazon. Как правило, премиум-провайдеры DNS имеют более высокие скорости. Cloudflare — бесплатная программа с отличной производительностью.

Амазонский маршрут 53 DNS

амазон премиум днс
Премиальная скорость DNS Amazon

Обязательно ознакомьтесь с нашим постом о том, почему вам следует использовать премиум-провайдера DNS. Мы сотрудничаем с Amazon Route 53 здесь, в Kinsta, и он доступен для всех клиентов бесплатно.

Резюме

Существует множество других вещей, которые вы могли бы оптимизировать или исправить для уменьшения TTFB, таких как кэширование базы данных, дисковый ввод-вывод, использование подкачки, ОЗУ, настройки PHP, настройки MySQL, сетевые настройки, накладные расходы TLS и т. д. прост в реализации и даст вам самый быстрый прирост производительности. Так что в следующий раз, когда кто-то спросит вас, как уменьшить TTFB, помните, что быстрый хост WordPress, CDN, кэширование и DNS играют огромную роль. Исправление или улучшение этих узких мест поможет.

Каков ваш опыт работы с TTFB? Мы хотели бы услышать об этом ниже.