Показать статистику
0 голосов
от (580 баллов)

В этом вопросе я уже интересовался как использовать speedtest-cli. Хотелось бы услышать мысли участников этого форума относительно иных средств тестирования производительности сетевого подключения.

305 просмотров 1 ответов

1 Ответ

0 голосов
от (17.4тыс. баллов)

Пара слов о самой утилите 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%)
...