iperf3 Handledning: Testa nätverkshastighet på Linux & Windows

10 min läsning - 7 maj 2026

hero section cover
Innehållsförteckning
  • iperf3 Handledning: Mät nätverksprestanda på Linux och Windows
  • Installera iperf3
  • Konfigurera servern
  • Körning av klienttester
  • Avancerade tester
  • Inställning och felsökning
  • Video-rekommendation
Dela

Installera iperf3, kör bandbreddstester och justera TCP-buffertar för korrekta resultat på Linux och Windows. Täcker UDP, dubbelriktad och 10GbE+ testning

iperf3 Handledning: Mät nätverksprestanda på Linux och Windows

iperf3 är ett kommandoradsverktyg för att mäta nätverksbandbredd, jitter och paketförlust mellan två maskiner. Det använder en klient-servermodell: en maskin lyssnar, den andra skickar trafik, och du får exakta genomströmningssiffror. I den här guiden beskrivs installation, grundläggande och avancerade tester samt hur du ställer in systemet för att få exakta resultat på höghastighetslänkar.

Installera iperf3

Debian / Ubuntu

sudo apt update
sudo apt install iperf3

Bekräfta installationen med iperf3 --version. Installera det på både server- och klientmaskinerna.

Fedora / CentOS / Rocky / Alma

På Fedora 22+ eller CentOS 8+, Rocky eller AlmaLinux:

sudo dnf install iperf3

På CentOS 7, använd yum istället. Om paketet inte hittas, aktivera EPEL-arkivet först:

sudo yum install epel-release
sudo yum install iperf3

Om din brandvägg är aktiv, öppna port 5201:

sudo firewall-cmd --add-port=5201/tcp --permanent
sudo firewall-cmd --reload

Windows

Ladda ner den fristående körbara filen från iperf.fr eller ar51an/iperf3-win-builds GitHub repo. Extrahera den till en mapp som C:\iperf3 och verifiera sedan:

cd C:\iperf3
iperf3.exe -v

Om du vill köra iperf3 från vilken katalog som helst lägger du till mappen i din systemväg via Systemegenskaper > Avancerat > Miljövariabler. Du måste också skapa en inkommande brandväggsregel som tillåter TCP på port 5201 i Windows Defender Firewall.

Konfigurera servern

Starta servern med:

iperf3 -s

Den lyssnar som standard på TCP-port 5201. För att köra den i bakgrunden med loggning:

iperf3 -s -D --logfile /var/log/iperf3.log

Verifiera att den körs med ss -tulpn | grep 5201.

Om port 5201 är blockerad i ditt nätverk kan du använda -p för att välja en annan port. Om du vill binda till ett specifikt gränssnitt använder du -B:

iperf3 -s -B 192.168.1.10

För engångstester hanterar iperf3 -s -1 en enda klientanslutning och avslutas sedan. På länkar med hög bandbredd (40 Gbps+) kan du köra flera serverinstanser på olika portar för att kringgå CPU-gränser för enstaka trådar.

Kontrollera att din brandvägg tillåter trafik på den valda porten. På Ubuntu/Debian med UFW:

sudo ufw allow 5201/tcp
sudo ufw allow 5201/udp   # if testing UDP

Körning av klienttester

Grundläggande TCP-test

iperf3 -c 192.168.1.10

Detta mäter uppladdningsbandbredd över TCP under 10 sekunder. Förläng varaktigheten med -t:

iperf3 -c 192.168.1.10 -t 30

På 10 Gbps- eller 25 Gbps-länkar når en enda TCP-ström ofta en topp på 3-5 Gbps på grund av CPU-begränsningar med en enda kärna. Använd parallella strömmar för att mätta länken:

iperf3 -c 192.168.1.10 -P 8

Läsa resultaten

Varje intervallrad visar Transfer (data som skickas) och Bitrate (genomströmning). För TCP, titta också på:

  • Retr (återsändningar). Höga siffror betyder paketförlust eller överbelastning.
  • Cwnd (överbelastningsfönster). Om det är lågt eller fastnat innebär det att buffert- eller fönsterstorleken begränsar genomströmningen.

På en ren 1 Gbps-länk kan du förvänta dig cirka 940 Mbps efter protokollets overhead. Testet avslutas med sammanfattningsrader för sändare och mottagare. I ett stabilt nätverk bör dessa överensstämma väl.

För UDP-tester (flaggan-u) läggs jitter (varians i paketankomst) och förlorade/totala datagram till i utdata. Jitter under 1 ms och 0% förlust är idealiskt för realtidstrafik som VoIP.

Användbara flaggor

FlaggaSyfte
-c <IP>Anslut till server
-p <port>Använd en specifik port (standard: 5201)
-t <sek>Testets varaktighet i sekunder (standard: 10)
-i <sek>Rapportintervall
-P <antal>Parallella strömmar
-uUDP-läge
-b <n>MMålbandbredd (UDP; standard är 1 Mbps om den utelämnas)
-ROmvänt läge (servern sänder, klienten tar emot)
-w <n>KBuffertstorlek för TCP-fönster/uttag
-JJSON-utdata
-ZZerocopy (minskar CPU på snabba länkar)

Avancerade tester

Dubbelriktad testning

Flaggan --bidir (iperf3 3.7+) testar upp- och nedladdning samtidigt:

iperf3 -c 192.168.1.10 --bidir

Båda anslutningarna kommer från klienten, så detta fungerar genom NAT utan att öppna extra portar. Om resultaten för dubbelriktade tester är mycket lägre än för enkelriktade tester kan din router eller ditt kabelmodem ha problem med full-duplextrafik.

Omvänt läge

Flaggan -R vänder på dataflödet så att servern sänder och klienten tar emot. Detta mäter nedladdningshastigheten utan att rollerna byts ut:

iperf3 -c 192.168.1.10 -t 30 -i 5 -R

Stora skillnader mellan framåt- och bakåtresultat pekar på asymmetriska vägar, överbelastning eller felkonfigurationer av buffertar.

UDP-testning

UDP-tester avslöjar jitter och paketförlust, som TCP döljer bakom återsändningar. Ange alltid en målbandbredd med -b, eftersom iperf3 som standard använder 1 Mbps för UDP:

iperf3 -c 192.168.1.10 -u -b 1G

För att simulera VoIP-trafik (100 samtal, paket på 200 byte):

iperf3 -c 192.168.1.10 -u -b 8M -l 200

Kvalitetsriktmärken: jitter under 5 ms är bra för VoIP, över 30 ms orsakar hörbara problem. Paketförlust över 0,1% försämrar realtidsmedia märkbart.

Inställning och felsökning

Vanliga problem

Får du bara 100 Mbps på en gigabitlänk? Kontrollera hastigheten på det fysiska gränssnittet med ethtool eth0. Auto-negotiation misslyckas ibland och släpper länken till en lägre hastighet.

MSS visar 536 byte på Ethernet? Path MTU Discovery är förmodligen inaktiverat. Standardvärdet för MSS för en MTU på 1 500 byte är 1 460 byte. Använd -m under testning för att kontrollera. En MSS på 536 byte slösar bandbredd och lägger till overhead.

CPU-maximum på snabba länkar? Använd -Z (zerocopy) för att minska CPU-belastningen. För 40 Gbps+, kör flera serverinstanser på olika portar och sprid dem över CPU-kärnor.

Inkonsekventa resultat? Använd -O 3 för att utelämna de första sekunderna medan överbelastningsfönstret för TCP ökar. Lämna 30 sekunder mellan testkörningarna för att rensa nätverksbuffertarna.

En enda ström mycket långsammare än parallella strömmar kombinerade? Om en ström får 200 Mbps men åtta strömmar tillsammans når 1,6 Gbps, begränsar TCP-fönstret eller OS-buffertarna den enskilda strömmen. Justera buffertarna nedan.

Inställning av TCP-buffertar

Börja med att beräkna produkten bandbredd-fördröjning: bandbredd x RTT. En 10 Gbps-länk med 50 ms RTT ger en BDP på 62,5 MB. Ställ in din maximala buffert till minst 2x BDP.

Lägg till dessa i /etc/sysctl.d/99-tcp-tuning.conf och använd sudo sysctl -p:

ParameterRekommenderad (1-10 Gbps)
net.core.rmem_max134217728 (128 MB)
net.core.wmem_max134217728 (128 MB)
nät.ipv4.tcp_rmem4096 131072 134217728
net.ipv4.tcp_wmem4096 131072 134217728
net.core.default_qdiscfq
net.ipv4.tcp_congestion_controlbbr

Låt net. ipv4.tcp_moderate_rcvbuf vara inställd på 1 så att kärnan automatiskt anpassar sig inom dessa intervall. Aktivera net.ipv4.tcp_window_scaling (inställd på 1) för TCP-fönster som är större än 64 KB.

Du kan också byta från standardalgoritmen CUBIC congestion algorithm till Googles BBR. På länkar med hög latens och viss paketförlust ger BBR genomgående högre genomströmning än CUBIC.

Använd flaggan -w i iperf3 för att testa specifika buffertstorlekar, men notera att detta inte kan överstiga kärnans rmem_max eller wmem_max. Börja med 8 MB för gigabitlänkar, 512 KB för 100 Mbps.

Om du tillhandahåller dedikerade servrar och vill validera nätverksprestanda, kör iperf3 baslinjetester direkt efter installationen och efter alla nätverksändringar för att fånga upp försämringar tidigt.

Video-rekommendation

Blogg

Utvalda denna vecka

Fler artiklar
iperf3 Handledning: Testa nätverkshastighet på Linux & Windows

iperf3 Handledning: Testa nätverkshastighet på Linux & Windows

Installera iperf3, kör bandbreddstester och justera TCP-buffertar för korrekta resultat på Linux och Windows. Täcker UDP, dubbelriktad och 10GbE+ testning

10 min läsning - 7 maj 2026

ZFS ögonblicksbilder: Hur man skapar, återställer och automatiserar dem

10 min läsning - 5 maj 2026

Fler artiklar
background image

Har du frågor eller behöver du en anpassad lösning?

icon

Flexibla alternativ

icon

Global räckvidd

icon

Omedelbar driftsättning

icon

Flexibla alternativ

icon

Global räckvidd

icon

Omedelbar driftsättning