ПРИВАТНА ОФШОРНА ІНФРАСТРУКТУРА
Мережева інженеріяДля досвідчених · 4 хв читання

Розмір передачі з вимірюваннями затримки, паралелізму та пропускної здатності

Побудуйте повторювану модель передачі, використовуючи обсяг корисного навантаження, вікна доставки та час кругового обігу, а потім перевірте її, не плутаючи ярлик порту з корисною пропускною здатністю.

Автор: SwissOctet Editorial
ПРЯМА ВІДПОВІДЬ

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

01

Перетворіть вікно доставки на швидкість

Почніть з обсягу корисних даних застосунку та часу, доступного для їх доставки. Використовуючи десяткові одиниці, передавання 2 TB за дві години вимагає приблизно 278 МБ на секунду корисного навантаження, або 2.22 Gbps, без урахування протокольних накладних витрат і перерв. Ця арифметика є прикладом планування, а не виміряним результатом послуги.

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

02

Відокремте пропускну здатність порту від корисної пропускної здатності

Порт сервера описує пропускну здатність з'єднання. Корисна пропускна здатність описує дані, доставлені вашим застосунком протягом спостережуваного інтервалу. Шифрування, протокольне кадрування, повторне передавання, активність сховища та робота на приймачі займають частини цього шляху. Тому зазначений порт 10 Gbps не встановлює, що застосунок безперервно доставлятиме 10 Gbps корисного навантаження.

IETF RFC 6349 спеціально розрізняє тестування мережевого шляху та дослідження продуктивності TCP. Використовуйте це розділення у власній діагностиці. Спочатку підтвердьте, що кінцеві точки та маршрут відповідні, потім досліджуйте транспорт і застосунок. Збільшення придбаного порту не виправляє приймач, який повільно записує дані, або застосунок, який обробляє один запит за раз.

03

Зрозумійте, чому час кругового обігу має значення

TCP контролює, скільки даних може залишатися в дорозі до повернення підтверджень. Добуток пропускної здатності на затримку дає корисний масштаб для цього: швидкість, помножена на час кругового обігу. Гіпотетичний шлях 10 Gbps із 40 мілісекундами затримки кругового обігу представляє близько 50 МБ у дорозі. Цей розрахунок пояснює, чому затримка та транспортна поведінка належать до планування високошвидкісних передач.

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

04

Побудуйте контрольовану матрицю тестів

Використовуйте лише кінцеві точки, якими ви володієте або які вам дозволено тестувати. Узгодьте вікно тесту та швидкість, щоб вправа не порушувала нормальну роботу служби. Такі інструменти, як iperf3, надають налаштовуваний напрямок, тривалість і паралельні потоки; офіційна документація визначає ці елементи керування. Записуйте версію, кінцеві точки, контекст маршруту та налаштування разом із результатом, щоб інший оператор міг його відтворити.

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

ТестЩо він досліджуєЩо воно не доводить
Один транспортний потікПоведінка шляху одного потокуСукупна доставка застосунку
Кілька паралельних потоківПаралелізм і сукупні обмеженняШвидкість передавання одного клієнта
Передавання застосункуСховище, протокол і програмне забезпечення разомПродуктивність для кожного набору даних
Повтор у піковий періодВаріація за реалістичної активностіПостійна гарантія пропускної здатності
05

Спостерігайте за кінцевими точками під час тесту

Записуйте використання CPU, тиск на пам'ять, активність сховища та лічильники помилок на обох кінцях. Результат передавання без спостережень за кінцевими точками може залишити справжнє обмеження невидимим. Перевірте, чи один процес або CPU насичений, тоді як інші простоюють. Уникайте зміни кількох налаштувань одночасно, бо це ускладнює визначення, яке коригування допомогло.

Відокремте тест із підтримкою пам'яті від тесту, який читає та записує реальні дані. Перший може допомогти дослідити транспортний шлях; другий більше відображає роботу застосунку. Якщо результати різко відрізняються, дослідіть сховище та обробку, а не розглядайте показник із підтримкою пам'яті як обіцянку доставки. Обидва вимірювання можуть бути корисними, коли їхній обсяг зрозумілий.

06

Тестуйте застосунок із реалістичними навантаженнями

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

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

07

Використайте результат для вибору конфігурації

Корисний результат — це вимога до ресурсів із доказами: виміряна швидкість корисного навантаження, прийнятний час завершення, очікуваний паралелізм і відомий обмежувальний етап. Порівняйте мережеві варіанти SwissOctet із цією вимогою, включаючи дозволений трафік і специфікації CPU та сховища. Саме розташування не визначає маршрут або наскрізну затримку до кожного приймача.

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

ПЕРЕТВОРІТЬ ЦЕ НА ДІЮ

Ваш практичний контрольний список.

  • Обчисліть швидкість корисного навантаження з обсягу та граничного терміну.
  • Змоделюйте перекриття передавань і напрямок.
  • Узгодьте дозволені кінцеві точки тестування та обмеження.
  • Порівняйте один потік, паралелізм і тести застосунку.
  • Спостерігайте за обома кінцевими точками під час тестування.
  • Збережіть відтворюваний базовий рівень і корисний запас.
ПОШИРЕНІ ЗАПИТАННЯ

Деталі, які мають значення.

Чи завжди більше вікно TCP виправляє повільне передавання?+

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

Навіщо тестувати один потік і кілька потоків?+

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

Чи можу я запустити тест пропускної здатності проти будь-якого публічного сервера?+

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

ОСНОВНІ ДЖЕРЕЛА

Перейдіть до джерела.

Ці джерела підкріплюють технічні концепції в цьому посібнику. Дотримуйтеся поточної документації перед зміною робочої системи.

  1. IETF RFC 6349: Основа для тестування пропускної здатності TCP datatracker.ietf.org
  2. ESnet: Виклик iperf3 software.es.net

Редакційне керівництво від SwissOctet. Приклади є ілюстративними. Специфікації послуг, доступні опції та договірні умови потрібно перевіряти окремо.

ПОЄДНАЙТЕ ЗНАННЯ

Пов'язана інфраструктура.

ЗБЕРІГАЙТЕ НИТКУ

Ваші наступні польові нотатки.

Дослідити всі посібники