Что такое время ожидания и как на него повлиять? Часть 1

Время ожидания или по-другому задержка (Latency) —  это промежуток времени, который проходит с момента старта запроса до момента получения ответа. Сводя его к минимуму, ваши пользователи будут получать максимально быстрые ответы на свои запросы. В этой статье мы подробнее расскажем вам о том, что такое время ожидания и как на него повлиять.  

Что такое время ожидания (задержка)?

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

  1. Время прохождения запроса туда и обратно (RTT). Другими словами, это количество времени, которое нужно для прохождения запроса от браузера к серверу и обратно. 
  2. Время до момента получения первого байта (TTFB). Другими словами, это промежуток времени между отправкой браузером запроса на сервер и получением первого байта данных.

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

Причина появления задержки

Основная причина задержки — это расстояние между устройством пользователя и сервером. Чем больше расстояние, тем больше времени требуется для передачи запрошенных данных на сервер и обратно. Это связано с тем, что данные должны передаваться по различным сетям, каждая из которых имеет свою скорость и задержку.

Рассмотрим пример: браузеру требуется 800 миллисекунд, чтобы отправить запрос на сервер, и 900 миллисекунд, чтобы этот браузер получил ответ. В этом случае задержка составит 1,7 секунды.

Другой фактор, который может вызвать задержку — это размер запрашиваемых ресурсов и проблемы с конечным пользователем. Например, если пользователь запрашивает веб-страницу, которая содержит большое количество изображений, CSS и JS-файлов, то серверу потребуется больше времени для обработки запроса. 

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

Что такое «хороший» показатель задержки?

Задержка — это время, которое нужно для прохождения запроса от браузера к серверу и обратно. Оно не может быть равно нулю, но в идеале должно к нему стремиться. Хороший показатель задержки — это менее 100 миллисекунд. Оптимальный диапазон — еще ниже и составляет от 20 до 40 миллисекунд.

Как работает время ожидания (задержка)?

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

Цепочка действий, после которой браузер пользователя отобразит товары из нужной категории, выглядит так: 

  1. Пользователь нажимает на категорию товаров на сайте.
  2. Браузер пользователя отправляет запрос на сервер веб-сайта.
  3. Запрос отправляется на сервер сайта со всей необходимой информацией. Передача этой информации требует времени — чем больше информации, тем больше нужно времени.
  4. Сервер получает запрос.
  5. Сервер либо принимает, либо отклоняет запрос перед обработкой. Количество времени зависит от мощности сервера и объема данных.
  6. Как только сервер принимает запрос, он отправляет пользователю ответ с нужной информацией.
  7. Браузер пользователя получает ответ и отображает категорию продукта, которую выбрал пользователь.

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

Зачем сокращать время ожидания (задержки)?

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


Источник: hubspot.com 

Условия передачи информации

Я даю согласие OOO «ЭсБилдер» (далее «BINN») на обработку моих персональных данных в соответствии со статьями 6, 9, 10, 18 Федерального закона от 27 июля 2006 года № 152-ФЗ «О персональных данных», указанных в онлайн-форме и/или предоставленных мною с целью:

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

Настоящее согласие применяется в отношении обработки следующих данных: имя, номер телефона, адрес электронной почты (E-mail).

Настоящее согласие предоставляется сроком на пять лет. По истечении указанного срока действие согласия считается продленным на каждые следующие пять лет при отсутствии сведений о его отзыве.

Согласие может быть отозвано мною в любой момент путем направления в BINN подписанного мною письменного заявления.