Правильне розміщення сайту варто вибирати хостинг в європі або сша

к.е.н. Лавлинский Н. Е. технічний директор ТОВ «Метод Лаб»

Займаючись прискоренням сайтів професійно, мимоволі починаєш помічати повільні сайти в щоденній роботі. Після проведення експрес-аналізу часто виявляється, що прискорити сайт можна елементарно перемістивши сервер ближче до користувачів.

Причин повільного завантаження сайтів багато, але зараз ми зупинимося саме на виборі географічного розташування сервера. Питання це актуальне, так як багато розробників сайтів, які не розуміють наслідків, розміщують сайти своїх клієнтів на хостингу в Європі (іноді навіть в США). При цьому для переважної більшості російськомовних сайтів аудиторія знаходиться вУкаіни (про виключення ми поговоримо пізніше).

Чому сайти розміщують в Європі або США?

Основних аргументів два: це дешево і надійно. Щодо вартості все не так однозначно, якщо порівнювати якісний хостинг, також не варто забувати про те, що іноземний хостинг тарифікується у валюті, що несе в собі великі ризики, які недавно серйозно зіграли. В цілому, для більшості бізнес-проектів без великого навантаження досить одного виділеного сервера або навіть VPS. Вартість такого хостингу у якісних провайдерів вУкаіни 1000-6000 рублів на місяць. Говорити про економію на таку суму для бізнес-сайту не має сенсу.

Аспект надійності має суб'єктивну оцінку і як правило заяви про стабільність того чи іншого дата-центру не підкріплені об'єктивними даними. Якщо проект має високий рівень критичності для бізнесу, то в будь-якому випадку потрібно поломок рішення з використанням мінімум двох дата-центрів. Тоді надійність одного дата-центру не має великого значення. У разі використання будь-якого одного дата-центру проект матиме ризик даунтайм (навіть якщо це супернадёжний Tier IV ДЦ).

Ще один аспект пов'язаний з нелегальною діяльністю, коли сайт виноситься ізУкаіни для отримання юрисдикції іншої країни. На цьому разі ми зупинятися не будемо, це більше турбота правоохоронних органів.

Чим погано хоститься в Німеччині і взагалі далеко від користувача?

Перейдемо до найголовнішого: в чому проблема хостингу в далеких країнах? Дійсно, у нас же глобальний Інтернет, рамки національних кордонів нас не зупинять.

Розглянемо на простому прикладі. Для оцінки ефекту від розміщення нашого сайту в Європі досить простий утиліти ping. Давайте запустимо її і подивимося на ситуацію з Яндексом:

# Ping ya.ru
PING ya.ru (213.180.193.3) 56 (84) bytes of data.
64 bytes from www.yandex.ru (213.180.193.3): icmp_req = 1 ttl = 56 time = 3.01 ms
64 bytes from www.yandex.ru (213.180.193.3): icmp_req = 2 ttl = 56 time = 3.05 ms
64 bytes from www.yandex.ru (213.180.193.3): icmp_req = 3 ttl = 56 time = 3.39 ms
64 bytes from www.yandex.ru (213.180.193.3): icmp_req = 4 ttl = 56 time = 3.25 ms

Як видно, пінг з мого комп'ютера до Яндекса становить трохи більше 3 мілісекунд. При цьому час 3 мс означає час проходження пакета (в даному випадку 56 (84) байт) туди і назад.

Тепер зробимо такий же тест для відомого хостингу Hetzner (Німеччина).

# Ping hetzner.de
PING hetzner.de (213.133.107.227) 56 (84) bytes of data.
64 bytes from www.hetzner.de (213.133.107.227): icmp_req = 1 ttl = 50 time = 54.8 ms
64 bytes from www.hetzner.de (213.133.107.227): icmp_req = 2 ttl = 50 time = 54.8 ms
64 bytes from www.hetzner.de (213.133.107.227): icmp_req = 3 ttl = 50 time = 54.7 ms
64 bytes from www.hetzner.de (213.133.107.227): icmp_req = 4 ttl = 50 time = 56.0 ms

Результат зовсім інший: в середньому 55 мс.

Здавалося б: ну і що, все одно швидко? Не все так просто. Справа тут в тому, як працює стандартний браузер і протокол HTTP.

Якщо спростити, то процес завантаження виглядає наступним чином:

Ключовим гальмом тут є виділений пункт, тому що середня сторінка містить 50-100 ресурсів. Як же браузер буде вантажити ці ресурси? Якщо все це поставити в чергу і вантажити в один потік, ми не дочекаємося завантаження сторінки і вимкнемо браузер. Щоб прискорити процес браузер відкриває кілька паралельних з'єднань, як правило до 6 і як правило на один хост. Тоді наші картинки вантажаться вже в 6 паралельних потоків.

Як ми побачили раніше, передача навіть самого компактного пакету займає 55 мс. Це означає, що для завантаження будь-якого елементу сторінки ми витратимо мінімум 55 мс (навіть при нереальному умови миттєвої відповіді сервера). Простий розрахунок часу завантаження з урахуванням одного підключення показує: 50/6 * 55 + 2 * 55 = 568 мс. При використанні хостингу вУкаіни: 31 мс. Це дуже компактний варіант сайту. Реальний сценарій буде в півтора-два рази повільніше. Тобто ми можемо отримати більше секунди втрат тільки на мережевих затримках.

Не варто забувати, що пропускна здатність каналів також не покращується при видаленні сервера. Вузьким місцем стає «розгін TCP-з'єднання», що працює за алгоритмом TCP slow start. Час розгону обернено пропорційно затримок в мережі.

У підсумку реальний підсумок розміщення сервера в Німеччині для середнього корпоративного сайту: 3-4 зайві секунди завантаження для користувача. Як ми знаємо, повільний сайт знижує конверсію, лояльність і довіру потенційних клієнтів. Економія 500-1000 рублів на хостингу цього варто?

Що робити якщо користувачі є не тільки в Москві іліУкаіни?

Для сайтів з розподіленою аудиторією є тільки одне якісне рішення: розміщення контенту в CDN (content delivery network), щоб сайт був ближче до користувача в кожному конкретному випадку. При цьому потрібно подбати про те, щоб CDN мала точки присутності якомога ближче до ваших користувачам. Більш докладно про це поговоримо в окремій статті.

Найкраще прискорення сайтів в Рунеті

Ціна від 19 900 Р