Главная

Tuesday, 23 August 2022

Измеряем пропускную способность сети с помощью IPERF3.

Всем привет.

Утилита IPERF3 позволит убедиться что ваша система не имеет узких мест.

IPERF3 можно использовать для выявления узких мест или проблем, которые могут возникнуть во время передачи данных по сети. IPERF3 - это бесплатный инструмент с открытым исходным кодом, который широко используется для измерения максимально достижимой пропускной способности между двухточечными соединениями и может использоваться с протоколами TCP и UDP.

Узкие места могут возникать при попытке передать файлы в разные места сети. Низкая пропускная способность может произойти либо на уровне сети, либо на уровне файлового хранилища (обычно при записи и чтении с диска). 

С чего начать?

Скопируйте утилиту IPERF3 на хосты, которые вы хотите протестировать (для Windows нужна еще будет cygwin1.dll). Обеcпечьте себе доступ к обеим машинам, на которых вы будете запускать тесты. Убедитесь, что вы разрешаете трафик UDP (чтобы гарантировать, что мы сможем использовать ускорение).

Синтаксис командной строки IPERF3 прост. Общий синтаксис для запуска теста описан ниже:

  • команды на стороне сервера: iperf3 -s [ опции ]
  • команды на стороне клиента: iperf3 -c [ опции ]

Ниже перечислены некоторые из вариантов:

Общие команды IPERF3:

-f, –format [кмКМ]

Буква, указывающая формат для печати чисел пропускной способности. Поддерживаемые форматы:

'k' = Кбит / сек 'K' = КБайт / сек

'm' = Мбит / с 'M' = МБит / с

-J, –Json вывод в формате JSON.

Серверные команды IPERF3:

-F, -имя файла. На стороне сервера: чтение из сети и запись в файл, а не выбрасывание данных.

Клиентские команды IPERF3:

-F, -имя файла. На стороне клиента: чтение из файла и запись в сеть вместо использования случайных данных;

-u, –udp Используем UDP, а не TCP.

-b, – пропускная способность n [км]. Установите целевую полосу пропускания на n бит / сек (по умолчанию 1 Мбит / сек для UDP, без ограничений для TCP). Если имеется несколько потоков (флаг -P), ограничение полосы пропускания применяется отдельно к каждому потоку.  Обязательно при тестировании UDP.

-R, – реверс. Запуск в обратном режиме: сервер отправляет, клиент получает. Что очень удобно, нам не надо переключаться с клиента на сервер фактически. 

-t, –время n. Время в секундах для передачи. По умолчанию 10 секунд.


Для теста, указанного ниже, используемый сервер имеет IP-адрес 172.20.7.22, а клиент - IP-адрес 172.20.5.200.

Сетевые тесты: примеры IPERF3.

Пропускная способность UDP:

Cервер: iperf3 -с

Клиент: iperf3 -c 172.20.7.22 -P 2 -t 10 -b 1G -u

С этими результатами мы сможем увидеть потерю пакетов, если UDP-трафик разрешен и сетевой джиттер (джиттер - это изменение задержки полученных пакетов в результате перегрузки сети, неправильной организации очереди и т.д.).


Пропускная способность TCP:

При определенных обстоятельствах нам может потребоваться проверить пропускную способность TCP, скорее всего, для проверки многопоточного поведения TCP. Если это необходимо, вы можете использовать приведенные ниже примеры в качестве справки.

Сервер: iperf3 -s

Клиент: iperf3 -c 172.20.7.22 -P 2 -t 30. Этот тест запустит 2 потока TCP в течение 30 секунд.


Дисковые тесты: примеры IPERF3.

Тестирование диска с использованием IPERF3: Disk to Memory

Если вы запускаете тест несколько раз, убедитесь в следующем:

  • использование другого файла при каждом запуске
  • используйте каждый раз команду, чтобы очистить дисковый кеш: echo 3> / proc / sys / vm / drop_caches ** (под root)

Для этого теста использовались файлы размером 52 ГБ и 20 ГБ, передаваемые от клиента к серверу. Для первого теста запустите тест, как мы делали до этого, используя следующие команды:

Сервер: iperf3 -s

Клиент: iperf3 -c 172.20.7.22 -i2 -t30 -b 1G -u


Используя файл размером 20 ГБ:

Сервер: iperf3 -s

Клиент: iperf3 - c 172.20.722 -f /home/administrator/Desktop/20GB.mov -i2 -u -b 1G -t30


Используя файл размером 52 ГБ:

Сервер: iperf3 -s

клиент: iperf3 -c 172.20.7.22 -f /home/administrator/Desktop/52GB.mov -i2 -u -b 1G -t30


Тестирование диска с использованием IPERF3: Memory to Disk

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

Сервер: iperf3 -s -f /home/administrator/Desktop/52GB.mov

Клиент: iperf3 -c 172.20.7.22 -i2 -u -b 1G -t30


Учтите что дисковые тесты будут выполняться до конца передачи файла или до конца продолжительности теста, а самый медленный из результатов покажет вам узкое место.

Успехов.

Слава Украине!


No comments:

Post a Comment

А что вы думаете по этому поводу?