Статьи

Сколько времени до первого байта и как его улучшить на вашем сайте WordPress

Возможно, вы слышали фразу «Время до первого байта», но каким-то образом эта концепция ускользает от некоторых людей. Будь то потому, что он кажется невероятно технологичным, или потому, что это кажется абстрактным концептом, не столь важным для повседневного использования. Нет ничего более далекого от правды.

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

В этой статье я собираюсь объяснить вам в нескольких словах: что такое время до первого байта, как это влияет на ваш сайт и почему вам следует уделять этому вопросу значительное внимание, если вы хотите, чтобы ваши читатели получили лучший опыт. при просмотре вашего сайта.

Что такое время до первого байта?

Время до первого байта (TTFB) – это измерение, используемое в качестве показателя скорости отклика веб-сервера или другого сетевого ресурса.

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

Это объяснение «технарей», взятое непосредственно из Википедии. Теперь давайте переведем это на более простой, который обслуживает всех.

Время до первого байта – это время, которое требуется от нажатия этой кнопки для загрузки веб-сайта до момента его начала рендеринга. Если говорить об этом в игровых терминах, время до первого байта было бы похоже на «задержку» или «задержку» во время игры. Задержка – это прямое представление о том, насколько воспринимается ваш сайт отзывчивым.

Какие факторы влияют на время до первого байта?

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

  • Время ответа DNS
  • Конфигурация и производительность сервера (PHP и веб-сервер)
  • Плагины / тема WordPress
  • Кэширование HTML включено / отключено

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

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

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

1 Время ответа DNS

Разрешение DNS – это первый фактор в уравнении. Всегда убедитесь, что используете хорошие DNS-серверы и что у них есть узлы, разбросанные по всему миру, чтобы получить наилучшее возможное разрешение. Хороший способ уменьшить TTFB на этом этапе – использовать хороший глобальный сервис, такой как CloudFlare, поскольку такой сервис реализует глобальное кэширование DNS.  Этот метод очень хорош для уменьшения TTFB за счет кэширования дальнейших разрешений.

2 Конфигурация сервера

Второй шаг задержки TTFB – это фактический сервер. Вот здесь и появляется ваш хостинг. Тип конфигурации веб-сервера, который он использует, и методы кэширования значительно уменьшат TTFB. Например, если на вашем сервере реализован старый интерпретатор PHP 5.4, вы получите очень высокий TTFB, тогда как использование современной конфигурации PHP 7.1 сократит это время в 2 или более раз.

Это потому, что интерпретатор PHP играет важную роль в этом процессе. Каждый раз, когда вы запрашиваете некэшированную страницу веб-сайта или сообщение в блоге, серверу потребуется обработать соответствующие файлы PHP, чтобы преобразовать их в формат HTML обратно в ваш браузер. Чем сложнее файлы PHP, тем больше времени потребуется на их предварительную обработку и отправку обратно в ваш браузер.

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

Кроме того, если ваш хостинг реализует кеширование PHP, это будет еще больше уменьшено по второму запросу, поскольку он предоставит кешированную версию этого файла вместо того, чтобы обрабатывать файл PHP заново.

Теперь вы можете видеть, что существует 2 типа хостингового бизнеса: общие (некэшированные) услуги и эксклюзивные услуги хостинга WordPress, которые обычно реализуют механизм кеширования для PHP, уменьшая при этом ваш TTFB.

3 Плагины и тема WordPress

Третий шаг в уравнении TTFB – это ваш фактический сайт. Это самый важный фактор, и я покажу вам, почему.

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

Чем меньше, тем лучше

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

Сколько времени до первого байта и как его улучшить на вашем сайте WordPress

Следующий пример может быть проблематичным (опять же – это частично зависит от того, что вы установили).

Сколько времени до первого байта и как его улучшить на вашем сайте WordPress

И, конечно же, все, что превышает барьер 30 плагинов, скорее всего, не поможет вашей задержке. Вы можете быть уверены, что веб-сайт с более чем 40 плагинами будет иметь очень высокий TTFB, даже если он размещен на великолепном хостинге, и я покажу вам, почему.

4 Кеширование HTML

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

Наличие хорошего плагина, такого как KeyCDN Cache Enabler, окажет огромное влияние на ваш TTFB, даже больше, чем сам хостинг. Он преобразует все эти файлы в HTML, поэтому после активации кеша вашим читателям не нужно будет проходить через препроцессор PHP на вашем хостинге, и только сам веб-сервер будет отвечать за обслуживание вашего контента. Вы даже можете ускорить процесс еще больше, если решите использовать хостинг, который включает nginx вместо apache в качестве основного веб-сервера, как я объяснил в этой статье.

Время до первого байта: примеры использования: почему это важно

Теперь позвольте мне показать вам, о чем мы говорим. Следующие ниже тематические исследования представляют собой реальные примеры конфигураций веб-сайтов на различных серверах с удобной сводкой результатов тестов в конце.

Медленный веб-сайт на медленном сервере

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

Сколько времени до первого байта и как его улучшить на вашем сайте WordPress

Разберем этот сайт подробнее. Для этой цели я собираюсь использовать Pingdom Tools, потому что это отличный инструмент, позволяющий вам увидеть TTFB. Хитрость заключается в том, чтобы раскрыть подробности при первом запросе к сайту.

Сколько времени до первого байта и как его улучшить на вашем сайте WordPress

Как видите, у сайта TTFB не менее 4,2 секунды! Это означает, что пройдет 4 полных секунды, пока вы не получите никаких указаний на то, что веб-сайт действительно доступен.

Теперь умножьте это время на все клики, которые вы собираетесь сделать на сайте, и вы увидите, сколько боли это может причинить читателю. Конечно, TTFB необходимо добавить к общему времени рендеринга сайта. Результат будет катастрофическим для производительности, поскольку для правильного рендеринга сайта иногда требуется до 7 секунд.

К этому приводит сочетание нескольких факторов. Плохо оптимизированный веб-сайт без механизма кеширования, очень медленная служба хостинга и полностью устаревший интерпретатор PHP, на котором все еще работает PHP 5.4. Даже когда сайт использует cloudflare в качестве внешнего механизма кэширования, ничего нельзя сделать для улучшения ситуации, если ваш сайт и ваш хостинг не будут взаимодействовать.

Быстрый сайт на среднем сервере

Давайте посмотрим, что произойдет, если мы поместим очень быстрый сайт на средний сервер, использующий Apache и PHP 7.1.

Сколько времени до первого байта и как его улучшить на вашем сайте WordPress

Если на сайте меньше 10 плагинов без кеша, результат будет как минимум в 5 раз лучше предыдущего. Вы можете видеть, что TTFB теперь установлен на 521 мс. Это означает, что сайту потребуется 0,5 секунды, чтобы начать рендеринг в вашем браузере, с момента его перехода с сервера до момента, когда он достигнет вашего компьютера.

Сколько времени до первого байта и как его улучшить на вашем сайте WordPress

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

Очень медленный веб-сайт на быстром сервере

А теперь посмотрим на обратное. Что произойдет, если мы поместим очень медленный сайт на очень быстрый сервер.

Сколько времени до первого байта и как его улучшить на вашем сайте WordPress

Оптимизированному серверу, на котором запущен Plesk с nginx и PHP 7.1.11, потребуется 1,29 секунды для рендеринга сайта, заполненного плагинами (более 27).

Сколько времени до первого байта и как его улучшить на вашем сайте WordPress

Но когда мы активируем кеширование на WordPress с помощью прекрасного KeyCDN Cache Enabler, результат просто потрясающий. На очень медленном сайте TTFB уменьшен до 400 мс.

Быстрый веб-сайт на быстром сервере

Теперь посмотрим на оптимальную ситуацию. Быстрый сайт, работающий на быстром сервере.

Сколько времени до первого байта и как его улучшить на вашем сайте WordPress

Тот же сервер, который давал 1,29 секунды TTFB на медленном сайте, отвечает менее чем за 500 мс на быстром сайте без кеша.

Сколько времени до первого байта и как его улучшить на вашем сайте WordPress

Если мы включим кеш, результаты просто потрясающие. Быстрый сервер в сочетании с быстрым веб-сайтом с включенным кешированием дает менее 150 мс TTFB!

Результаты тестов

Для любителей тестов давайте посмотрим результаты на одном большом графике.

Сколько времени до первого байта и как его улучшить на вашем сайте WordPress

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

Заключение

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

Я хочу закончить эту статью, сказав, что это ни в коем случае не «единственная метрика, чтобы управлять ими всеми», поскольку есть другие факторы, которые следует учитывать, включая производительность базы данных, доступную пропускную способность и скорость сети. Но поскольку на TTFB обычно влияют все эти факторы, это хороший показатель узких мест в других местах.

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

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Кнопка «Наверх»

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: