к.е.н. Лавлинский Н. Е. технічний директор ТОВ «Метод Лаб»
У цій статті пропоную зняти маркетингову лушпиння з питання прискорення сайтів за допомогою підключення CDN (content delivery network - мережа доставки контенту). На жаль, більшість власників сайтів не розуміють принципів роботи мережевих протоколів, веб-додатків і тому схильні до зомбуванню з боку різних недобросовісних компаній, що пропонують вирішити всі проблеми своїм CDN.
Що таке CDN?
Для початку потрібно розібратися, що таке CDN і навіщо була створена ця технологія. CDN це перш за все мережу точок доставки контенту. Кожна точка може кешувати дані (які не змінюються) і віддавати без запиту до вихідного веб-сервера (зазвичай називається origin). Другий сценарій: ієрархічна система, коли потрібно мовлення в реальному часі. Тоді вихідний сервер передає на один або декілька вузлів в CDN, а вони вже поширюють контент по точках, до яких безпосередньо звертаються користувачі. В результаті досягається кілька ефектів:
- сумарна пропускна здатність мережі віддачі контенту легко масштабується і практично не обмежена, на відміну від окремого сервера;
- за рахунок використання географічної розподіленості можна домогтися більш стабільної та швидкої зв'язності з кінцевими споживачами контенту;
- відбувається розвантаження ресурсів веб-сервера (перш за все, каналу і пристроїв введення-виведення) для виконання корисної роботи.
З описаної вище схеми роботи мереж CDN можна виділити два основні сценарії застосування:
В описаних вище сценаріїв використання CDN дійсно виправдано і може вирішити проблеми масштабованості і швидкості.
Ситуація насправді
А тепер подивимося на звичайні повільні бізнес-сайти, що вимагають прискорення. Жоден із сценаріїв використання CDN тут не проходить. Як правило, важкий контент віддається на сторонні сервіси (наприклад, YouTube). Географічна розподіленість зазвичай обмежується одним федеральним округом в Росії. При таких відстанях до клієнтів затримки в мережі не грають вирішальної ролі (а при використанні HTTP / 2 і взагалі втрачають вплив).
Так чому ж оператори CDN впевнено твердять про прискорення сайтів, причому будь-яких? Реальне підгрунтя є, але досить слабке:
Але крім можливих плюсів, є й очевидні мінуси використання CDN:
- додаткові постійні витрати (близько декількох тисяч рублів на місяць для невеликого сайту);
- додаткова точка відмови (система ускладнюється, потрібно тестувати роботу сайту з CDN);
- можливе погіршення швидкості доставки (при відсутності файлу в кеші точки CDN потрібно спочатку передати файл на точку і тільки потім клієнту - збільшення затримок);
- непередбачуваність витрат на CDN (вартість сервісу залежить від трафіку сайту).
При цьому найгостріші проблеми, які знижують швидкість завантаження сайтів виглядають наступним чином:
- несумірні картинки в слайдерах і звичайних ілюстраціях (іноді по кілька мегабайт кожна);
- зайві JS-бібліотеки і плагіни до них (іноді навіть дублюють один одного);
- неправильний порядок підключення JS і CSS на сторінці;
- великий час генерації HTML-сторінок через недостатню потужність сервера;
- неоптимальні налаштування СУБД і веб-додатки.
Всі ці проблеми вирішуються професійним фахівцем раз і назавжди, дозволяючи сайту грузиться швидше і не вимагаючи регулярних витрат. А гроші, що звільнилися можна витратити на доопрацювання сайту.
Тому CDN не прискорює повільні сайти, вони можуть прискорити швидкі сайти.
Прискорення сайтів в «Метод Лаб»
Наш підхід до прискорення сайтів полягає у виправленні причини низької продуктивності і швидкості завантаження сайтів, а не підстановка зовнішніх «милиць» для емуляції швидкості. Використання будь-яких технологій має свої обмеження, які ми враховуємо.
Найкраще прискорення сайтів в Рунеті
Ціна від 19 900 Р