Блог

Короткое время ответа сервера

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

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

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

Если аудит Google PageSpeed Insights выдал рекомендацию: «Короткое время ответа сервера (время до получения первого байта)», данную ошибку нужно исправить. Помимо самой информации, сервис укажет время, которое потребовалось для получения первого байта. Здесь же, в качестве пояснений указано, что на время ответа влияют темы, плагины и спецификации сервера.

TTFB — что это?

TTFB — это аббревиатура, буквально обозначающая Time To First Byte. Следовательно — это время от момента подачи клиентом запроса, точнее его перехода на сайт, до получения первого байта со стороны страницы. Чем данный показатель ниже, тем быстрее пользователь сможет взаимодействовать с порталом. Если рассматривать идеальные условия, то Google настаивает, что это должно быть 50 мс, а в худшем случае — 200 мс. Время загрузки сервиса, в том числе, влияет и на ранжирование сайта.

Для того, чтобы произвести проверку TTFB, можно воспользоваться несколькими способами:

● Используя настройку браузера в Google Chrome или Mozila при помощи комбинации клавиш «Ctrl+Shift+I»

● Воспользоваться PageSpeed Insights

● Использовать информацию Google Analytics

● Использовать Netpeak Spider

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

Что оказывает влияние на TTFB

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

● Недостаточность ресурсов со стороны процессора или оперативной памяти

Медленное взаимодействие с базой данных

● Некорректная настройка конфигурации сервера

● Не применяется кэширование

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

Как снизить время ответа сервера

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

 ● Проверьте базы данных. Каждый запрос сервера требует обращения к базам данных. Используйте хостинг-панель сайта, чтобы отсортировать таблицы и выяснить какие из них весят больше всего. После этого осуществите их оптимизацию используя, к примеру, сервис WP-Optimize. Он освободит таблицы от старых плагинов, кэша, неиспользуемых опций и прочего. Перед этим обязательно сделайте резервную копию, чтобы не восстанавливать всё с нуля в случае ошибки.

 ● Создайте кэш страниц. Эта опция позволит существенно сократить время на TTFB, так как при повторном обращении, серверу не потребуется заново генерировать страницу. Он «поднимет» копию, которую пользователь загружал ранее. Чтобы автоматизировать данный процесс, при работе с WordPress можно пользоваться плагином Hyper Cache.

 ● Повысьте производительность сервера. Скупой платит дважды. Если вы создаёте свой сайт на бесплатном хостинге или бюджетном сервере, имеющем низкую производительность — не ждите, что ваша страница будет работать быстро. В идеале, лучше всего использовать VPS, либо выделенный IP.

 ● Использование кэшированных скриптов. При помощи специальных программ, которые называются акселераторами, можно создавать не просто кэш страниц, а целых скриптов сайта. РНР-акселераторы создают резервные копии команд и при повторном обращении используется уже готовый бинарный код. Его не требуется создавать заново. Это существенно экономит миллисекунды. Примерами подобных акселераторов являются: eAccelerator, XCache, PhpExpress, OpCache.

 ● Взаимодействие со сторонними серверами. Если для корректной работы внутреннему серверу требуется обращение к другим источникам — это существенно замедляет его работу. И чем таковых источников больше, тем хуже это сказывается на скорости. Так как алгоритм и скорость их работы вам не известны, следовательно вы не знаете сколько от них будет поступать ответ. Лучше всего хранить все необходимые данные на одном, внутреннем сервере.

Существует много возможных причин медленного ответа сервера и, следовательно, множество возможных способов улучшения:

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

● Оптимизируйте, как ваш сервер запрашивает базы данных, или переходите на более быстрые системы баз данных

● Обновите серверное оборудование, чтобы иметь больше памяти или процессора

● Проведите очистку баз данных от различного мусора

● Позаботьтесь о создании кэша страниц и РНР-соединений

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

Один комментарий для “Короткое время ответа сервера

  1. Аноним:

    А как применить кэширование в языке Go?

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт защищен reCAPTCHA и применяются Политика конфиденциальности и Условия обслуживания применять.

Срок проверки reCAPTCHA истек. Перезагрузите страницу.