Пара слов о самой утилите iperf
iPerf - инструмент командной строки, используемый для диагностики проблем со скоростью сети путем измерения максимальной сетевой пропускной способности, которую может обработать сервер. Это особенно полезно при возникновении проблем со скоростью сети, поскольку вы можете использовать iPerf, чтобы определить, какой сервер является узким местом.
Как установить
Debian and Ubuntu
apt-get install iperf
CentOS
В репозитории CentOS этой утилиты нет. Поэтому нужно подключить дополнительный репозиторий EPEL.
yum install epel-release
yum update
yum install iperf
Arch Linux
pacman -S iperf
openSUSE
zypper install iperf
Gentoo
emerge iperf
Использование утилиты iperf
iPerf должен быть установлен на компьютерах на обоих концах тестируемого соединения. Если вы используете Linux на своем персональном компьютере, вы можете установить iPerf на свой локальный компьютер. iPerf требует две системы, потому что один хост должен действовать как сервер, а другой - как клиент. Клиент подключается к серверу, скорость которого вы проверяете.
Как запустить iperf в режиме сервера
iperf -s
В результате получите примерно такой вывод:
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size: 85.3 KByte (default)
------------------------------------------------------------
На второй машине нужно запустить iperf в режиме клиента, который подключится к первому хосту:
iperf -c <IP address>
Вместо <IP address> укажите реальный адрес сервер-системы.
------------------------------------------------------------
Client connecting to 212.14.36.8, TCP port 5001
TCP window size: 45.0 KByte (default)
------------------------------------------------------------
[ 3] local 212.14.36.8 port 50616 connected with 198.51.100.5 port 5001
[ ID] Interval Transfer Bandwidth
[ 3] 0.0-10.1 sec 1.47 GBytes 1.1 Gbits/sec
При этом на стороне сервера будет нечто вроде такого:
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size: 85.3 KByte (default)
------------------------------------------------------------
[ 4] local 212.14.36.8 port 5001 connected with 212.14.36.22 port 50616
[ ID] Interval Transfer Bandwidth
[ 4] 0.0-10.1 sec 1.29 GBytes 1.18 Gbits/sec
Что бы остановить iperf, достаточно нажать Ctrl + C.
Использование iperf в UDP режиме
Что бы запустить сервер на UDP сокете, выполните:
iperf -s -u
------------------------------------------------------------
Server listening on UDP port 5001
Receiving 1470 byte datagrams
UDP buffer size: 208 KByte (default)
------------------------------------------------------------
Далее, подключитесь к вашему UDP-серверу (укажите правильный IP адрес вместо <ip address>):
iperf -c <ip address> -u
------------------------------------------------------------
Client connecting to 212.14.36.8, UDP port 5001
Sending 1470 byte datagrams
UDP buffer size: 208 KByte (default)
------------------------------------------------------------
[ 3] local 212.14.36.22 port 58070 connected with 212.14.36.8 port 5001
[ ID] Interval Transfer Bandwidth
[ 3] 0.0-10.0 sec 1.28 MBytes 1.09 Mbits/sec
[ 3] Sent 893 datagrams
[ 3] Server Report:
[ 3] 0.0-10.0 sec 1.28 MBytes 1.09 Mbits/sec 0.074 ms 0/ 893 (0%)