Тестируем CDN хостинг перед запуском сайта.

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

В качестве примера мы будем использовать домен example.com.ua. К этому домену не подключен CDN хостинг. Представим ситуацию, что данный сайт будет использовать файл style.css и загружать его из CDN сети. Для этого зарегистрируем CDN имя mycdn.example.com.ua на сайте. Для того чтобы домен mycdn.example.com.ua смог раздавать наш файл style.css, нам необходимо изменить настройки ДНС, и прописать CNAME запись, полученную при регистрации, например mycdn.example.com.ua. IN CNAME 000001.r.cdnua.net.  И перед тем как мы начнём менять у себя в шаблоне сайта путь к нашему файлу стилей, нужно убедиться, что мы улучшим скорость загрузки этого файла для пользователей. Методы, которые мы описали ниже не являются оригинальными, однако они рекомендуются к выполнению каждый раз, когда вы хотите внести изменения в свой рабочий сайт. Перед тем как запустить что-то новое, очень важно сначала тщательно протестировать! 

Метод 1. Проверка в лоб.

Прописываем CNAME запись в настройках ДНС, очищаем кеш вашего браузера и обновляем страницу несколько раз. Необходимо убедиться, что все стили вашего сайта отображаются корректно, что все картинки и текст на своих местах. Рекомендуем также попросить ваших знакомых проверить работу вашего сайта, если негативных отзывов нет —  значит всё в порядке. Теперь ваш сайт использует CDN сеть для доставки стилей вашего сайта как можно ближе к вашим пользователям.

Метод 2. Подмена hosts файла.

Перед тем как пускать трафик на ваш сайт было бы неплохо проверить сценарий — «а что если ?»

  1. Определяем IP адрес для имени 000001.r.cdnua.net, которое вы получили у CDN провайдера.
  2. Добавляем запись про этот IP адрес в ваш файл hosts.
  3. Очищаем кеш вашего браузера.
  4. Открываем свойства вашего сайта, используя инструменты разработчика и проверяем правильно ли загрузился для вас файл со стилями.

Если всё в порядке, тогда вы смело можете вносить изменения в настройки ДНС для вашего сайта.

Метод 3. Или 101 метод.

Следующий метод, который я вам покажу очень часто используют it-профи. Но для начала позвольте мне объяснить вам как работает HTTP-запрос.

Когда вы отправляете GET запрос к файлу http://mycdn.example.com.ua/style.css происходит очень много действий, которые вы просто не видите:

  1. Для начала определяется IP адрес сайта в операционной системе.
  2. Клиент устанавливает соединение с указанным сайтом.
  3. Клиент запрашивает на сервере файл style.css, а также и другие заголовки запросов, среди которых есть  «Host: mycdn.example.com.ua»
  4. Используя информацию заголовка Host сервер определяет какие виртуальные зоны могут быть использованы. Эта часть заголовка наиболее важная.

Таким образом, клиент подключается к серверу и значение заголовка узла полностью под нашим контролем. Мы будем манипулировать этой информацией в наших интересах, чтобы протестировать новые настройки. Теперь я покажу вам примеры команд, при помощи которых вы сможете протестировать загрузку файлов из CDN сети.  Для этого я буду использовать командную строку Unix.

GET

GET -H 'Host: mycdn.example.com.ua' http://000001.r.cdnua.net/style.css

curl

curl -H 'Host: mycdn.example.com.ua' http://000001.r.cdnua.net/style.css

Apache Benchmark

ab -H 'Host: mycdn.example.com.ua' http://000001.r.cdnua.net/style.css

А теперь  рассмотрим как же работает сервер, когда мы запрашиваем наш файл с сети CDN:

  1. Клиент получает IP адрес для имени 000001.r.cdnua.net 
  2. Клиент устанавливает соединение с полученным ранее IP
  3. Клиент запрашивает файл style.css с указанием заголовка, в котором содержится «Host: mycdn.example.com.ua»
  4. Используя эту информацию сервер определяет какому виртуальному узлу он принадлежит.

Итак, теперь вы подключаетесь к 000001.r.cdnua.net,  но с переопределением заголовка узла для static.example.com. Это точно такое же поведение, как если бы вы сделали изменения в DNS.

Ну, а если вам хватило сил, и вы дочитали до сюда, тогда у меня есть для вас бонус. Можно воспользоваться сервисом just-ping.com. При помощи этого сервиса можно определить IP адреса серверов CDN сети, на которых будет расположен кеш вашего сайта. Таким образом вы сможете убедиться в том, что CDN сеть для вашего сайта действительно работает.

И не забывайте, что тестирование сайта очень важный этап перед тем как показывать его вашим посетителям!

Ранее мы также писали о том, как можно подключить CDN для популярных CMS систем, таких как: Joomla, Drupal, Wordpress, Magento и 1C-Bitrix.

Дмитрий

Технический директор Hostpro.ua

  • А вот ответьте на такой вопрос. Что делать с дубликатом сайта который я получаю на

    mycdn.example.com.ua ? Гугл как известно дубли не любит. Может быть есть смысл ограничить только отдачей определенных filetype и html исключить из их числа?

  • kartvladek

    Именно определенные типы файлов и передаются через CDN. Я пользусь Друпалом — установил модуль, вижу статистику передач через CDN. Удобно.

  • А вы попробуйте запросить через CDN html страницы — он их тоже отдаст ;) Поддержка говорит что эти дубли страниц защищены от индексирования, так что вероятнро это не проблема.