Преимущество использования CDN на примере

| Вторник, 25 декабря, 2018

Метки: Хостинг Комментарии: 0

Чтобы понять преимущества использования CDN, нужно понять, как выглядит обычная передача данных клиент-сервер без CDN. Какова разница во времени загрузки с CDN и без CDN. Например, кто-то в Нью-Йорке должен получить доступ к веб-сайту, размещенному на сервере в Сингапуре. Физическое расстояние между этими местами является значительным, около 15 тысяч км.

Если сервер, на котором размещается содержимое веб-сайта (исходный сервер), расположен в Сингапуре, каждый запрос на каждый ресурс веб-страницы должен отправляться из Нью-Йорка в Сингапур и обратно. Подобно международному рейсу с большим количеством пересадок по пути, каждый запрос должен проходить через ряд маршрутизаторов вдоль своего дальнего путешествия из точки A в точку B.

Поскольку запрос из Нью-Йорка в Сингапур должен пройти через каждое из местоположений маршрутизатора по пути, количество времени (задержки) увеличено и на общее расстояние, и на время, которое требуется каждому маршрутизатору для обработки запроса. Как только исходный сервер обработает запрос и ответит клиенту, отправляющему запрос, он отправит информацию обратно через аналогичную последовательность маршрутизаторов, прежде чем вернуться в Нью-Йорк. Измерение этого полного пути туда и обратно названо в радиосвязях как Round Trip Time, RTT для «времени туда и обратно». Игнорируя на данный момент доступную пропускную способность и потенциальную перегрузку сети, рассмотрим пример факторов задержки.

  • Задержка 250ms для запроса от Нью-Йорка к Сингапуру.
  • Установка соединения TCP / IP добавит 3 экземпляра задержки 250 мс.
  • Веб-страница требует 5 уникальных ресурсов, состоящих из изображений, файлов JavaScript и самой веб-страницы.

Сколько времени займет загрузка этой веб-страницы:

  • 750 мс: соединение TCP / IP установлено между клиентом в Нью-Йорке и сервером-источником в Сингапуре.
  • 250 мс: HTTP-запрос веб-страницы отправляется из Нью-Йорка в Сингапур.
  • 250 мс: инициатор запроса в Нью-Йорке получает ответ от сервера-источника в Сингапуре с кодом состояния 200 и веб-страницей, включая все необходимые дополнительные ресурсы.
  • 250 мс: каждый из 5 ресурсов запрашивается клиентом в Нью-Йорке.
  • 1500 мс: 5 ресурсов доставляются клиенту асинхронно с сервера-источника в Сингапуре.

В этом простом примере общее время перехода для загрузки этой веб-страницы составляет около 3000 мс.

Каждый раз, когда делается запрос и отправляется ответ, весь путь между клиентом в Нью-Йорке и происхождением в Сингапуре пересекается. Поскольку веб-сайты становятся больше и требуют большего количества ресурсов, задержка между точками A и B продолжает увеличиваться.

Вернемся к примеру контента, размещенного в Сингапуре, обслуживаемого веб-клиентом в Нью-Йорке, но теперь сайт Сингапура использует CDN с сервером в Атланте, который содержит кэшированную копию статического веб-сайта:

  • Задержка 50ms для запроса от Нью-Йорка к Атланте.
  • Установка соединения TCP / IP добавит 3 экземпляра задержки 50 мс.
  • Веб-страница требует 5 уникальных ресурсов, состоящих из изображений, файлов JavaScript и самой веб-страницы.

Сколько времени займет загрузка этой веб-страницы с помощью CDN:

  • 150 мс: соединение TCP / IP устанавливается между клиентом в Нью-Йорке и пограничным сервером в Атланте.
  • 50 мс: в HTTP-запрос GET на страницу поступает от клиента на сервер.
  • 50 мс: клиент получает ответ от кэша пограничного сервера с веб-страницы, включая список всех дополнительных ресурсов.
  • 50 мс: каждый из 5 ресурсов запрошен клиентом.
  • 800 мс: 5 ресурсов доставляются клиенту асинхронно с пограничного сервера.

Общее время перехода для загрузки этой веб-страницы составляет около 1100 мс.

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

Copyright © CodeHint.ru 2013-2019