iperf3 vairāku pavedienu veidošanā, lai maksimāli izmantotu 10GbE: pilnīgs ceļvedis

Pēdējā atjaunošana: 08/10/2025
Autors: Isaac
  • Jauniniet uz iperf3 ≥ 3.16 un izmantojiet 4–8 pavedienus (-P), lai piesātinātu 10 GbE.
  • Pārbaudiet RSS/atslodzes pārslodzi un to, vai tīkla karti neierobežo degradēta PCIe.
  • Pārbaudiet divvirzienu režīmu (-d) un pielāgojiet logu/nulles kopiju, ja procesors ir pārslogots.

Testēšana ar iperf3 daudzpavedienu savienojumu 10GbE tīklā

10GbE tīklos, kas arvien biežāk tiek izmantoti mājas un profesionālajās iekārtās, Sašaurinājums parasti pārvietojas no kartes uz centrālo procesoru (CPU).Tādēļ iperf3 regulēšana vairāku pavedienu izmantošanai var būt izšķiroša starp 6–8 Gbps ātruma saglabāšanu vai saites gandrīz piesātināšanu. Šajā rokasgrāmatā ar reāliem piemēriem redzēsiet, kā izmantot vairāku pavedienu režīmu, kuras versijas jums ir nepieciešamas un kādas kļūdas tas rada. detaļas izvairīties, lai nezaudētu veiktspēju.

Papildus komandas izpildei, Panākumi ir atkarīgi no iperf3 versijas, sistēmas konfigurācijas, vadītājiem tīkla kartes un pat PCIe saites platumaJūs redzēsiet praktiskus gadījumus (no mini datora ar Intel N100 līdz serverim ar TrueNAS un Proxmox), galvenie iperf3 parametri, rezultātu interpretācijas labākā prakse un diagnostikas kontrolsaraksts, ja skaitītājs iestrēgst.

Kas ir iperf3 un kāpēc tas ir svarīgi 10GbE tīklā?

iperf3 ir atvērtā koda rīks lai mērītu joslas platumu starp diviem datoriem, izmantojot TCP, UDP vai SCTP. Tas ir daudzplatformu (Windows, Linux, macOS, BSD un citas), un tā kods tika pārrakstīts no nulles attiecībā pret iperf2, lai vienkāršotu, pievienotu JSON izvadi un kļūtu par modulāru bāzi, ko ir vieglāk integrēt citās programmās.

Salīdzinot ar citiem komunālajiem pakalpojumiem, Ļauj pielāgot TCP loga izmēru, definēt datu apjomu, atlasīt protokolu un ģenerēt vairākus vienlaicīgus savienojumus.UDP protokolā tas mēra svārstības un zudumus, atbalsta multiraidi un var iestatīt mērķa caurlaidspēju; TCP protokolā tas piedāvā tādas opcijas kā nulles kopēšana, sastrēgumu kontrole un detalizēta intervāla izvade.

Savienojumos ar ātrumu 10 Gbps vai vairāk viens TCP savienojums var nebūt pietiekams, lai piesātinātu saiti; sadalīt slodzi vairākos pavedienos un, kopš iperf3 3.16, vieglāk izmantot vairākpavedienu priekšrocības palīdz aizpildīt cauruli, kad procesora vai tīkla kaudze ir ierobežota.

Versijas: minimālās prasības un saderība

Vispirms pārbaudiet versiju abos galos ar iperf3 -v. Kopš 3.16 versijas iperf3 vienkāršo vairākpavedienu apstrādi, samazinot vajadzību pēc Triku y komandas papildu funkcijas, kas bija izplatītas 40 Gbps un augstākās vidēs. Ja jūsu distribūcija atpaliek (parasti hipervizoros vai ierīcēs), jaunākās versijas kompilēšana parasti ir ātrākais veids; un pārbaudiet Tīkla veidi pakalpojumā Hyper-V, VirtualBox un VMware no jūsu vides.

Reāls piemērs: vidē ar OpenWrt/QWRT un Proxmox VE 8.3, OpenWrt jau bija jaunāka versija, bet Proxmox bija novecojis.Tas tika atrisināts, kompilējot iperf 3.18 no avota Proxmox resursdatorā, un no tā brīža vairākpavedienu apstrāde bija iespējota normāli.

10GbE piesātināšana ar vairākām plūsmām iperf3 tīklā

10GbE vides sagatavošana: centrālais procesors, tīkla karte, draiveri un PCIe

Lai sasniegtu maksimumu tuvu 9.8–9.9 Gbps, Cat6A kabeļi un 10G slēdzis nav pietiekami.Jums jāskatās tālāk: draivera versija, RSS (saņemšanas puses mērogošana), pārtraukumu apvienošana, atslodzes (TSO/GSO/GRO/LRO) un, pats galvenais, kartes PCIe saite.

Operētājsistēmā Windows 10/11, īpaši ar 10G tīkla kartēm, piemēram, ASUS XG-C100C, Atjauniniet draiveri, iespējojiet RSS un pārbaudiet, vai ir aktīvs SMB Multichannel. y pārbauda tīkla savienojumu operētājsistēmā WindowsFailu pārsūtīšanā ar NAS (piemēram, QNAP ar QuTS Hero) ātrums būs atkarīgs arī no ierīces veiktspējas. glabāšana un NAS centrālais procesors; ir normāli redzēt ~6–8 Gb/s, ja RAID vai ZFS to neatbalsta, savukārt iperf3 (no atmiņas uz atmiņu) var sasniegt 10 GbE.

  Kā atrast un konfigurēt maršrutētāja lietotājvārdu un paroli

Linux un BSD vidē Pārliecinieties, vai karte vienojas par pareizo PCIe platumu.Tipisks gadījums: klients bija iestrēdzis pie ~3.5 Gb/s, neskatoties uz 10 GbE, jo slots darbojās ar samazinātu ātrumu līdz x1 ar ātrumu 5 GT/s. Komanda lspci -vv parādīja “LnkSta: ātrums 5GT/s, platums x1 (samazināts)”. Pēc pielāgošanas BIOS Lai piespiestu portu izmantot x16, ātrums pieauga līdz ~9.84 Gbps.

Daudzpavedienu režīms iperf3: svarīgākās komandas

Pamata testa shēma ir vienkārša: palaidiet serveri ar iperf3 -s vienā galā un palaidiet klientu no otra. No šejienes pievienojiet paralēlismu:

  • Vairākas TCP plūsmas: iperf3 -c IP_SERVIDOR -P 4 ģenerē 4 paralēlus savienojumus. Pielāgojiet -P jūsu procesoram/tīklam; 10 GbE tīklā parasti pietiek ar 4–8.
  • Vienlaicīga divvirzienu: iperf3 -c IP_SERVIDOR -P 4 -d mēra augšupielādi un lejupielādi vienlaikus, kas ir noderīgi pilna dupleksa validācijai.
  • Reversais virziens (servera–klienta datplūsma): -R.
  • Ilgums: -t 60 60 s testiem; izslēgšana sākas ar -O 3 lai izvairītos no TCP lēnas palaišanas.
  • Bez kopēšanas: -Z samazina procesora slodzi operētājsistēmā Linux.
  • CPU afinitāte: -A nosaka afinitāti (noderīgi pavedienu sadalīšanai starp dažādiem kodoliem).
  • Saistīšana ar saskarni: -B 10.0.0.2 tieši izvēlieties izejošo IP/IF (skatiet Kā CMD uzskaitīt tīkla saskarnes).

Ja strādājat ar UDP, kontrolē plūsmu ar -b un pārbaudiet zudumus/trīci; lai gan 10GbE piesātināšanai un sistēmas steka mērīšanai TCP parasti ir sākumpunkts.

1. piemērs: Intel N100 mini dators ar diviem 10 GbE portiem

Scenārijs: divi iKOOCORE R2 Max (viens bez ventilatora ar OpenWrt/QWRT kā serveri un otrs ar Proxmox VE kā klientu), abi ar divkāršu 10GbE un 4 kodolu Intel N100 centrālo procesoruPirmajā mērījumā tika novērota ~9.41 Gbps augšupielāde, bet lejupielāde saglabājās ~8.6 Gbps līmenī, un divvirzienu tests bija sliktāks.

HTOP parādīja trasi: viens kodols ar 100% jaudu, kamēr pārējie bija dīkstāvēLai gan kopējais centrālā procesora noslodze bija aptuveni 30%, viens piesātināts pavediens ierobežoja efektīvo caurlaidspēju. Lai to atrisinātu, serveris tika palaists kā parasti (iperf3 -s) un klientā tas tika pievienots -P 4 lai atvērtu 4 plūsmas.

Izvade ar 10 s intervāliem un četriem pavedieniem ir daudzpusīgāka, bet Svarīgi ir tas, ka mērķa skaitlis tika sasniegts: ~9.41 GbpsPilna dupleksa testā ar -d, summas vidēji bija ~9.40 Gbps abos virzienos vienas minūtes laikā, apstiprinot, ka centrālais procesors jau sadalīja slodzi starp vairākiem pavedieniem un tīkla karte piesātināja saiti.

Kā praktiska piezīme: ja klienta versija ir veca (tāpat kā Proxmox gadījumā), iperf 3.18 kompilēšana atrisināja veiktspējas plaisu un nodrošināja atbalstu jaunākajām opcijām pusē, kurai tas visvairāk bija nepieciešams.

2. piemērs: TrueNAS + Proxmox un PCIe sašaurinājums

Konfigurācija: serveris ar TrueNAS-13.0-U6 (FreeBSD 13.1) uz Supermicro x8/x9 platēm, Divkāršs Intel Westmere E5645 centrālais procesors un Chelsio T420-CR tīkla karteklients ar Proxmox VE 8.1.3 (Debian 12, kodols 6.5.11), Divkāršs E5-2420 v2 centrālais procesors un Chelsio T440-CR tīkla karteTieša kabeļu savienošana starp resursdatoriem, izmantojot twinax DAC.

Pirmajā testā vidēji tika sasniegti ~3.55 Gbps, bez atkārtotas pārraides un stabila pārslodzes loga. CPU pat neuztraucās: ~13–20% izmanto iperf3Izšķirošā norāde radās, aplūkojot PCIe saites statusu: “LnkSta: ātrums 5GT/s, platums x1 (samazināts)”. Tas nozīmē, ka 10G tīkla karte bija piesaistīta PCIe x1 joslai ar ātrumu 5 GT/s, ierobežojot caurlaidspēju.

  Ctrl+F nedarbojas operētājsistēmā Windows: cēloņi, risinājumi un pilnīgs ceļvedis

Pēc iedziļināšanās BIOS, Supermicro X9DBU-3F tika atrasta kritiska opcija: Paplašināti → Čipsetu konfigurācija → Ziemeļu tilts → Integrētās IO konfigurācija → IIO 1 IOU3 – PCIe portsPārslēdzoties no “Auto” uz “x16”, tika atjaunots saites joslas platums un ātrums. Rezultāts: iperf3 ilgstoši sasniedza ~9.84 Gbps ātrumu, bez atkārtotas pārraides un ar stabilu Cwnd.

Tāpat, atverot divus klientus pret diviem dažādiem portiem (-p 5000 y -p 5001) Kopā tika sasniegti ~19.58 Gbps. Šajā divu portu scenārijā divi Westmere pavedieni darbojās ar 70–80% noslodzi, bet Ivy Bridge — ar 30–40%., kas atbilst vairāku pavedienu ielādei, vienlaikus virzot datplūsmu caur divām 10G saskarnēm.

Rezultātu interpretācija: kam pievērst uzmanību un kā pielāgot

Iperf3 izvadē Apskatiet galīgo vidējo ātrumu un intervāla līnijas (pēc noklusējuma 1 s; dažos piemēros tiek izmantota 10 s). Ja pārsūtītos MB reizināt ar 8 un dalīt ar el tiempo Intervāla skaitlim ir jāatbilst ziņotajam Gb/s.

Ja redzat vienu piesātinātu pavedienu un kopējais skaits nepalielinās, palielināt -P pamazām (4, 6, 8), līdz caurlaidspēja pārstāj pieaugt. Ja tā nedaudz palielinās, bet nesasniedz 9.8–9.9 Gbps, pārbaudiet atslodzes un RSS. Ja TCP ir zudumi vai atkārtota pārraide, novērtējiet -w (logs), -O (izlaist zābaks) un fiziskās saites kvalitāti.

Divvirzienu režīmā (-d), apskatiet summas un minūtes lai apstiprinātu, ka abi virzieni ir tuvu teorētiskajam maksimumam. Lielas atšķirības starp augšupielādes un lejupielādes ātrumiem parasti norāda uz afinitāti, IRQ vai slikti izplatītu RSS.

Kad vaina nav centrālajam procesoram: hroniska “6 Gbps” diagnoze

Ja pieturaties pie ~6–7 Gbps (ļoti tipiski jaunām konfigurācijām), atmest šos punktus pa vienam:

  • Vecā versija3.7 klienti darbojas ar 3.16 serveriem, taču jauniniet abus, lai izmantotu vairākpavedienu uzlabojumus un labojumus.
  • PCIe degradēts: pārbaudiet platumu un ātrumu ar lspci -vv (Linux) vai ražotāja rīki; x1 ar ātrumu 5 GT/s ierobežo 10G tīkla karti.
  • RSS ir atspējotsBez pārtraukumu koplietošanas tikai viens kodols paliek 100% jaudā. Operētājsistēmā Windows iespējojiet to draiverī; operētājsistēmā Linux atzīmējiet ethtool -l un RPS/RFS.
  • Izkraušana un apvienošanaTSO/GSO/GRO/LRO un pārtraukumu apvienošana samazina procesora slodzi; pielāgojiet ar ethtool.
  • MTU/Jumbo rāmjiTas ne vienmēr palielina caurlaidspēju, bet palīdz ar vājiem centrālajiem procesoriem. Iespējojiet to abos galos un komutatorā, ja tas to atbalsta.
  • GlabāšanaNAS testos sašaurinājums var būt RAID/ZFS; izmantojiet iperf3, lai izolētu tīklu (atmiņa pret atmiņu), nevis disku.
  • MVU un daudzkanāluOperētājsistēmā Windows SMB Multichannel paātrina dublēšanu; ja tā nav iespējota, faili darbosies lēnāk pat tad, ja iperf3 darbosies ar ātrumu 9–10 Gbps.

Tāpat ieteicams pielāgot sistēmas buferus Linux sistēmā, meklējot ilgstošas ​​virsotnes: sysctl net.core.rmem_max y net.core.wmem_max Liels ātrums novērš ligzdu sastrēgumus; tie nav obligāti 10GbE lokālajos tīklos ar zemu latentumu, taču tie palīdz sarežģītos apstākļos.

Ātra instalēšana operētājsistēmās Windows, Linux un macOS

Operētājsistēmā Windows lejupielādējiet uzticamos bināros failus, atzipējiet tos un palaidiet no CMD o PowerShell; Ja Windows neatpazīst tīkla karti, skatiet risinājumu rokasgrāmatu. Atveriet konsoli, dodieties uz mapi un palaidiet iperf3.exe -s o iperf3.exe -c IPJa testējat vairākos apakštīklos, pārliecinieties, vai ugunsmūrī ir atļauts 5201/TCP ports.

  Kā lietot Process Hacker operētājsistēmā Windows: padomi, instalēšana un drošība

Operētājsistēmās Linux/macOS instalēšana parasti ir komanda: uz Debian/Ubuntu sudo apt-get install iperf3, uz RHEL/CentOS sudo yum install iperf3, macOS operētājsistēmā ar Homebrew brew install iperf3Ja jūsu sistēma ir novecojusi, kompilēšana no avota koda nodrošina jaunāko versiju.

Noderīgi iperf3 parametri (klients un serveris)

Lai detalizēti kontrolētu sesiju, Šie karodziņi ietaupa jūsu laiku:

  • Vispārējs: -p osta, --cport klienta ports (>=3.1), -f formāts (k/K/m/M/g/G), -i intervāls, -F arhīvu, -B saistīt, -V daudzvārdīgs, -J JSON, --logfile (>=3.1), -h palīdzēt, -v versija.
  • Serveris: -s serveris, -D velns, -I PID fails.
  • Klients: -c IP, --sctp SCTP -u UDP, -b joslas platums, -t laikapstākļi, -n baiti, -k paketes, -l bufera garums, -P diegi, -R otrādi, -w TCP logs, -M MSS, -N TCP bez kavēšanās, -4/-6 IPv4/IPv6, -S KLEPUS, -L IPv6 birka, -Z bez kopijas, -O izlaiž zābaku, -T Nosaukums, -C sastrēgumu algoritms.

Atcerēties -P attiecas uz plūsmuJa jūs labojat -b Ja UDP vai sistēma nosaka ligzdu ierobežojumus, katrs pavediens var sasniegt savus griestus; eksperimentējiet ar mazāku skaitu, bet labāk noregulētu pavedienu.

Ietekme un ierobežojumi: ko iperf3 mēra (un ko tas nemēra)

iperf3 ir lieliski piemērots tīkla slodzei, bet tas var pārslogot jūsu lokālo tīklu, ja to darbināt ražošanas vidēIzvairieties no ilgiem testiem sastrēgumstundās un koordinējiet darbības ar citām komandām, ja koplietojat mugurkaulu. To datplūsmas modeļi ne vienmēr atkārto reālās pasaules lietojumprogrammu slodzes.

Starp tā trūkumiem, Tam nav standarta grafiskā saskarnes, tas prasa parametru pielāgošanu. un pati vēsture netiek saglabāta. Lai gan tā atbalsta daudzus protokolus, pastāv scenāriji (piemēram, noteiktas IPv6 funkcijas vai specifiska multipleksēšana), kuros citi rīki varētu būt piemērotāki.

Alternatīvas, kad nepieciešams kaut kas cits

Ja iperf3 neatbilst jūsu gadījumam, Šīs iespējas var ietaupīt:

  • iperf2: mantota versija, bet noderīga vecām saderībām; ir klasiska grafiskā lietotāja saskarne (jperf).
  • tīkla veiktspējaļoti jaudīgs TCP/UDP un latentuma ziņā, tehniski sarežģītāk apstrādājams.
  • nuttcp: viegls svars joslas platuma/zudumu mērīšanai bez pārāk lielām sarežģījumiem.
  • bwping/bwping6ICMP, lai novērtētu joslas platumu, ja nevarat atvērt TCP/UDP (mazāk precīzi).
  • Ātruma testa komanda / Fast.com komandapubliskajam internetam; neaizstājiet iperf3 lokālajos tīklos.

Ja jūsu mērķis ir izspiest 10 GbE, sāciet ar daudzpavedienu iperf3: Pārbaudiet versiju ≥3.16, iespējojiet 4–8 pavedienus, pārbaudiet RSS un PCIe saiti un pārbaudiet draiverus/atslodzesAr šiem minimumiem tādas pieticīgas sistēmas kā Intel N100 ir sasniegušas 10 GbE (9.40–9.85 Gb/s), un vecākas konfigurācijas pēc vienkārša x1 labošanas PCIe ir samazinājušās no 3.5 līdz 9.8 Gb/s. Galvenais ir sadalīt darbu starp kodoliem, izvairīties no slēptām sastrēgumiem un nolasīt pareizos rādītājus, lai zinātu, kad jāpielāgo katrs parametrs.

VirtualBox tīkla tipa skaidrojums
Saistītais raksts:
VirtualBox: Pilnīgs ceļvedis par tīkla veidiem, lietojumiem un trikiem