iperf3 Handledning: Testa nätverkshastighet på Linux & Windows
10 min läsning - 7 maj 2026

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
| Flagga | Syfte |
|---|---|
-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 |
-u | UDP-läge |
-b <n>M | Målbandbredd (UDP; standard är 1 Mbps om den utelämnas) |
-R | Omvänt läge (servern sänder, klienten tar emot) |
-w <n>K | Buffertstorlek för TCP-fönster/uttag |
-J | JSON-utdata |
-Z | Zerocopy (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:
| Parameter | Rekommenderad (1-10 Gbps) |
|---|---|
net.core.rmem_max | 134217728 (128 MB) |
net.core.wmem_max | 134217728 (128 MB) |
nät.ipv4.tcp_rmem | 4096 131072 134217728 |
net.ipv4.tcp_wmem | 4096 131072 134217728 |
net.core.default_qdisc | fq |
net.ipv4.tcp_congestion_control | bbr |
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

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

Har du frågor eller behöver du en anpassad lösning?
Flexibla alternativ
Global räckvidd
Omedelbar driftsättning
Flexibla alternativ
Global räckvidd
Omedelbar driftsättning