Програмата iperf3
е инструмент за тестване на мрежовата скорост. Тя позволява на потребителите да измерват максималната пропускливост на TCP и UDP връзки между две машини в мрежата. iperf3
е разработен като по-нова версия на оригиналния iperf
и добавя множество нови функции и подобрения.
С помощта на iperf3
може да се извършват различни видове тестове, като настройка на различни параметри на TCP/UDP сесии, измерване на производителността на мрежата при различни условия, както и тестване на скоростта и качеството на интернет връзката. Програмата се използва предимно от системни администратори и инженери за диагностика на мрежови
проблеми и за планиране на увеличение на мрежови ресурси.
iperf3
работи като установява връзка между две машини в мрежата, едната като сървър и другата като клиент, и пренася данни между тях за определен период от време, за да измери пропускливостта на мрежата. Ето стъпките, по които обикновено протича измерването с iperf3
:
Инсталиране на iperf3 в Ubuntu/Debian
sudo apt install iperf3
- Стартиране на сървъра: На машината, която ще действа като сървър, се стартира
iperf3
в режим на сървър с командатаiperf3 -s
. Тази команда кара програмата да слуша за входящи връзки на стандартния порт 5201 или на друг порт, определен от потребителя. - Свързване на клиента: На другата машина, която ще бъде клиент, се стартира
iperf3
с командатаiperf3 -c <IP_адрес_на_сървъра>
. Този IP адрес е този на сървъра. Клиентът се свързва със сървъра и започва изпращането на данни. - Пренос на данни: След установяване на връзката,
iperf3
на клиента започва да изпраща данни към сървъра. Пренасянето на данни продължава за зададения от потребителя период от време (стандартно 10 секунди, но може да бъде променен). - Измерване на пропускливостта: Програмата измерва количеството данни, които успешно са преминали през мрежата за времето на теста. На базата на тези данни,
iperf3
изчислява пропускливостта на мрежата в битове в секунда (bps), килобитове в секунда (kbps), мегабитове в секунда (Mbps) или гигабитове в секунда (Gbps). - Отчитане на резултатите: След приключване на теста, и сървърът, и клиентът получават детайлен отчет за пропускливостта, както и друга информация като загуба на пакети, време на забавяне и др.
iperf3
поддържа различни параметри за тестване, като може да се настройва типа на протокола (TCP или UDP), размера на буфера, размера на прозореца на TCP и много други опции, което позволява на потребителите да тестват мрежата в различни условия и да оценят различни аспекти на мрежовата производителност.
iperf3 сървър
sudo iperf3 -s
iperf3 клиент
sudo iperf3 -c itservice-bg.net
iperf3
предлага множество опции за конфигуриране на мрежови тестове, които позволяват на потребителите да адаптират тестовете според специфичните нужди на тяхната мрежа. Ето някои от основните опции, които iperf3
предоставя:
Общи опции:
-c, --client <hostname>
: Задава сървъра, с който клиентът трябва да се свърже.-s, --server
: Стартираiperf3
в режим на сървър.-p, --port <port>
: Задава порта, който да се използва за връзката. Стандартният порт е 5201.-i, --interval <seconds>
: Задава интервала на време в секунди между последователните отчети за пропускливост.-f, --format [kmgtKMGT]
: Задава единиците за измерване на пропускливостта (Kbits, Mbits, Gbits).-t, --time <seconds>
: Определя продължителността на теста в секунди.-V, --verbose
: Показва повече информация по време на изпълнение.
Опции за TCP:
-P, --parallel <number>
: Задава броя на паралелните TCP потоци.-w, --window <size>
: Задава размера на TCP прозореца (например 16KB, 1MB).-M, --set-mss <size>
: Задава размера на максималния сегмент (MSS) за TCP връзките.-N, --no-delay
: Изключва алгоритъма на Nagle, което е полезно за тестове на задръствания.-4, --version4
: Само използването на IPv4.-6, --version6
: Само използването на IPv6.
Опции за UDP:
-b, --bandwidth <bandwidth>
: Задава желаната пропускливост за UDP (например 1M за 1 Mbps).-u, --udp
: Използва UDP вместо стандартния TCP.--len <length>
: Задава дължината на четените и писаните буфери (по подразбиране е 128 KB за TCP, 8 KB за UDP).
Разширени и експериментални опции:
-k, --blockcount <number>
: Задава броя на блоковете, които да се изпратят (вместо време).--logfile <file>
: Записва изхода в указан файл.--repeating-payload
: Използва повтарящи се шаблони за данни за UDP, което е полезно при определени тестове.
Тези опции предоставят гъвкавост за настройка на различни аспекти на теста, което прави iperf3
изключително полезен инструмент за тестване на мрежовата пропускливост и производителност.