iPerf3 – Netwerk snelheid/doorvoer testen in Linux

iperf3 is een gratis open-source, cross-platform op opdrachtregel gebaseerd programma voor het uitvoeren van realtime netwerkdoorvoermetingen. Het is een van de krachtigste tools voor het testen van de maximaal haalbare bandbreedte in IP-netwerken (ondersteunt IPv4 en IPv6).

Met iperf kun je verschillende parameters afstemmen die verband houden met timing, buffers en protocollen zoals TCP, UDP en SCTP. Het is handig voor netwerkprestatietuning.

Om maximale of liever verbeterde netwerkprestaties te verkrijgen, moet je de doorvoer en latentie van de ontvangende en verzendende mogelijkheden van je netwerk verhogen.

Voordat je echter daadwerkelijk kunt afstemmen, moet je enkele tests uitvoeren om algemene netwerkprestatiegegevens te verzamelen die je afstemmingsproces zullen begeleiden.

De resultaten omvatten tijdsinterval in seconden, overgedragen gegevens, bandbreedte (overdrachtsnelheid), verlies en andere nuttige netwerkprestatieparameters. Het is voornamelijk bedoeld om te helpen bij het afstemmen van TCP-verbindingen over een bepaald pad en daar zullen we ons op richten in deze handleiding.

Vereisten:

  • Twee netwerkcomputers die beide iperf3 geïnstalleerd hebben.Hoe iPerf3 te installeren in Linux-systemen

Hoe om iPerf3 te installeren op Linux-systemen

Voordat u iperf3 gaat gebruiken, moet u deze installeren op de twee machines die u gaat gebruiken voor benchmarking. Aangezien iperf3 beschikbaar is in de officiële software-repositories van de meeste gangbare Linux-distributies, zou de installatie eenvoudig moeten zijn, met behulp van een pakketbeheerder zoals hieronder weergegeven.

$ sudo apt install iperf3         [On Debian, Ubuntu and Mint]
$ sudo yum install iperf3         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
$ sudo emerge -a net-misc/iperf   [On Gentoo Linux]
$ sudo apk add iperf3             [On Alpine Linux]
$ sudo pacman -S iperf3           [On Arch Linux]
$ sudo zypper install iperf3      [On OpenSUSE]    

Zodra u iperf3 op beide machines hebt geïnstalleerd, kunt u beginnen met het testen van de netwerkdoorvoer.

Hoe de netwerksnelheid te testen tussen twee Linux-servers

Verbind eerst met de externe machine die u gaat gebruiken als server, en start iperf3 in servermodus met behulp van de -s vlag, het luistert standaard naar poort 5201.

U kunt het formaat aangeven (k, m, g voor Kbits, Mbits, Gbits of K, M, G voor KBytes, Mbytes, Gbytes) om te rapporteren, met behulp van de -f schakelaar zoals weergegeven.

$ iperf3 -s -f K 

Als poort 5201 wordt gebruikt door een ander programma op uw server, kunt u een andere poort aangeven (bijv. 3000) met behulp van de -p schakelaar zoals weergegeven.

$ iperf3 -s -p 3000

Optioneel kunt u de server als een daemon uitvoeren, met behulp van de -D vlag en serverberichten naar een logboekbestand schrijven, als volgt.

$ iperf3 -s -D > iperf3log 

Voer op uw lokale machine, die we zullen behandelen als de client (waar de werkelijke benchmarking plaatsvindt), iperf3 uit in clientmodus met de -c-vlag en specificeer de host waarop de server draait (gebruik hiervoor het IP-adres, domeinnaam of hostname).

$ iperf3 -c 192.168.10.1 -f K

Na ongeveer 18 tot 20 seconden zou de client moeten worden afgesloten en resultaten moeten produceren die de gemiddelde doorvoer voor de benchmark aangeven, zoals getoond in de volgende schermafbeelding.

Test Network Throughput Between Servers
From the benchmark results, as shown in the above screenshot, there is a variation in values from the server and client. But, you should always consider using the results obtained from the iperf client machine in every test you carry out.

Hoe u geavanceerde netwerktestdoorvoer uitvoert in Linux

Er zijn verschillende cliëntspecifieke opties voor het uitvoeren van een geavanceerde test, zoals hieronder uitgelegd.

Een van de belangrijke factoren die de hoeveelheid gegevens in het netwerk op een bepaald moment bepalen, is de TCP-venstergrootte – het is belangrijk bij het afstemmen van TCP-verbindingen. U kunt de venstergrootte/socketbuffergrootte instellen met de -w-vlag zoals getoond.

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

Om het in omgekeerde modus uit te voeren waarbij de server verzendt en de client ontvangt, voegt u de -R-schakelaar toe.

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

Om een bi-directionele test uit te voeren, wat betekent dat u gelijktijdig bandbreedte in beide richtingen meet, gebruikt u de -d-optie.

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

Als u serverresultaten in de client-uitvoer wilt krijgen, gebruikt u de --get-server-output-optie.

$ iperf3 -c 192.168.10.1 -f K -w 500K -R --get-server-output
Get Server Network Results in the Client

Het is ook mogelijk om het aantal parallelle clientstreams (twee in dit voorbeeld), die tegelijkertijd worden uitgevoerd, in te stellen met behulp van de -P-opties.

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

Zie de man-pagina van iperf3 voor meer informatie.

$ man iperf3

Dat is alles! Vergeet niet altijd netwerkprestatietests uit te voeren voordat je daadwerkelijk netwerkprestaties gaat optimaliseren. iperf3 is een krachtige tool die handig is voor het uitvoeren van netwerkdoorvoertesten.

Heb je gedachten om te delen of vragen te stellen, gebruik dan het opmerkingenformulier hieronder.

Source:
https://www.tecmint.com/test-network-throughput-in-linux/