Чи зменшує розміщення в Туреччині затримку?
Що ближче сервер до відвідувача, то нижча, як правило, затримка (пінг). Причина в тому, що швидкість світла у волокні задає нижню межу: приблизно 5 мс в один бік на кожні 1000 км, або 10 мс туди й назад. Якщо ваші відвідувачі в Туреччині, сервер у Стамбулі робить цей штраф за відстань малим. Якщо вони за кордоном, затримка буде вищою.
Цифри в цій статті — теоретичні мінімуми, що випливають із фізики, а не результати вимірювань. Реальні значення ви можете виміряти зі свого з’єднання командами нижче.
Що таке затримка і чим вона відрізняється від пропускної здатності?
Затримка — це час, потрібний пакету, щоб дійти до сервера й повернутися, її вимірюють як час кругового проходження (RTT). Пропускна здатність — це обсяг даних за секунду. Уявіть трубу: затримка — її довжина, а пропускна здатність — ширина. Коли ви завантажуєте великий файл, найважливіша ширина. Коли надсилаєте багато малих запитів — довжина.
Скільки додає відстань?
Світло рухається у волокні зі швидкістю близько 200 000 км на секунду, тобто приблизно 200 км за мілісекунду. Реальні траси кабелів довші за пряму, а кожен маршрутизатор додає трохи часу. Тому реальні значення виходять вищими за наведені в таблиці нижче.
| Зі Стамбула до | Приблизна відстань | Теоретичний мінімум (туди й назад) |
|---|---|---|
| Анкара, Ізмір | 350 км | 3,5 мс |
| Центральна Європа | 1000-2000 км | 10-20 мс |
| Західна Європа | 2000-3000 км | 20-30 мс |
| Східне узбережжя Північної Америки | 7500-9000 км | 75-90 мс |
На що впливає затримка?
- Вебсторінки. На новому з’єднанні HTTPS перший байт надходить приблизно після 3 обмінів: 1 для TCP, 1 для TLS 1.3 і 1 для запиту та відповіді. З TLS 1.2 їх 4. Зверху додається час обробки на сервері. Якщо з’єднання використовується повторно, лишається лише 1 обмін. Коли сторінка робить десятки запитів, затримка накопичується.
- Ігри. Пінг — це час, за який кожен хід доходить до сервера й повертається. Що ближче гравці до сервера, то плавніша гра.
- SSH. Кожен символ, який ви вводите, доходить до сервера й повертається на екран. За високої затримки ви відчуваєте легке запізнення під час введення.
- Завантаження й вивантаження. Тут вирішує пропускна здатність, а затримка другорядна.
Кому корисний сервер у Туреччині?
Якщо більшість ваших відвідувачів чи команди в Туреччині, сервер у Стамбулі зводить до мінімуму затримку, яку додає відстань. Seturack має єдину локацію — Стамбул. Менша відстань, як правило, знижує затримку, але мережевий маршрут залежить не менше від того, як провайдери з’єднані між собою, ніж від відстані. Тому довіряйте власним вимірюванням, а не будь-яким заявам.
Якщо ваша аудиторія за кордоном
Якщо ваша аудиторія живе в іншій країні, затримка зростає, як показано в таблиці. Це не завжди проблема. Для панелі адміністрування, блогу чи обміну файлами трохи більша затримка часто непомітна. В іграх і застосунках реального часу вона дуже важлива. У Seturack сервер у Стамбулі, але замовити можна з будь-якої точки світу. Обслуговувати аудиторію за кордоном можна. Просто плануйте з розумінням, що затримка зросте, як показано в таблиці. Ось що можна зробити:
- Скористайтеся мережею доставки вмісту (CDN), яка кешує зображення, скрипти й таблиці стилів і віддає їх із точки поруч із користувачем. Динамічні сторінки й далі надходитимуть із вашого сервера.
- Увімкніть на сервері HTTP/2 або HTTP/3 і стиснення, щоб багато запитів ділили одне з’єднання.
- Зменште кількість запитів на сторінку та розмір зображень.
- Якщо більшість користувачів зосереджена в одному регіоні, враховуйте цей регіон, обираючи, де розташувати сервер.
Виміряйте самі
Виміряйте затримку від свого з’єднання до IP-адреси сервера:
ping -c 10 SERVER_IP
У Windows замість -c використовуйте -n. Середнє значення у виводі — це час кругового проходження. Не дивіться лише на середнє: якщо різниця між значеннями min, max і mdev (stddev у macOS) велика, затримка нестабільна (джитер). Втрата пакетів також псує ігри й голосові застосунки. Повторюйте вимірювання в різний час доби, бо в години пік значення можуть змінюватися. Щоб побачити, на якій ділянці шляху все сповільнюється та де губляться пакети, виконайте:
mtr -rwc 20 SERVER_IP
У macOS mtr потрібно встановлювати окремо. Щоб розкласти, куди йде час на вебсайті, скористайтеся:
curl -o /dev/null -s -w "dns:%{time_namelookup} connect:%{time_connect} tls:%{time_appconnect} firstbyte:%{time_starttransfer} total:%{time_total}\n" https://example.com
Значення накопичувальні, у секундах від початку запиту. Різниця між firstbyte і tls — це один обмін плюс час, який сервер витрачає на підготовку сторінки. Якщо ця різниця велика, проблема не у відстані, а в застосунку чи базі даних.
Чи справді повільність через затримку?
Не кожне сповільнення виникає через відстань. Частина затримки йде від власної мережі користувача (Wi-Fi, мобільний інтернет). За результатами вимірювань причини можна розрізнити так:
| Що ви бачите? | Імовірна причина | Що робити |
|---|---|---|
| Високий пінг, а mtr показує, що затримка рівномірно зростає вздовж шляху | Відстань або мережевий маршрут | Наблизьте сервер до аудиторії, скористайтеся CDN |
| Високий пінг, але перші стрибки в mtr уже високі | Ваша локальна мережа (Wi-Fi, мобільний інтернет) | Спробуйте дротове підключення або іншу мережу |
| Низький пінг, але велика різниця між firstbyte і tls | Сервер повільно готує сторінку | Кешування, запити до бази даних, RAM і vCore |
| Пінг і firstbyte нормальні, але сторінка відкривається пізно | Вага сторінки, забагато запитів | Зменште зображення, скоротіть скрипти |
Якщо проблеми на боці сервера, перевірте також використання пам’яті й процесора. За потреби сервер можна збільшити в панелі.
Якщо хочете мати сервер у Стамбулі, свою ціну можна розрахувати на сторінці цін.
Коментарі0
Коментарів поки немає
Поділіться своєю думкою першим.
Будь ласка, увійдіть або зареєструйтеся, щоб залишити коментар.