Назад | Перейти на главную страницу

Iperf с одного интерфейса на другой на одном компьютере?

Мне нужно проверить пропускную способность сети от сервера к самому себе (это длинная история!).

Я люблю Iperf и использую его по сети, но я просто не могу понять, как привязать его к единому интерфейсу и слушать только через него.

Из документации я бы предположил, что это сработает: iperf -B eth0 -s для привязки одного экземпляра к eth0, затем в другом сеансе: iperf -B eth1 -c ip.of.eth.1.

Это вообще не работает, да и вообще не работает. Если я использую ip вместо интерфейса, он работает, но пропускная способность составляет 29 Гбит / с - так что, если не происходит какой-то магии, где у меня есть супер-сервер с картой 30 Гбит / с, я предполагаю, что я я даже не трогаю сеть, и это просто происходит локально.

Может ли кто-нибудь помочь мне здесь или узнать о лучшем тесте / инструменте?

Да, этот трафик передается локально, не доходя до ваших физических интерфейсов. Он передается с использованием интерфейса обратной связи. Ядро определяет, что пункт назначения является локальным, поэтому трафик возвращается на саму машину без прохождения через eth0 или eth1.

Я знаю, что это старый, но публикация на случай, если это поможет кому-то еще.

Цитата из Пользовательская документация iPerf 2

Если iPerf находится в режиме сервера, то указание хоста с помощью -c ограничит количество подключений, которые iPerf будет принимать с указанным хостом. Не работает для UDP.

Я использовал это для выполнения тестов пропускной способности TCP на Windows 7 64-битная от LAN к интерфейсам WiFi. Работал нормально ни с iperf 2.0.8 или 2.0.5, не уверен в других версиях. См. Ниже используемые команды.

iperf.exe -B 192.168.0.1 -s -c 192.168.0.2 -P 0 -i 1 -p 5001 -f m

iperf.exe -B 192.168.0.2 -c 192.168.0.1 -P 1 -i 1 -p 5001 -f m -t 100 -F c:\data.bin