- 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.
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 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.
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-Pjūsu procesoram/tīklam; 10 GbE tīklā parasti pietiek ar 4–8. - Vienlaicīga divvirzienu:
iperf3 -c IP_SERVIDOR -P 4 -dmē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 6060 s testiem; izslēgšana sākas ar-O 3lai izvairītos no TCP lēnas palaišanas. - Bez kopēšanas:
-Zsamazina procesora slodzi operētājsistēmā Linux. - CPU afinitāte:
-Anosaka afinitāti (noderīgi pavedienu sadalīšanai starp dažādiem kodoliem). - Saistīšana ar saskarni:
-B 10.0.0.2tieš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.
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 -lun 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.
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:
-posta,--cportklienta ports (>=3.1),-fformāts (k/K/m/M/g/G),-iintervāls,-Farhīvu,-Bsaistīt,-Vdaudzvārdīgs,-JJSON,--logfile(>=3.1),-hpalīdzēt,-vversija. - Serveris:
-sserveris,-Dvelns,-IPID fails. - Klients:
-cIP,--sctpSCTP-uUDP,-bjoslas platums,-tlaikapstākļi,-nbaiti,-kpaketes,-lbufera garums,-Pdiegi,-Rotrādi,-wTCP logs,-MMSS,-NTCP bez kavēšanās,-4/-6IPv4/IPv6,-SKLEPUS,-LIPv6 birka,-Zbez kopijas,-Oizlaiž zābaku,-TNosaukums,-Csastrē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.
Kaislīgs rakstnieks par baitu pasauli un tehnoloģiju kopumā. Man patīk dalīties savās zināšanās rakstot, un tieši to es darīšu šajā emuārā, parādot visu interesantāko informāciju par sīkrīkiem, programmatūru, aparatūru, tehnoloģiju tendencēm un daudz ko citu. Mans mērķis ir palīdzēt jums vienkāršā un izklaidējošā veidā orientēties digitālajā pasaulē.