Перевірка швидкості відповіді серверу

Багато клієнтів звертаються до служби технічної підтримки з подібними претензіями: Я підключаюся до сервера, але файли передаються повільно зі швидкістю 10 MB/s з тарифом 100 Mbit/s. Або: У нас в офісі тариф 1 Gbit/s і ми орендуємо сервер зі швидкістю 1 Gbit/s, а файли передаються довго і т.д.

Отже, чому таке може відбуватися? Давайте розбиратися по порядку. На перше запитання відповідь цілком проста, це лише різниця в одиницях вимірювань. Історично так склалося, що всі інтернет-провайдери завжди пропонували свої послуги вимірюючи швидкість в "бітах", у той час як виробники програмного забезпечення та операційних систем проводять вимірювання в "байтах", що і призводить до різниці в 8 разів.

Багато хто скаже, мовляв, зачекайте, адже навіть якщо так, все одно не вистачає ще 20 Mbit, або 2,5 MB/s як тепер ми знаємо. І тут ми вже говоримо про наступне питання.

Справа в тому, що досягнення максимальної швидкості, вказаної за тарифом, можливе в лабораторних умовах і практично неможливе в реальних умовах експлуатації, що частково підтверджується сервісами перевірки швидкості інтернету (наприклад, speedtest.net). Але не поспішайте гніватися, ніхто не намагається вкрасти у вас ці ~20%. В основному, за рахунок цієї різниці досягається цілісність доставки даних.

Різниця може бути навіть більшою, особливо при збільшенні ширини каналу, і тому є ціла низка можливих причин такої поведінки.

  1. Найперша з можливих і найчастіших причин, це використання протоколу, що не підходить за призначенням. При використанні таких протоколів як RDP(Windows)/SSH(Linux) часто швидкість передачі файлів може бути навіть менше 10% від ширини інтернет каналу. Оскільки основне завдання цих протоколів – це підтримка зв'язку для керування віддаленим пристроєм, і якщо весь канал займе передача файлів, то сервером вже управляти не вдасться.

  2. Друга за поширеністю причина – це пляшкова шийка. Під цим терміном мають на увазі наявність вузького місця на шляху проходження даних. Наприклад, Ви замовили послугу із шириною каналу 1 Gbit/s, швидкість інтернет провайдера становить 1 Gbit/s, але використовується застарілий Wi-Fi маршрутизатор, який не може передавати інформацію на ваш пристрій з такою швидкістю. Також можливо, що такий ефект може виникати тимчасово у провайдерів у зв'язку з проблемами, аваріями, сплесками навантаження, не оптимальною конфігурацією обладнання і т.д.

  3. Внутрішні механізми ТСР, що впливають на швидкість завантаження. Більшість сучасних протоколів передачі на рівні додатка спираються на більш низько рівневі мережеві протоколи. Найчастіше використовується протокол TCP. Завдяки TCP розробникам не потрібно повторно реалізовувати велику кількість функціоналу, наприклад перевірку доставки пакетів. Але протокол TCP для своєї роботи створює сесії. Швидкість по одній такій сесії рідко може перевищувати 300 Mbit/s, зазвичай менше у кілька разів.

  4. Затримка (пінг/лаг) у мережі. Чим більша відстань між вашим пристроєм і сервером, тим більше часу потрібно для передачі даних туди і назад через затримки в мережі.

  5. Неефективні мережеві шляхи. Маршрути, які долають дані від сервера до вас, можуть бути не оптимальними, що може призвести до уповільнення передачі даних.

Це лише кілька основних причин падіння швидкості передачі файлів. На одні ви можете вплинути, на інші може вплинути ваш провайдер послуг, на деякі причини, на жаль, вплинути неможливо.

Вивчивши необхідну теорію, можна замислитися, як правильно виміряти швидкість до мого серверу чи VPS. Для цього існують різні спеціальні сервіси, найпопулярнішим з яких, на сьогоднішній день, є iPerf3.

iPerf3 – кросплатформова консольна клієнт-серверна програма, генератор TCP, UDP та SCTP трафіку для тестування пропускної спроможності мережі. Функціонал клієнта та сервера є повністю безкоштовним. Їх досить просто встановити на будь-якій популярній операційній системі.

Давайте коротко ознайомимося із використанням цієї програми. Більш докладну документацію надано на офіційному сайті проекту, там її можна і завантажити. Для використання цієї утиліти необхідно запустити програму на одній із точок у ролі сервера та підключитися до запущеного сервера у ролі клієнта.

Якщо ви тільки плануєте стати клієнтом компанії SIM-Networks і хочете переконатися у швидкості підключення до мережі, зверніться до служби технічної підтримки як зареєстрований користувач. Вам нададуть адресу із запущеною в ролі сервера програмою iPerf3.

Покрокова інструкція запуску iPerf3 для Windows

Для запуску iPerf3 у ролі сервера вам обов'язково слід дотримуватися двох правил:

  1. Сервер повинен бути доступний через мережу з точки перевірки, там, де iPerf3 буде запущений як клієнт.
  2. На сервері повинні бути для вхідного підключення відкриті TCP та UDP порти на якому запущено сервер iPerf3 (за замовчуванням - 5201).

Після того, як Ви завантажили програму з офіційного сайту і переконалися в доступності сервера по мережі, нам насамперед потрібно налаштувати брандмауер Windows.

Запустіть командний рядок від імені адміністратора та введіть по черзі 2 команди:

netsh advfirewall firewall add rule name="Allow TCP Port 5201 for iPerf3" dir=in action=allow protocol=TCP localport=5201

netsh advfirewall firewall add rule name="Allow UDP Port 5201 for iPerf3" dir=in action=allow protocol=UDP localport=5201

Також цю дію можна виконати у графічному режимі, необхідні права адміністратора. Для цього запустіть "Панель керування" -> "Система та безпека" -> "Брандмауер Windows Defender" ліворуч у стовпці з навігацією знайдіть "Додаткові параметри".

У вікні виберіть "Правила для вхідних підключень"

Отже, на цьому етапі нам необхідно створити 2 правила: 1 – для підключення TCP і 2 – для підключення UDP. Натискаємо "Створити правило" -> Встановлюємо галочку "Для порту" -> Вперше залишаємо "Протокол TCP, вдруге змінюємо на "Протокол UDP" у полі "Певні локальні порти" вводимо порт 5201 -> Вибираємо "Дозволити підключення" -> Встановлюємо галочки навпроти всіх профілів -> Вказуємо зрозуміле для Вас ім'я правила "Allow TCP/UDP Port 5201 for iPerf3"

Коли ми створили правила дозволу, можемо запустити наш iPerf3 як сервер. Для цього нам необхідно знайти каталог із завантаженою та розархівованою програмою та відкрити у командному рядку. Натискаємо на каталозі правою кнопкою миші із затисненим Shift, вибираємо "Відкрити вікно PowerShell".

Таким чином, командний рядок відкриється в потрібній нам директорії і нам залишиться тільки запустити сервер iPerf3 командою:

.\iperf3.exe -s

Якщо Ви спостерігаєте схожу картину, сервер запущено вдало. Нам залишилося лише підключиться до нього за допомогою клієнта.

Тепер на пристрої, з якого будемо проводити тестування, так само відкриємо командний рядок, але введемо одну з наступних команд для підключення:

.\iperf3.exe -c ip_your_server -P 5 -t 180 -p 5201

.\iperf3.exe -c ip_your_server -P 5 -t 180 -p 5201 -R

Тепер трохи докладніше про ключі для запуску:

Ключ Опис
-c ip_your_server Запуск клієнта для підключення до сервера ip_your_server. Увага! ip_your_server необхідно замінити на реальну адресу.
-P 5 Запускає тестування у 5 потоків. Рекомендовані значення від 3 до 5.
-t 180 Тестування триватиме протягом 180 секунд.
-p 5201 Вказуємо порт, на якому запущено сервер, в даному випадку порт за замовчуванням.
-R Запускає тестування у реверсивному режимі, перевіряє швидкість від сервера до клієнта.

Тестування в один потік не має великого сенсу з наведених на початку причин.

Через вказане, у ключі -t кількості секунд, ви побачите усереднений результат за загальною швидкістю:

Також для порівняння необхідно протестувати UDP. Його показники відрізнятимуться від TCP. Тестування UDP у багатопотоковому режимі недоцільне. Однак, необхідно за допомогою параметра "-b" задати ширину потоку, що генерується. Інакше він становитиме 1 Mbit/s. За основу можна взяти результати тесту TCP, але завищивши приблизно вдвічі.

iperf3.exe -c ip_your_server -t 180 -p 5201 -u -b 900M

iperf3.exe -c ip_your_server -t 180 -p 5201 -u -b 900M –R

Ключ Опис
-c ip_your_server Запуск клієнта для підключення до сервера ip_your_server. Увага! ip_your_server необхідно замінити на реальну адресу
-u Запускає тестування за протоколом UDP.
-b 900 Задаємо ширину потоку, що генерується.
-t 180 Тестування триватиме протягом 180 секунд.
-p 5201 Вказуємо порт, на якому запущено сервер, в даному випадку порт за замовчуванням.
-R Запускає тестування у реверсивному режимі, перевіряє швидкість від сервера до клієнта.

Тепер, після проведення всіх 4-х тестів, ми можемо зробити повноцінні висновки щодо швидкості з'єднання між двома точками на Windows.

Конфігуратор серверу

Конфігуратор серверу

Створіть власний виділений сервер

До конфігуратора

Покрокова інструкція запуску iPerf3 для Linux

Тестування швидкості мережі на Linux відрізняється лише способом встановлення пакетів iPerf3. Тобто нам так само необхідно скачати програму і запустити її як сервер на одній стороні і як клієнт на іншій.

Встановлення iPerf3 Debian та похідних (Ubuntu/Linux Mint/Proxmox):

apt install -y iperf3

Встановлення iPerf3 RedHat та похідних (Centos/Fedora/Oracle Linux)

yum install iperf3

Встановлення iPerf3 Arch та похідних (Manjaro)

pacman -S iperf3

Так як iPerf3 є кросплатформною утилітою, то всі ключі та команди повністю збігаються з ключами для Windows. Також за замовчуванням у Linux системах брандмауер є відкритим і не потребує попередніх налаштувань.

Чи була ця стаття корисною?

Теги:

#server

Сподобалася стаття?

Згода на використання файлів cookie

Натискаючи "Я згоден", ви даєте згоду на використання файлів cookie на нашому веб-сайті, щоб надати вам найбільш релевантний досвід, запам'ятовуючи ваші уподобання та повторні відвідування. Однак ви можете відвідати "Керування файлами cookie", щоб надати контрольовану згоду. Детальніше

Налаштування файлів cookie

Функціональні

Необхідні файли cookie мають важливе значення для основних функцій веб-сайту, і без них веб-сайт не буде працювати належним чином.

Аналітичні

Аналітичні файли cookie використовуються для розуміння того, як відвідувачі взаємодіють із веб-сайтом.

Рекламні

Рекламні файли cookie використовуються для надання відвідувачам релевантної реклами та маркетингових кампаній.