Com diagnosticar la velocitat de xarxa usant Iperf?

Actualitzat el 17 d’agost, 2016. Per Bluehosting.

Els administradors de sistemes Linux i els administradors de xarxa sovint troben que és complicat diagnosticar la degradació de velocitat a la xarxa, ja que no hi ha moltes eines disponibles per diagnosticar aquests problemes. La comanda Iperf és una eina de la línia d’ordres utilitzada en el diagnòstic de problemes de velocitat de xarxa.
Iperf mesura la capacitat màxima de processament de xarxa que pot gestionar un servidor . És particularment útil quan s’experimenten problemes de velocitat a la xarxa, pel fet que es pot utilitzar Iperf per determinar quin servidor és incapaç d’arribar a el rendiment màxim.

Nota:
Aquesta guia assumeix que vostè és un usuari root. Si no useu el superusuari, hauríem d’intentar el prefix abans de cada comanda (el seu usuari ha de tenir els privilegis adequats per executar ) .

instal·lar Iperf

Debian i Ubuntu

Feu servir apt-get per a instal·lar Iperf en Debian i Ubuntu:

apt-get install iperf

CentOS

Els repositoris de CentOS no tenen Iperf per defecte. De fer servir el repositori EPEL, que és un repositori usat per a instal·lar paquets de programari de tercers en sistemes basats en RedHat com RHEL i CentOS.

Per habilitar el repositori EPEL en el seu servidor CentOS segueixi el nostre tutorial. Un cop acabats els passos en la guia, utilitzeu yum per instal·lar Iperf:

yum updateyum install iperf

Fedora

Per instal·lar Iperf en el seu servidor Fedora amb:

yum updateyum install iperf

Arch Linux

Per instal·lar Iperf en el seu servidor Arch Linux amb:

pacman -S iperf

Gento

Usant Portage, instal Iperf en el seu distro de Gentoo:

emerge iperf

Si encara no ha executat emerge --sync pot ser que necessiti fer-ho abans que se li permeti instal·lar el paquet d’Iperf . Addicionalment, per defecte haurà de substituir cada comanda iperf amb /usr/bin/iperf3. Aquesta ruta pot variar segons la versió d’instal·lació de Iperf.

Com utilitzar Iperf

Iperf ha de ser instal·lat en els dos computadors entre els quals estigui fent proves de connexió. Si vostè està utilitzant un sistema operatiu basat en Linux o Unix en el seu ordinador personal, llavors serà capaç d’instal·lar Iperf al sistema local. No obstant això, si vostè està provant el rendiment en el seu Bluehosting, el millor és que utilitzi un altre servidor com l’altre extrem de la connexió, ja que el seu ISP local pot imposar restriccions de xarxa que podrien afectar els resultats de les seves proves.

Clients i servidors TCP

Iperf requereix de dos sistemes: un sistema ha d’actuar com a servidor, mentre que l’altre actua com a client. El client es connecta a servidor a el qual vol aplicar les proves de velocitat.

Clients i servidors UDP

Usant Iperf, també pot provar el rendiment màxim assolit a través de connexions UDP.

  1. Inicieu el servidor Iperf UDP:

    iperf -s -u

    La sortida serà similar a:

    ------------------------------------------------------------Server listening on UDP port 5001Receiving 1470 byte datagramsUDP buffer size: 208 KByte (default)------------------------------------------------------------
  2. Connecteu el seu client al seu servidor UDP Iperf. Remplace 123.45.67.8 amb la seva adreça IP:

    iperf -c 123.45.67.8 -u

    L’opció -u li diu a Iperf que ens estem connectant a través d’UDP. Això és important, perquè volem veure el rendiment màxim assolit a través d’UDP. La sortida serà semblant al següent:

    ------------------------------------------------------------Client connecting to 123.45.67.8, UDP port 5001Sending 1470 byte datagramsUDP buffer size: 208 KByte (default)------------------------------------------------------------ local 123.45.67.9 port 58070 connected with 123.45.67.8 port 5001 Interval Transfer Bandwidth 0.0-10.0 sec 1.25 MBytes 1.05 Mbits/sec Sent 893 datagrams Server Report: 0.0-10.0 sec 1.25 MBytes 1.05 Mbits/sec 0.084 ms 0/ 893 (0%)

    Veient la sortida que hem rebut, 1.05 Mbits / seg és considerablement menys del que rebem en les proves TCP. És també considerablement menor a l’ample de banda màxim sortint ofert pels servidors Bluehosting més bàsics. Això és perquè Iperf limita l’ample de banda per als clients UDP a un 1 Mbit per segon per defecte.

  3. Podeu canviar això amb la bandera -b, reemplaçant el següent nombre amb la taxa màxima d’ample de banda contra el qual vol provar. Si vostè està provant velocitat de xarxa, recomanem establir aquest número una mica per sobre de el límit d’ample de banda màxima proveït pel seu servidor Bluehosting:

    iperf -c 123.45.67.8 -u -b 150m

    Això li diu a el client que volem aconseguir un màxim de 150 Mbits per segon si és possible. La bandera -b només funciona quan es fan servir connexions UDP, ja que Iperf no establir un límit d’ample de banda en els clients TCP.
    La sortida serà similar al següent:

    -----------------------------------------------------------Client connecting to 123.45.67.8, UDP port 5001Sending 1470 byte datagramsUDP buffer size: 208 KByte (default)------------------------------------------------------------ local 123.45.67.9 port 41083 connected with 123.45.67.8 port 5001 Interval Transfer Bandwidth 0.0-10.0 sec 145 MBytes 122 Mbits/sec Sent 103625 datagrams Server Report: 0.0-10.3 sec 136 MBytes 111 Mbits/sec 13.488 ms 6464/103623 (6.2%)

    Ara el resultat és bastant millor que als 1.05 Mbits / seg que vam obtenir anteriorment!

Proves bidireccionals

En alguns casos, potser requereixi provar tots dos servidors per verificar la capacitat màxima de processament. Això pot ser realitzat amb facilitat amb la característica de prova bidireccional que ofereix Iperf.

Executeu la següent comanda per provar les dues connexions:

iperf -c 123.45.67.8 -d

el resultat és que Iperf iniciarà una connexió de servidor i de client des del client original (123.45.67.9). Un cop fet això, Iperf connectarà al servidor Iperf original a la connexió client, que ara està actuant tant com a connexió de servidor i de client. La sortida s’assemblarà al següent:

------------------------------------------------------------Server listening on TCP port 5001TCP window size: 85.3 KByte (default)------------------------------------------------------------------------------------------------------------------------Client connecting to 123.45.67.8, TCP port 5001TCP window size: 45.0 KByte (default)------------------------------------------------------------ local 123.45.67.9 port 50550 connected with 123.45.67.8 port 5001 local 123.45.67.9 port 5001 connected with 123.45.67.8 port 36916 Interval Transfer Bandwidth 0.0-10.0 sec 142 MBytes 118 Mbits/sec 0.0-10.1 sec 198 MBytes 165 Mbits/sec

Al servidor Iperf original podrà veure:

------------------------------------------------------------Client connecting to 123.45.67.9, TCP port 5001TCP window size: 45.0 KByte (default)------------------------------------------------------------ local 123.45.67.8 port 36916 connected with 123.45.67.9 port 5001 0.0-10.0 sec 198 MBytes 166 Mbits/sec 0.0-10.2 sec 142 MBytes 117 Mbits/sec

És important notar els identificadors costat dels avisos de connexió. Aquests IDs li permetran separar els resultats de velocitat de cada servidor. En aquest exemple, el servidor Iperf (123.45.67.8) és un Bluehosting de 2 GB de RAM, mentre que el Iperf de la banda de el client (123.45.67.9) és un Bluehosting d’1 GB. Això explica per què estem veient capacitats de processament màximes diferents entre els servidors.

Opcions

Opció Descripció
-f Canvia el format en el qual s’estan executant les seves proves. Per exemple, pot usar -f k per obtenir resultats en Kbits / seg en lloc de Mbits per segon. Les opcions vàlides inclouen: m (Mbits, per defecte), k (Kbits), K (KBytes), and M (MBytes).
-V Forza a Iperf a fer servir IPv6 en comptes de IPv4.
-i Canvia l’interval de les proves periòdiques d’ample de banda. Per exemple, -i 60 farà un nou informe d’ample de banda cada 60 segons. El valor per defecte és zero, el qual porta a terme una sola prova d’ample de banda.
-p Canvia el port. Quan no s’especifica, el port per defecte és 5001. Si utilitzarà aquesta opció, ha de especificar tant al client com al servidor.
-B Enllaça Iperf a una interfície o direcció específica. Si es fa servir en la comanda de la banda de servidor, la interfície entrant serà establerta. Si es fa servir de la banda de el client, s’establirà la interfície de sortida.

recursos addicionals

Podeu consultar els següents recursos a la recerca d’informació addicional respecte a aquest tema. Encara que aquest material és proveït esperant que sigui útil, tingui en compte que no podem donar fe de l’actualitat o precisió dels continguts externs.

  • El lloc web oficial de Iperf.

Deixa un comentari

L'adreça electrònica no es publicarà. Els camps necessaris estan marcats amb *