iperf3 oktatóanyag: Hálózati sebesség tesztelése Linuxon és Windowson

10 perc olvasás - 2026. május 7.

hero section cover
Tartalomjegyzék
  • iperf3 bemutató: Hálózati teljesítmény mérése Linux és Windows rendszereken
  • Az iperf3 telepítése
  • A szerver beállítása
  • Ügyfél tesztek futtatása
  • Haladó tesztek
  • Beállítás és hibaelhárítás
  • Videóajánlás
Megosztás

Telepítse az iperf3-at, futtasson sávszélesség-teszteket, és hangolja a TCP-puffereket a pontos eredmények érdekében Linuxon és Windowson. Lefedi az UDP, a kétirányú és a 10GbE+ tesztelést

iperf3 bemutató: Hálózati teljesítmény mérése Linux és Windows rendszereken

Az iperf3 egy parancssori eszköz, amely két gép közötti hálózati sávszélesség, jitter és csomagvesztés mérésére szolgál. Kliens-szerver modellt használ: az egyik gép hallgatózik, a másik forgalmat küld, és így pontos átviteli sebességi adatokat kapunk. Ez az útmutató a telepítést, az alapvető és haladó szintű teszteket, valamint azt tárgyalja, hogyan lehet a rendszert úgy beállítani, hogy nagy sebességű kapcsolatokon pontos eredményeket kapjunk.

Az iperf3 telepítése

Debian / Ubuntu

sudo apt update
sudo apt install iperf3

Ellenőrizze a telepítést a iperf3 --version. Telepítse mind a szerverre, mind az ügyfélgépekre.

Fedora / CentOS / Rocky / Alma

Fedora 22+ vagy CentOS 8+, Rocky, illetve AlmaLinux esetén:

sudo dnf install iperf3

CentOS 7 esetén használja yum helyett. Ha a csomag nem található, először engedélyezze az EPEL tárolót:

sudo yum install epel-release
sudo yum install iperf3

Ha a tűzfal aktív, nyissa meg az 5201-es portot:

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

Windows

Töltse le az önálló futtatható fájlt az iperf.fr webhelyről vagy az ar51an/iperf3-win-builds GitHub-tárházból. Bontsa ki egy olyan mappába, mint például C:\iperf3, majd ellenőrizze:

cd C:\iperf3
iperf3.exe -v

Ahhoz, hogy az iperf3-at bármelyik könyvtárból futtathassa, adja hozzá a mappát a rendszer PATH-jéhez a Rendszer tulajdonságai > Speciális > Környezeti változók menüpontban. Ezenkívül létre kell hoznia egy bejövő tűzfal-szabályt, amely engedélyezi a TCP-t az 5201-es porton a Windows Defender tűzfalban.

A szerver beállítása

Indítsa el a szervert a következő paranccsal:

iperf3 -s

Ez alapértelmezés szerint a 5201-es TCP-porton figyel. Ha háttérben szeretné futtatni naplózással:

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

Ellenőrizze a futását a következő paranccsal ss -tulpn | grep 5201.

Ha a 5201-es port blokkolva van a hálózatán, használja a -p parancsot egy másik port kiválasztásához. Egy adott interfészhez való kapcsolódáshoz használja a -B:

iperf3 -s -B 192.168.1.10

Egyszeri tesztek esetén iperf3 -s -1 kezel egy egyetlen klienskapcsolatot, majd kilép. Nagy sávszélességű kapcsolatok esetén (40 Gbps+) futtasson több szerverpéldányt különböző portokon, hogy kijátszák az egy szálas CPU-korlátokat.

Győződjön meg arról, hogy a tűzfal engedélyezi a forgalmat a kiválasztott porton. Ubuntu/Debian rendszeren UFW használatával:

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

Ügyfél tesztek futtatása

Alapvető TCP-teszt

iperf3 -c 192.168.1.10

Ez 10 másodpercig méri a TCP-n keresztüli feltöltési sávszélességet. Hosszabbítsa meg az időtartamot -t:

iperf3 -c 192.168.1.10 -t 30

10 Gbps-es vagy 25 Gbps-es kapcsolatokon egy TCP-adatfolyam gyakran 3–5 Gbps-es csúcsot ér el az egymagos CPU-k korlátai miatt. Használjon párhuzamos adatfolyamokat a kapcsolat telítettségének elérése érdekében:

iperf3 -c 192.168.1.10 -P 8

Az eredmények olvasása

Minden intervallumsor a Transfer (átvitt adatmennyiség) és a Bitrate (átviteli sebesség) értéket mutatja. TCP esetén figyelje még a következőket is:

  • Retr (újraküldések). A magas számok csomagvesztést vagy torlódást jelentenek.
  • Cwnd (torlódási ablak). Ha alacsony vagy beragadt, a puffer- vagy ablakméret korlátai korlátozzák az átviteli sebességet.

Tiszta 1 Gbps-es kapcsolaton a protokoll overhead után körülbelül 940 Mbps-re számíthat. A teszt a küldő és a fogadó összefoglaló sorokkal zárul. Stabil hálózaton ezeknek szorosan meg kell egyezniük.

UDP-tesztek esetén (-u flag) a kimenet tartalmazza a jittert (a csomagok érkezésének eltérését) és az elveszett/összes datagramot. 1 ms alatti jitter és 0% veszteség ideális a VoIP-hez hasonló valós idejű forgalomhoz.

Hasznos flagek

FlagCél
-c <IP>Csatlakozás a szerverhez
-p <port>Egy adott port használata (alapértelmezett: 5201)
-t <sec>A teszt időtartama másodpercben (alapértelmezett: 10)
-i <sec>Jelentési intervallum
-P <num>Párhuzamos adatfolyamok
-uUDP mód
-b <n>MCél sávszélesség (UDP; ha nincs megadva, az alapértelmezett érték 1 Mbps)
-RFordított mód (a szerver küld, a kliens fogad)
-w <n>KTCP ablak / socket puffer mérete
-JJSON kimenet
-ZZerocopy (csökkenti a CPU terhelését gyors kapcsolatok esetén)

Haladó tesztek

Kétirányú tesztelés

Az --bidir flag (iperf3 3.7+) egyszerre teszteli a feltöltést és a letöltést:

iperf3 -c 192.168.1.10 --bidir

Mindkét kapcsolat a kliensről indul, így ez NAT-on keresztül is működik, anélkül, hogy további portokat kellene megnyitni. Ha a kétirányú eredmények jóval alacsonyabbak, mint az egyirányú teszteké, akkor előfordulhat, hogy az útválasztója vagy kábelmodemje nehezen bírja a teljes duplex forgalmat.

Fordított mód

A -R flag megfordítja az adatáramlást, így a szerver küld, a kliens pedig fogad. Ez a szerepek cseréje nélkül méri a letöltési sebességet:

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

A forward és reverse eredmények közötti nagy különbségek aszimmetrikus útvonalakra, torlódásra vagy a puffer helytelen konfigurációjára utalnak.

UDP-tesztelés

Az UDP-tesztek feltárják a jittert és a csomagvesztést, amit a TCP az újraküldések mögé rejt. Mindig állítson be célsávszélességet a -b, mivel az iperf3 alapértelmezés szerint 1 Mbps-t használ az UDP-hez:

iperf3 -c 192.168.1.10 -u -b 1G

VoIP-forgalom szimulálásához (100 hívás, 200 bájtos csomagok):

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

Minőségi referenciaértékek: 5 ms alatti jitter jó a VoIP számára, 30 ms felett hallható problémák lépnek fel. A 0,1% feletti csomagvesztés észrevehetően rontja a valós idejű média minőségét.

Beállítás és hibaelhárítás

Gyakori problémák

Csak 100 Mbps-t ér el egy gigabites kapcsolaton? Ellenőrizze a fizikai interfész sebességét a ethtool eth0. Az automatikus tárgyalás néha meghiúsul, és a kapcsolat sebessége alacsonyabbra csökken.

Az MSS 536 bájtot jelez az Etherneten? Valószínűleg a Path MTU Discovery funkció ki van kapcsolva. Az alapértelmezett MSS egy 1500 bájtos MTU esetén 1460 bájt. Használja a -m a tesztelés során ellenőrizze. Az 536 bájtos MSS sávszélességet pazarol és többletterhelést okoz.

A CPU maximális terhelést mutat gyors kapcsolatok esetén? Használja -Z (zerocopy) parancsot a CPU terhelésének csökkentéséhez. 40 Gbps felett futtasson több szerverinstanciát különböző portokon, és ossza szét őket a CPU magok között.

Inkonzisztens eredmények? Használja a -O 3 parancsot az első néhány másodperc kihagyásához, amíg a TCP torlódási ablak felépül. Hagyjon 30 másodperc szünetet a tesztfutások között a hálózati pufferek kiürítéséhez.

Az egyetlen adatfolyam sokkal lassabb, mint a párhuzamos adatfolyamok együttesen? Ha egy adatfolyam 200 Mbps sebességet ér el, de nyolc adatfolyam együttesen eléri az 1,6 Gbps-t, akkor a TCP-ablak vagy az operációs rendszer pufferei korlátozzák az egyetlen adatfolyamot. Állítsa be az alábbi puffereket.

TCP-puffer beállítása

Kezdje a sávszélesség-késleltetési szorzat (BDP) kiszámításával: sávszélesség x RTT. Egy 10 Gbps-es kapcsolat 50 ms-os RTT-vel 62,5 MB-os BDP-t ad. Állítsa be a maximális puffert legalább a BDP kétszeresére.

Adja hozzá ezeket /etc/sysctl.d/99-tcp-tuning.conf és alkalmazza a sudo sysctl -p:

ParaméterAjánlott (1–10 Gbps)
net.core.rmem_max134217728 (128 MB)
net.core.wmem_max134217728 (128 MB)
net.ipv4.tcp_rmem4096 131072 134217728
net.ipv4.tcp_wmem4096 131072 134217728
net.core.default_qdiscfq
net.ipv4.tcp_congestion_controlbbr

Tartsa net.ipv4.tcp_moderate_rcvbuf 1-re állítva, hogy a kernel ezeken a tartományokon belül végezzen automatikus hangolást. Engedélyezze net.ipv4.tcp_window_scaling (állítsa 1-re) 64 KB-nál nagyobb TCP ablakok esetén.

Át is válthat az alapértelmezett CUBIC torlódási algoritmusról a Google BBR-jére. Nagy késleltetésű kapcsolatokon, ahol némi csomagvesztés is előfordul, a BBR következetesen nagyobb átviteli sebességet biztosít, mint a CUBIC.

Használja az -w flagot az iperf3-ban a konkrét puffer méretek teszteléséhez, de vegye figyelembe, hogy ez nem haladhatja meg a kernel rmem_max vagy wmem_maxértékét. Gigabites kapcsolatok esetén kezdje 8 MB-mal, 100 Mbps-es kapcsolatok esetén 512 KB-mal.

Ha dedikált szervereket állít be, és ellenőrizni szeretné a hálózati teljesítményt, futtassa le az iperf3 alapvonal-teszteket közvetlenül a beállítás után, valamint minden hálózati változtatás után, hogy a visszaeséseket korán észlelje.

Videóajánlás

Blog

Kiemelt ezen a héten

További cikkek
XDP és eBPF Linux csomagfeldolgozáshoz

XDP és eBPF Linux csomagfeldolgozáshoz

Hogyan dolgozza fel az XDP és az eBPF másodpercenként több millió csomagot a hálózati kártyavezérlő szintjén. Benchmarkok, DDoS felhasználási esetek, eszközlánc beállítása és hardverkövetelmények.

14 perc olvasás - 2026. május 27.

Miért fontos egy nagy teljesítményű és mérő nélküli VPS

3 perc olvasás - 2025. május 9.

További cikkek
background image

Kérdése van, vagy egyedi megoldásra van szüksége?

icon

Rugalmas lehetőségek

icon

Globális elérés

icon

Azonnali telepítés

icon

Rugalmas lehetőségek

icon

Globális elérés

icon

Azonnali telepítés