к.э.н. Лавлинский Н. Е., технический директор ООО «Метод Лаб»
В этой статье предлагаю снять маркетинговую шелуху с вопроса ускорения сайтов посредством подключения CDN (content delivery network – сеть доставки контента). К сожалению, большинство владельцев сайтов не понимают принципов работы сетевых протоколов, веб-приложений и поэтому подвержены зомбированию со стороны различных недобросовестных компаний, предлагающих решить все проблемы своим CDN.
Для начала нужно разобраться, что такое CDN и зачем была создана эта технология. CDN это прежде всего сеть точек доставки контента. Каждая точка может кешировать данные (которые не изменяются) и отдавать без запроса к исходному веб-серверу (обычно называется origin). Второй сценарий: иерархическая система, когда требуется вещание в реальном времени. Тогда исходный сервер передает на один или несколько узлов в CDN, а они уже распространяют контент по точкам, к которым непосредственно обращаются пользователи. В итоге достигается несколько эффектов:
Из описанной выше схемы работы сетей CDN можно выделить два основных сценария применения:
В описанных выше сценариях использование CDN действительно оправдано и может решить проблемы масштабируемости и скорости.
А теперь посмотрим на обычные медленные бизнес-сайты, требующие ускорения. Ни один из сценариев использования CDN здесь не проходит. Как правило, тяжелый контент отдается на сторонние сервисы (например, YouTube). Географическая распределённость обычно ограничивается одним федеральным округом в России. При таких расстояниях до клиентов задержки в сети не играют решающей роли (а при использовании HTTP/2 и вообще теряют влияние).
Так почему же операторы CDN уверенно твердят об ускорении сайтов, причем любых? Реальное основание есть, но довольно слабое:
Но помимо возможных плюсов, есть и очевидные минусы использования CDN:
При этом самые острые проблемы, которые снижают скорость загрузки сайтов выглядят следующим образом:
Все эти проблемы решаются профессиональным специалистом раз и навсегда, позволяя сайту грузиться быстрее и не требуя регулярных затрат. А освободившиеся деньги можно потратить на доработку сайта.
Поэтому CDN не ускоряет медленные сайты, они могут ускорить быстрые сайты.
Наш подход к ускорению сайтов заключается в исправлении причины низкой производительности и скорости загрузки сайтов, а не подстановка внешних «костылей» для эмуляции скорости. Использование любых технологий имеет свои ограничения, которые мы учитываем.