Всем привет, мы снова встретились, я ваш друг Цюаньчжаньцзюнь.
iperf3Это полоса пропусканиятестинструмент,Он поддерживает настройку различных параметров.,Например, протокол связи,Количество пакетов данных,Продолжительность отправки,После завершения тестовый тест сообщит о пропускной способности сети.,Скорость потери пакетов и другие параметры.
Операционная система: Ubuntu20.04LTS.
Откройте терминал и введите напрямую
sudo apt-get install iperf3
Примечание. В разных системах используются разные методы установки. Здесь мы представляем только систему Ubuntu.
Экологические предположения:
Предположим, два устройства.
IP-адрес (клиента): 192.168.3.95
IP-адрес B (сервера): 192.168.3.250
Запустите окно оболочки на устройстве B (сервере) и введите команду
iperf -s -i 1
# Запускаем как сервер,Интервал эхо-сигнала отчета 1 с
Эффект следующий
TCP-тест восходящей линии связи:существоватьA(клиент)Запуск устройстваshellокно,Введите команду
iperf3 -c 192.168.3.250 -i 1 -t 10 -b 7M
#Как клиент,Подключитесь к IP-адресу сервера 192.168.3.250.,Интервал эхо-сигнала отчета 1 с,Время теста 10 с,Пропускная способность ограничена 7M.。
Результаты испытаний следующие:
Результат нашей тестовой пропускной способности здесь составляет около 7,02 МБ, поскольку мы ограничили пропускную способность тестовых данных до 7 МБ, а это означает, что фактическая пропускная способность должна быть больше этой. Во время теста, если будет обнаружено, что тестируемая пропускная способность равна. близко к ограниченной полосе пропускания. Это означает, что настройка ограничения слишком мала, и вам необходимо соответствующим образом настроить параметр -b или обратиться к индикаторному тесту, предоставленному производителем оборудования.
Затем мы устанавливаем параметр -b на 70M, и результаты теста следующие:
Видно, что фактическая скорость теста TCP-канала составляет 19,1 М/с. Мы также можем увеличить время теста, чтобы повысить точность теста.
Еще один момент: результат отправителя составляет 0 бит/сек, поскольку мы тестировали только данные восходящей линии связи. Как же проверить скорость передачи данных нисходящей линии связи?
TCP-тест нисходящей линии связи:существоватьA(клиент)Запуск устройстваshellокно,Введите команду
iperf3 -c 192.168.3.250 -i 1 -t 10 -b 7M -R
#Как клиент,Подключитесь к IP-адресу сервера 192.168.3.250.,Интервал эхо-сигнала отчета 1 с,Время теста 10 с,Пропускная способность ограничена 7M.,-Rдля реверсатест,Этот параметр также является главной изюминкой iperf3.,Поддерживает прямое преобразование направления отправки данных.
Результаты испытаний следующие:
Результат нашего теста пропускной способности нисходящего канала TCP составляет около 2,4 МБ.
Вы можете продолжать использовать сервер в случае 1. Если он не открыт, обратитесь к методу открытия сервера в случае 1. Будьте осторожны, не открывайте несколько серверов одновременно.
Запустите окно оболочки на устройстве B (сервере) и введите команду
iperf -s -i 1
# Запускаем как сервер,Интервал эхо-сигнала отчета 1 с,Сервер не различает TCP или UDP.
Эффект следующий:
UDP-тест восходящего канала:существоватьA(клиент)Запуск устройстваshellокно,Введите команду
iperf3 -u -c 192.168.3.250 -b 70M -i 1 -t 10
#Запуск от имени клиента,Ограничить пропускную способность до 70M,Интервал эхо-сигнала отчета 1 с,Время теста 10 с
Результаты испытаний следующие:
Данные здесь показывают, что результат пропускной способности равен 0. Он должен отображать только результаты нисходящей линии связи, поэтому мы смотрим на результаты клиента.
Мы провели здесь тестирование и обнаружили, что пропускная способность восходящего канала UDP составила 35,4 М/с, джиттер задержки (дрожание) — 0,36 мс, а уровень потери пакетов — 12%.
Если во время теста обнаруживается, что тестируемая пропускная способность близка к ограниченной пропускной способности, это означает, что значение ограничения слишком мало. Вам необходимо соответствующим образом настроить параметр -b или обратиться к индикаторному тесту, предоставленному производителем оборудования. .
Здесь мы протестировали скорость восходящего канала UDP, так как же проверить скорость нисходящего канала UDP?
UDP-тест нисходящей линии связи:существоватьA(клиент)Запуск устройстваshellокно,Введите команду
iperf3 -u -c 192.168.3.250 -b 70M -i 1 -t 10 -R
#Запуск от имени клиента,Ограничить пропускную способность до 70M,Интервал эхо-сигнала отчета 1 с,Время теста 10 с
Результаты испытаний следующие:
Мы провели здесь тестирование и обнаружили, что пропускная способность восходящей линии связи UDP составила 47 М/с, джиттер задержки (дрожание) — 0,347 мс, а уровень потери пакетов — 32%. Здесь следует отметить, что -R меняет местами отправителя и получателя, поэтому статистические результаты необходимо рассчитывать со стороны получателя, иначе статистика по задержкам и потерям пакетов будет бессмысленной.
Мы можем напрямую обратиться к справочной документации, поставляемой вместе с системой, следующим образом:
Usage: iperf [-s|-c host] [options]
iperf [-h|--help] [-v|--version]
Server or Client:
-p, --port # server port to listen on/connect to
-f, --format [kmgKMG] format to report: Kbits, Mbits, KBytes, MBytes
-i, --interval # seconds between periodic bandwidth reports
-F, --file name xmit/recv the specified file
-A, --affinity n/n,m set CPU affinity
-B, --bind <host> bind to a specific interface
-V, --verbose more detailed output
-J, --json output in JSON format
--logfile f send output to a log file
-d, --debug emit debugging output
-v, --version show version information and quit
-h, --help show this message and quit
Server specific:
-s, --server run in server mode
-D, --daemon run the server as a daemon
-I, --pidfile file write PID file
-1, --one-off handle one client connection then exit
Client specific:
-c, --client <host> run in client mode, connecting to <host>
-u, --udp use UDP rather than TCP
-b, --bandwidth #[KMG][/#] target bandwidth in bits/sec (0 for unlimited)
(default 1 Mbit/sec for UDP, unlimited for TCP)
(optional slash and packet count for burst mode)
-t, --time # time in seconds to transmit for (default 10 secs)
-n, --bytes #[KMG] number of bytes to transmit (instead of -t)
-k, --blockcount #[KMG] number of blocks (packets) to transmit (instead of -t or -n)
-l, --len #[KMG] length of buffer to read or write
(default 128 KB for TCP, 8 KB for UDP)
--cport <port> bind to a specific client port (TCP and UDP, default: ephemeral port)
-P, --parallel # number of parallel client streams to run
-R, --reverse run in reverse mode (server sends, client receives)
-w, --window #[KMG] set window size / socket buffer size
-C, --congestion <algo> set TCP congestion control algorithm (Linux and FreeBSD only)
-M, --set-mss # set TCP/SCTP maximum segment size (MTU - 40 bytes)
-N, --no-delay set TCP/SCTP no delay, disabling Nagle's Algorithm -4, --version4 only use IPv4 -6, --version6 only use IPv6 -S, --tos N set the IP 'type of service' -L, --flowlabel N set the IPv6 flow label (only supported on Linux) -Z, --zerocopy use a 'zero copy' method of sending data
-O, --omit N omit the first n seconds
-T, --title str prefix every output line with this string
--get-server-output get results from server
--udp-counters-64bit use 64-bit counters in UDP test packets
--no-fq-socket-pacing disable fair-queuing based socket pacing
(Linux only)
[KMG] indicates options that support a K/M/G suffix for kilo-, mega-, or giga-
iperf3 homepage at: http://software.es.net/iperf/
Report bugs to: https://github.com/esnet/iperf
Мы извлекли некоторые параметры, которые я использовал в процессе тестирования, и выполнили некоторый перевод и интерпретацию.
Client/Server: # Параметры, общие для клиента и сервера
Укажите номер порта, по умолчанию 5201
-p, --port # server port to listen on/connect to
Интервал между повторными отчетами
-i, --interval # seconds between periodic bandwidth reports
Показать меню помощи
-h, --help print this message and quit
показать версию
-v, --version print version information and quit
Server specific: #Частные параметры на стороне сервера
Укажите запуск в качестве сервера
-s, --server run in server mode
Client specific: #Личные параметры клиента
Параметр пропускной способности, единица измерения: байты в секунду: KMG, который представляет собой n-ную степень 2, например 1K=1024, установка 0 означает отсутствие ограничений, по умолчанию этот параметр UDP равен 1 М/с, TCP не имеет ограничений.
-b, --bandwidth #[KMG][/#] target bandwidth in bits/sec (0 for unlimited)
(default 1 Mbit/sec for UDP, unlimited for TCP)
(optional slash and packet count for burst mode)
Укажите запуск в качестве клиента, а затем IP-адрес сервера.
-c, --client <host> run in client mode, connecting to <host>
режим udp, без -u по умолчанию используется режим tcp
-u, --udp use UDP rather than TCP
Укажите время теста. Без параметров значение по умолчанию — тест10 с.
-t, --time # time in seconds to transmit for (default 10 secs)
Флип-тест, это главная особенность iperf3, он более удобен, чем iperf2, iperf2 не поддерживает эту функцию и не может быть использован
-R, --reverse reverse the test (client receives, server sends)
Размер окна TCP, по умолчанию нет верхнего предела, этот параметр не нужно задавать, и этот параметр не требуется при использовании режима тестирования UDP. , единица измерения: КМ, 1К=1024
-w, --window #[KMG] set window size / socket buffer size
· · ·
Приглашаем всех старых друзей присоединиться к нам одним щелчком мыши. В этом аккаунте будут продолжать обновляться статьи и знания, связанные с Raspberry Pi, искусственным интеллектом, автомобилями STM32 и ROS.
Если вас интересуют очки знаний, вы можете оставить сообщение под статьей, и я смогу объяснить вам это в первую очередь.
Заявление об авторских правах: Содержание этой статьи добровольно предоставлено пользователями Интернета, а мнения, выраженные в этой статье, представляют собой только точку зрения автора. Данный сайт лишь предоставляет услуги по хранению информации, не имеет никаких прав собственности и не несет соответствующей юридической ответственности. Если вы обнаружите на этом сайте какое-либо подозрительное нарушение авторских прав/незаконный контент, отправьте электронное письмо, чтобы сообщить. После проверки этот сайт будет немедленно удален.
Издатель: Full Stack Programmer - User IM, укажите источник для перепечатки: https://javaforall.cn/223414.html Исходная ссылка: https://javaforall.cn