Блог

Что такое CDN?

Сеть доставки (и дистрибуции) контента (англ. Content Delivery Network или Content Distribution Network, CDN) — географически распределённая сетевая инфраструктура, позволяющая оптимизировать доставку и дистрибуцию контента конечным пользователям в сети. (источник)

Кому и почему нужно использовать CDN?

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

Интересные факты:

1) Amazon: каждые 100 ms замедления загрузки странички уменьшают количество продаж на 1% (Источник: Greg Linden, Amazon)

2) Google: 500 ms замедления в выдачи данных  влекут  за собой 20% потерь поисковых запросов. (Источник: Marrissa Mayer, Google)

3) Yahoo!: 400 ms дополнительного времени загрузки страницы вызывают от 5 к 9 % увеличение числа людей, которые нажали "назад" до завершения загрузки. (Источник: Nicole Sullivan, Yahoo!)

Следовательно.. скорость загрузки страницы  - это важно! :)

CDN & Drupal

Для интеграции инфраструктуры CDN в Drupal сайты наши веб-разработчики используют одноименный модуль CDN.

Для инсталляции и настройки модуля нам нужно:

1) применить патч к ядру, если Вы используете Drupal 6 (в Pressflow версии и седьмом Друпале этот патч уже в ядре)

2) Подключиться к одной (или больше) CDN сети (наиболее популярные и известные это VoxelCAST, Akamai, Amazon…)

3) заполнить поле CDN MAPPING  на страничке /admin/settings/cdn/details.

Для того что бы все файлы грузились с одного CDN сервера просто укажите путь к нему, например «cdn.example.com».

4)  включить использование CDN (путь - /admin/settings/cdn, радиобаттон статус)

Пример расширенной настройки поля CDN MAPPING

http://cdn.example.com|.css .ico .svg .otf .ttf .swf .zip .rar .gz .7z
http://img1.example.com|.jpg .jpeg .png .gif
http://img2.example.com|.jpg .jpeg .png .gif
http://img3.example.com|.jpg .jpeg .png .gif 
http://img4.example.com|.jpg .jpeg .png .gif
http://media.example.com|.flv .avi .mp3

В нашем случае ситуация была следующая:

cdn.example.com,

http://img1.example.com,

http://img2.example.com,

http://img3.example.com,

http://img4.example.com – 5 сабдоменов (алиасов) для которых прописаны CNAME записи на одной одной и тот же аккаунт Origin Pull -CDN сервиса.

http://media.example.com – отдельный CDN провайдер для больших файлов (например, Amazon S3).

Почему 4 хостнейма отдельно для картинок? Распараллеливания загрузки.

Как утверждает www.browserscope.org современные браузеры по умолчанию не разрешают делать более 6 соединений с одним хостнеймом. То есть если у вас на сайте грузиться ХХХ объектов (например, картинок), то одновременно браузер будет загружать не более шести. 

Если же у нас будет 4 хостнейма, то число одновременных загрузок соответственно возрастает в четыре раза. А это дает не малый прирост в скорости загрузки страницы.

Но здесь так же нужно учесть что браузеры разрешают не более 30-35 соединений на одну страничку. То есть создание пяти или более хостнеймом уже не будут увеличивать скорость загрузки а наоборот уменьшат её из-за DNS lookup’ов.

 Более подробно о параллельной загрузке данных и её влиянии
на скорость можно прочесть здесь.

Join the conversation
0 Comments