Используя CDN в том же месте, что и сервер
Одной из целей CDN является распространение ваших статических ресурсов в области, наиболее близкой к вашему пользователю. Допустим, мой сервер находится в местоположении X, а большинство моих пользователей будет в Y. Однако ближайший сервер CDN к Y будет в X. В чем преимущество использования CDN, если сервер находится в том же регионе, что и сервер?? Какая разница, чем просто разместить изображение на самом сервере, а не помещать его на сервер.
1 ответ
CDN имеют несколько преимуществ, помимо географического распределения:
- Домены без файлов cookie: если ваш статический контент находится в CDN, то ваши пользователи не отправляют файлы cookie вашего сайта с запросом на статический файл, что приведет к более быстрым запросам и времени отклика для CSS, JS и изображений.
- Распараллеленные загрузки. Браузеры обычно загружают только два элемента одновременно на каждом хосте. Разместив ваш контент на CDN, браузер откроет больше одновременных загрузок для каждого имени хоста, которое у вас сейчас есть.
- Скорость. CDN оптимизированы для быстрой отправки статического контента, и это часто может быть лучше, чем попытка отправить его через универсальный веб-сервер, который также пытается генерировать динамический контент.
- Распределенная нагрузка. Немного расточительно разбирать весь процесс Apache для обслуживания favicon.ico.
Для первых двух вы должны заметить, что ваш основной сервер довольно легко настроить для отправки статического контента на произвольное количество поддоменов без файлов cookie. Следует также отметить, что распространение статического контента на слишком много доменов может убить прирост производительности, который вы получаете от распараллеленных загрузок, из-за двусторонней передачи, необходимой для поиска DNS. Что касается третьего и четвертого пунктов, они действительно помогут, только если ваш главный сервер находится под большой нагрузкой.
За мои деньги, если у вас нет особых проблем с производительностью, CDN в этой ситуации представляет собой микрооптимизацию, с которой не стоит беспокоиться. Я бы просто настроил основной сервер для обслуживания статического контента из нескольких поддоменов и называл это днем.