Какой инструмент или команду вы используете для измерения пропускной способности сети между серверами?

«Какой инструмент или команду вы используете для измерения пропускной способности сети между серверами?» — вопрос из категории Сети, который задают на 23% собеседований Devops Инженер. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Для точного измерения пропускной способности (throughput) и диагностики сетевых проблем между серверами я использую iperf3. Это кроссплатформенный инструмент, работающий по модели клиент-сервер.

Типичный сценарий использования:

  1. Устанавливаем iperf3 на оба хоста.
  2. Запускаем сервер на одном из них (например, на целевом хосте или хосте-получателе):
    iperf3 -s
  3. Запускаем клиент на другом хосте, указывая IP-адрес сервера. Тест на 20 секунд с параллельными потоками для загрузки канала:
    iperf3 -c 10.0.1.5 -t 20 -P 4

    Результат покажет полосу пропускания в Гбит/с или Мбит/с, джиттер и потери пакетов.

Для других задач:

  • netperf — для более сложных тестов, например, измерения производительности RPC.
  • Встроенные облачные инструменты (например, AWS CloudWatch Network Insights, VPC Flow Logs) — для анализа трафика в облачных сетях.
  • ping и mtr — для первоначальной проверки задержки (latency) и потерь, но не пропускной способности.

Ключевой момент: тесты нужно проводить в обход фаерволов и в периоды низкой сетевой нагрузки для чистоты измерений.