Com provar el rendiment de la xarxa mitjançant l'eina iperf3 a Linux


iperf3 és un programa gratuït de codi obert i multiplataforma basat en línia d'ordres per realitzar mesures de rendiment de xarxa en temps real. És una de les eines potents per provar l'amplada de banda màxima possible a les xarxes IP (admet IPv4 i IPv6).

Amb iperf, podeu ajustar diversos paràmetres associats amb el temps, els buffers i protocols com ara TCP, UDP, SCTP. És útil per a les operacions d'ajust del rendiment de la xarxa.

Per tal d'aconseguir un rendiment de xarxa màxim o millorat, cal augmentar el rendiment i la latència de les capacitats de recepció i enviament de la vostra xarxa. Tanmateix, abans de poder entrar a l'ajustament real, heu de realitzar algunes proves per recopilar estadístiques generals de rendiment de la xarxa que guiaran el vostre procés d'ajust.

Els seus resultats inclouen interval de temps en segons, dades transferides, amplada de banda (taxa de transferència), pèrdua i altres paràmetres útils de rendiment de la xarxa. Està pensat principalment per ajudar a ajustar les connexions TCP per un camí particular i això és el que ens centrarem en aquesta guia.

  • Dos ordinadors en xarxa que tenen instal·lat iperf3.

Com instal·lar iperf3 en sistemes Linux

Abans de començar a utilitzar iperf3, heu d'instal·lar-lo a les dues màquines que utilitzareu per a l'anàlisi comparativa. Atès que iperf3 està disponible als dipòsits oficials de programari de les distribucions Linux més comunes, la instal·lació hauria de ser fàcil, utilitzant un gestor de paquets com es mostra.

$ sudo apt install iperf3	#Debian/Ubuntu
$ sudo yum install iperf3	#RHEL/CentOS
$ sudo dnf install iperf3	#Fedora 22+ 

Un cop hàgiu instal·lat iperf3 a les dues màquines, podeu començar a provar el rendiment de la xarxa.

Com provar el rendiment de la xarxa entre servidors Linux

En primer lloc, connecteu-vos a la màquina remota que utilitzareu com a servidor i engegueu iperf3 en mode servidor mitjançant el senyalador -s, escoltarà al port 5201 per defecte.

Podeu especificar el format (k, m, g per a Kbits, Mbits, Gbits o K, M, G per a KBytes, Mbytes, Gbytes) en què voleu informar, utilitzant l'interruptor -f tal com es mostra.

$ iperf3 -s -f K 

Si un altre programa del vostre servidor està utilitzant el port 5201, podeu especificar un port diferent (per exemple, 3000) utilitzant l'interruptor -p tal com es mostra.

$ iperf3 -s -p 3000

Opcionalment, podeu executar el servidor com a dimoni, utilitzant la marca -D i escriure missatges del servidor en un fitxer de registre, de la manera següent.

$ iperf3 -s -D > iperf3log 

A continuació, a la vostra màquina local, que tractarem com el client (on es fa l'anàlisi comparativa real), executeu iperf3 en mode client utilitzant la marca -c i especifiqueu l'amfitrió en què s'executa el servidor (o bé utilitzant la seva adreça IP o domini o nom d'amfitrió).

$ iperf3 -c 192.168.10.1 -f K

Després d'uns 18 a 20 segons, el client hauria de finalitzar i produir resultats que indiquin el rendiment mitjà de la referència, tal com es mostra a la captura de pantalla següent.

Important: a partir dels resultats de referència, tal com es mostra a la captura de pantalla anterior, hi ha una variació en els valors del servidor i del client. Però, sempre hauríeu de considerar utilitzar els resultats obtinguts de la màquina client iperf en cada prova que feu.

Com realitzar un rendiment avançat de proves de xarxa a Linux

Hi ha una sèrie d'opcions específiques del client per realitzar una prova avançada, tal com s'explica a continuació.

Un dels factors importants que determinen la quantitat de dades a la xarxa en un moment determinat és la mida de la finestra TCP: és important per ajustar les connexions TCP. Podeu establir la mida de la finestra/la mida del buffer del sòcol utilitzant el senyalador -w tal com es mostra.

$ iperf3 -c 192.168.10.1 -f K -w 500K	

Per executar-lo en mode invers on el servidor envia i el client rep, afegiu l'interruptor -R.

$ iperf3 -c 192.168.10.1 -f K -w 500K -R	

Per executar una prova bidireccional, és a dir, mesurar l'amplada de banda en ambdues direccions simultàniament, utilitzeu l'opció -d.

$ iperf3 -c 192.168.10.1 -f K -w 500K -d

Si voleu obtenir resultats del servidor a la sortida del client, utilitzeu l'opció --get-server-output.

$ iperf3 -c 192.168.10.1 -f K -w 500K -R --get-server-output

També és possible establir el nombre de fluxos de client paral·lels (dos en aquest exemple), que s'executen al mateix temps, utilitzant les opcions -P.

$ iperf3 -c 192.168.10.1 -f K -w 500K -P 2

Per obtenir més informació, consulteu la pàgina de manual iperf3.

$ man iperf3

Pàgina d'inici d'iperf3: https://iperf.fr/

Això és tot! Recordeu fer sempre proves de rendiment de la xarxa abans d'anar a l'ajustament real del rendiment de la xarxa. iperf3 és una eina potent, que és útil per executar proves de rendiment de xarxa. Tens alguna idea per compartir o preguntes per fer, utilitza el formulari de comentaris a continuació.