Inteli logoIntel® Ethernet 700 seeria
Linuxi jõudluse häälestamise juhend
NEX pilvevõrkude grupp (NCNG)
Rev. 1.2
detsember 2024

Läbivaatamise ajalugu

Läbivaatamine Kuupäev Kommentaarid
1.2 detsember 2024 · Lisatud täiendavad energiatarbimise haldamise juhised.
· Lisatud Intel* Turbo Boost.
· Lisatud võrguseadmete mahajäämus.
· Lisatud platvormipõhised konfiguratsioonid ja häälestamine.
· Lisatud 4. põlvkonna Intel* %eon* skaleeritavad protsessorid.
· Lisatud AMD EPYC.
· Uuendatud kontrollisüsteemi riistvara võimekus.
· Uuendatud iPerf2.
· Uuendatud iPerf3.
· Uuendatud saatmis-/vastuvõtujärjekorrad.
· Uuendatud katkestuste modereerimine.
· Uuendatud sõrmuse suurus.
· Uuendatud platvormi häälestamine (mitte-spetsiifiline i40e).
· Uuendatud BIOS-i sätted.
· Uuendatud C-oleku kontroll.
· Uuendatud protsessori sageduse skaleerimine.
· Rakenduse seaded on uuendatud.
· Uuendatud operatsioonisüsteemi/kerneli seaded.
· Uuendatud IP-edastamine.
· Uuendatud madal latentsusaeg.
2023. august Selle dokumendi muudatused hõlmavad järgmist:
· Lisatud seotud viited.
· Lisatud Veenduge, et DDP pakett laadib õigesti.
· Lisatud iPerf2.
· Lisatud iPerf3.
· Lisatud netperf.
· Uuendatud IRQ afiinsus.
· Lisatud saatmis-/vastuvõtujärjekorrad.
· Uuendatud sõrmuse suurus.
· Lisatud hiiglaslikud raamid.
· Lisatud adapteri liimimine.
· Lisatud Inteli svr-info tööriist.
1.0 märts 2016 Esialgne väljalase (Intel Public).

Sissejuhatus

See juhend on mõeldud keskkondade häälestamiseks optimaalse võrgu jõudluse saavutamiseks, kasutades Intel® Etherneti 700 seeria võrgukaarte Linuxi keskkondades. See keskendub riistvara, draiveri ja operatsioonisüsteemi tingimustele ja sätetele, mis võivad võrgu jõudlust parandada. Tuleb märkida, et võrgu jõudlust võivad mõjutada mitmesugused välised tegurid, millest selles juhendis käsitletakse ainult kõige levinumaid ja dramaatilisemaid.
1.1 Seotud viited

Esialgne kontrollnimekiri

2.1 Draiveri/püsivara versioonide värskendamine
Kontrolli draiveri/püsivara versioone käsuga ethtool -i ethx.
Vajadusel uuenda järgmist:

2.2 Loe README faili
Kontrollige teadaolevaid probleeme ja hankige uusimad konfiguratsioonijuhised README-failist. file i40e lähtekoodi paketti kuulub.
2.3 Kontrollige, kas teie PCI Expressi (PCIe) pesa on x8
Mõned PCIe x8 pesad on tegelikult konfigureeritud x4 pesadena. Nendel pesadel pole kahe- ja neljapordiliste seadmetega täieliku liinikiiruse saavutamiseks piisavalt ribalaiust. Lisaks, kui PCIe v3.0.x pessa panna PCIe v2-toega adapter, ei saa te täielikku ribalaiust. Tarkvaraseadme draiver tuvastab selle olukorra ja kirjutab süsteemilogisse järgmise teate:
Selle kaardi jaoks saadaolev PCI-Expressi ribalaius ei ole optimaalse jõudluse saavutamiseks piisav. Optimaalse jõudluse tagamiseks on vaja x8 PCI-Expressi pesa.
Selle vea ilmnemisel viige adapter probleemi lahendamiseks tõelise PCIe v3.0 x8 pessa.
2.4 Kontrollige süsteemi riistvara võimalusi
10 Gbps, 25 Gbps ja 40 Gbps Etherneti puhul on protsessori ja süsteemi jaoks teatud minimaalsed nõuded. Üldiselt peaks piisama kaasaegsest serveriklassi protsessorist ja platvormile sobivast optimaalsest mälukonfiguratsioonist, kuid vajadused varieeruvad olenevalt töökoormusest. Kõik mälukanalid peaksid olema täidetud ja mälu jõudlusrežiim peaks olema BIOS-is lubatud. Veenduge, et teie protsessori ja mälu konfiguratsioon suudavad toetada teie töökoormuse jaoks vajalikku võrgu jõudlustaset.
MÄRKUS
XL710 on 40 GbE kontroller. Selle kontrolleriga 2 x 40 GbE adapter ei ole mõeldud 2 x 40 GbE, vaid 1 x 40 GbE pordina aktiivse varupordiga. Kui proovite kasutada mõlema pordiga liinikiirusega liiklust, on sisemine lüliti küllastunud ja kahe pordi vaheline ribalaius on kokku piiratud XNUMX Gbps-ni.
2.4.1 Kerneli alglaadimise parameetrid
Kui BIOS-is on lubatud Intel® virtualiseerimistehnoloogia suunatud sisend-/väljundi jaoks (Intel® VT-d), soovitab Intel optimaalse hostivõrgu jõudluse saavutamiseks IOMMU-d läbilaskerežiimis hoida. See välistab hosti liikluse DMA lisakoormuse, võimaldades samal ajal virtuaalmasinatel (VM-idel) Intel® VT-d eeliseid kasutada. Selle saavutamiseks tuleb kerneli käivitusparameetritesse lisada järgmine rida: fommu-pt.
2.5 Veenduge, et DDP pakett laadib õigesti
140ea ja 140eb baasdraiveritel puudub otsene tugi dünaamilisele seadme isikupärastamisele (DDP). DDP kasutamiseks 700-seeria seadmetega on vaja DDP-protokolli.file saab rakendada testpmd rakendusega.
Lisateavet DDP pro kohta leiate siit.fileja kuidas DDP pro'd rakendadafile 700-seeria seadmetel oleva testpmd kohta vaadake Intel® Etherneti 700-seeria dünaamilise seadme isikupärastamise (DDP) tehnoloogiajuhendit.
DDP-professionaali olemasolu kontrollimiseksfile laaditi edukalt:
testpmd> ddp hankige nimekiri 0 Profile number on: 1
MÄRKUS
Kui profile Kui number on 0, siis DDP paketti ei laadita. DDP paketi laadimisvea korral lülitub seade vaikimisi turvarežiimi ja paljud jõudlusfunktsioonid pole saadaval. Kui DDP paketi laadimisega on seotud vigu, põhjustab see jõudlusprobleeme. Veaotsingu juhiste saamiseks vaadake Inte/* Ethernet 700 seeria dünaamilise seadme isikupärastamise (DDP) tehnoloogiajuhendit.

Baastaseme jõudluse mõõtmised ja häälestamise metoodika

3.1 Võrgu jõudluse võrdlusnäitajad
Enne häälestamise alustamist on oluline omada head võrgu jõudluse algtaseme mõõtmist. Tavaliselt on lisaks konkreetse rakenduse/töökoormuse jõudluse esialgsele mõõtmisele hea mõte kasutada ka standardset võrgu jõudluse võrdlusalust, et kontrollida oma võrguseadme heas seisukorras olekut.
Üksiku süsteemi optimeerimiseks on netperf või iperf ja NetPIPE kõik usaldusväärsed avatud lähtekoodiga tasuta tööriistad, mis võimaldavad teil ühendust koormata ja jõudlusprobleeme diagnoosida.
Netperf on tugev nii läbilaskevõime kui ka latentsuse testimiseks. NetPIPE on latentsusaja spetsiifiline tööriist, kuid seda saab kompileerida mis tahes keskkonna jaoks.
MÄRKUS
TCP_RR test netperfis tagastab latentsuse väärtusena tehinguid sekundis. See on edasi-tagasi edastuskiirus. Ühesuunalise latentsuse saab arvutada järgmise võrrandi abil:
Latentsus (sekundid) = (1⁄2) / [Tehinguid sekundis] * 1,000,000 XNUMX XNUMX
3.1.1 iPerf2
Intel soovitab enamiku võrdlustestide puhul iperf2-d iperf3 asemel, kuna see on hõlpsasti kasutatav ja toetab ühes rakenduse eksemplaris mitut lõime. Intel soovitab 2G ühenduste puhul kasutada valikut -P 4-25 lõimega ja 4G ühenduste puhul umbes 6-40 lõimega.

  • Ühesuunalise liikluse käivitamiseks kliendilt serverile: serveri käsk ntampfail: iperf2 -s
    Kliendi käsklus exampfail: iperf2 -c -P
  • Kahesuunalise liikluse käivitamiseks kliendilt serverile (ja vastupidi): Serveri käsk ntampfail: iperf2 –s –p
    Kliendi käsklus example:
    iperf2 -c -p -P -–täisdupleks VÕI
    iperf2 -c -p -P –d

MÄRKUS
Nii iperf2 valikud –full-duplex kui ka -d võimaldavad kasutajal teostada kahesuunalist testimist. Valik –full-duplex keskendub aga spetsiaalselt täisduplekstestimisele.
MÄRKUS
Iperf2 testimisel mitme serveripordi kaudu saab serverikäsule lisada lipu -d, et käivitada kõik serveriseansid taustal samast terminaliaknast. Lippu -d saab kasutada ka siis, kui serverikäsk on skripti for-tsüklisse manustatud.
MÄRKUS
Võrgu läbilaskevõime testi käivitamisel ühe voo/lõimega (ntample: P1), AMD protsessorid ei pruugi pakkuda oodatud läbilaskevõimet, eriti suurema ribalaiusega võrgukaardid (kui kiirus on >= 25G ribalaius). Seetõttu on suurema läbilaskevõime saavutamiseks vaja rakendusi teatud tuumadele kinnitada. Vt rakenduse seadeid leheküljel 22.
3.1.2 iPerf3
Kui kasutatakse iperf3, on eelise saavutamiseks vaja rakenduse mitut eksemplari.tagmitmelõimeliste, RSS-i ja riistvarajärjekordade puhul. Intel soovitab 2G ühenduste puhul töötada 4–25 ​​rakenduse seansiga ja 4G ühenduste puhul umbes 6–40 seansiga. Iga seanss peaks määrama unikaalse TCP-pordi väärtuse, kasutades valikut -p.

  • Ühesuunalise liikluse käivitamiseks kliendilt serverile:
    Serveri käsklus example:
    iperf3 -s -p
    Kliendi käsklus example:
    iperf3 -c -p
  • Kahesuunalise liikluse käivitamiseks kliendilt serverile (ja vastupidi):
    Serveri käsklus example:
    iperf3 –s –p
    Kliendi käsklus exampfail: iperf3 -c -p -P –-bidir
  • Mitme iperf3 eksemplari (lõime) käivitamiseks on soovitatav kasutada for-tsüklit, et kaardistada lõimed TCP portidele ja käivitada iperf3 taustal, kasutades &-märki, et luua paralleelselt mitu protsessi.
    Serveri käsklus example, käivita 4 lõime: port=””; for i in {0..3}; do port=520$i; bash -c “iperf3 -s -p $port &”; done; Kliendi käsk ntample, käivita 4 lõime – Edasta testport=””; for i in {0..3}; do port=520$i; bash -c “iperf3 -c $serverIP -p $port &”; done; Kliendi käsk ntample, käivita 4 lõime – Receive test port=””; for i in {0..3}; do port=520$i; bash -c “iperf3 -R -c $serverIP -p $port &”; done; 40G ühenduste puhul suurenda for-tsükli pikkust, et luua kuni 6 eksemplari/lõime.

MÄRKUS
Võrgu läbilaskevõime testi käivitamisel ühe voo/lõimega (ntampnäiteks P1), AMD protsessorid ei pruugi pakkuda oodatud läbilaskevõimet, eriti suurema ribalaiuse korral
Võrgukaardid (kui kiirus on >= 25G ribalaius). Seetõttu on suurema läbilaskevõime saavutamiseks vaja rakendusi kindlatele tuumadele kinnitada. Vt Rakenduse sätted leheküljel 22 ja AMD EPYC leheküljel 26.
3.1.3 netperf
Netperf tööriist on tugev valik nii läbilaskevõime kui ka latentsuse testimiseks.

  • TCP_STREAM test netperfis mõõdab seadme läbilaskevõimet. Serveri käsk ntample: netserver Kliendi käsk exampfail: netperf -t TCP_STREAM -l 30 -H
  • TCP_RR test netperfis tagastab latentsuse väärtusena tehinguid sekundis. See on edasi-tagasi arv. Soovitatav on kasutada valikut -T x,x, kus x on seadme lokaalne protsessor. Ühesuunalise latentsuse saab arvutada järgmiselt: Latency(usec)=(1⁄2)/ [Tehinguid sekundis]*1,000,\ Serveri käsk ntampfail: võrguserver
    Kliendi käsklus exampfail: netperf -t TCP_RR -l 30 -H -T x,x
  • Mitme netperfi eksemplari (lõime) käivitamiseks on soovitatav kasutada for-tsüklit, et kaardistada lõimed TCP-portidele ja käivitada netperf taustal, kasutades &-märki, et luua paralleelselt mitu protsessi.
    Serveri käsklus example, alusta 8 teemat:
    port=””; for i in {0..7}; do port=520$i; bash -c “võrguserver -L $serveriIP -p $port &”; tehtud;
    Kliendi käsklus example, käivita 8 lõime: port=””; for i in {0..7}; do port=520$i; bash -c “netperf -H $serverIP -p $port -t TCP_STREAM -l 30 &”; done;

3.2 Häälestamise metoodika
Keskendu korraga ühele häälestusmuudatusele, et teaksid, millist mõju iga muudatus sinu testile avaldab. Mida metoodilisem sa häälestamisprotsessis oled, seda lihtsam on jõudlusprobleemide põhjuseid tuvastada ja nendega tegeleda.

i40e draiveri seadete häälestamine

4.1 IRQ afiinsus
IRQ-afiinsuse konfigureerimine nii, et erinevate võrgujärjekordade katkestused on seotud erinevate protsessori tuumadega, võib avaldada tohutut mõju jõudlusele, eriti mitme keermega läbilaskevõime testidele.
IRQ afiinsuse konfigureerimiseks peatage irqbalance ja seejärel kasutage kas i40e lähtekoodipaketist pärit skripti set_irq_affinity või kinnitage järjekorrad käsitsi. Järjekorra kinnitamise lubamiseks keelake kasutajaruumi IRQ tasakaalustaja:

  • systemctl keelab irqbalance'i
  • systemctl peatab irqbalance'i
    Kasutades i40e lähtekoodipaketist pärit set_irq_affinity skripti (soovitatav):
  • Kõigi südamike kasutamiseks:
    [path-to-i40epackage]/scripts/set_irq_affinity -X all ethX
  • Ainult kohaliku NUMA sokli südamike kasutamiseks: [path-to-i40epackage]/scripts/set_irq_affinity -X local ethX
  • Samuti saate valida südamike vahemiku. Vältige cpu0 kasutamist, kuna see käivitab taimeriga seotud ülesandeid. [path-to-i40epackage]/scripts/set_irq_affinity 1-2 ethX

MÄRKUS
Afiinsusskript lubab kinnitamisprotsessi osana edastuspakettide juhtimise (XPS), kui on määratud valik -x. Kui XPS on lubatud, soovitab Intel keelata irqbalance'i, kuna kerneli tasakaalustaja XPS-iga võib põhjustada ettearvamatut jõudlust. Afiinsusskript keelab XPS-i, kui on määratud valik -X. XPS-i keelamine ja sümmeetriliste järjekordade lubamine on kasulik töökoormuste puhul, kus parim jõudlus saavutatakse siis, kui Edastus- ja Vastuvõtu liiklust teenindatakse samal järjekorrapaaril/paaridel.
Sümmeetriliste järjekordade konfigureerimine Linuxis hõlmab võrguliidese draiveri parameetrite häälestamist, et lubada toetatud võrguadapterite jaoks sümmeetrilisi vastuvõtujärjekordi (Rx) ja sümmeetrilisi edastusjärjekordi (Tx).
MÄRKUS

  • Sümmeetrilised järjekorrad on täiustatud võrgufunktsioon ja mitte kõik 700-seeria võrguadapterid ega draiverid ei toeta neid.
  • Enne sümmeetriliste järjekordade konfigureerimist veenduge, et teil on olemas vajalik draiveri- ja riistvaratugi.

Sümmeetriliste järjekordade konfigureerimiseks toimige järgmiselt.

  1. Muuda võrguliidese konfiguratsiooni FileKasutage tekstiredaktorit (ntample, vi, nano või gedit) võrguliidese konfiguratsiooni muutmiseks file. The file asub tavaliselt kataloogis /etc/sysconfig/network-scripts/ ja selle nimi on näiteks ifcfg-ethX, kus ethX on teie võrguliidese nimi.
  2. Lisage sümmeetrilise järjekorra parameetrid. Lisage võrguliidese konfiguratsioonile järgmised read file: ETHTOOL_OPTS=”vastuvõtujärjekorrad 8 saatmisjärjekorrad 8”
  3. Taaskäivitage võrguteenus.
    Pärast muudatuste tegemist taaskäivitage võrguteenus uue konfiguratsiooni rakendamiseks. sudo systemctl restart network

Käsitsi:

  • Leidke iga sõlmega ühendatud protsessorid, kasutades käsku: numactl –hardware lscpu
  • Leidke iga protsessori bitimaskid:
  • Eeldades, et sõlme 0 tuumad 11-0 on: [1,2,4,8,10,20,40,80,100,200,400,800]
  • Leidke määratavale pordile määratud IRQ-d: käsk grep ethX /proc/interrupts ja pange tähele IRQ-väärtusi. Näiteksample, 181–192 laaditud 12 vektori jaoks.
  • Kajasta SMP afiinsuse väärtus vastavasse IRQ kirjesse. Pane tähele, et seda tuleb teha iga IRQ kirje puhul: echo 1 > /proc/irq/181/smp_affinity echo 2 > /proc/irq/182/smp_affinity echo 4 > /proc/irq/183/smp_affinity Näita IRQ afiinsust:
  • IRQ afiinsuse kuvamiseks kõigi südamike puhul: /scripts/set_irq_affinity -s ethX
  • Ainult kohaliku NUMA-sokli südamike kuvamiseks: /scripts/set_irq_affinity -s kohalik ethX
  • Samuti saate valida südamike valiku: /scripts/set_irq_affinity -s 40-0-8,16 ethX

MÄRKUS
Skript set_irq_affinity toetab lippu -s i40e draiveri versioonis 2.16.11 ja uuemates.
4.2 Saatmis-/vastuvõtujärjekorrad
Draiveri poolt iga Etherneti pordi jaoks initsialiseerimisel lubatud järjekordade arv on vaikimisi võrdne platvormil saadaolevate protsessorite koguarvuga. See toimib hästi paljude platvormide ja töökoormuse konfiguratsioonide puhul. Platvormidel, millel on suur tuumade arv ja/või suur Etherneti pordi tihedus, võib see konfiguratsioon aga põhjustada ressursikonkurentsi. Seetõttu võib mõnel juhul olla vajalik muuta süsteemi iga pordi vaikeseadet.
Tx/Rx järjekordade vaikeväärtus võib olenevalt mudelist ja draiveri versioonist erineda. Järjekordade arvu saab muuta allpool loetletud käsuga ethtool -L.
MÄRKUS
Sellistel juhtudel soovitab Intel vähendada iga pordi vaikejärjekorra arvu nii, et see ei ületaks adapteri pordi suhtes kohalikus NUMA-sõlmes saadaolevate protsessorite arvu. Mõnel juhul, kui proovite ressursse tasakaalustada suure portide arvuga rakendustes, võib olla vajalik seda arvu veelgi vähendada.
Järjekorra konfiguratsiooni muutmiseks tehke järgmist.
Järgmised eksampfail määrab pordiks 32 Tx/Rx järjekorda: ethtool -L ethX combined 32
Exampväljund:
ethtool -l ethX
ethX-i kanali parameetrid: Eelnevalt seatud maksimumväärtused:
RX: 96
TX: 96 XNUMX XNUMX
muu: 1 XNUMX
Kombineeritud: 96
Praegused riistvaraseaded:
RX: 0
TX: 0 XNUMX XNUMX
muu: 1 XNUMX
Kombineeritud: 32
4.3 Katkestuste modereerimine
Adaptiivne katkestuste modereerimine on vaikimisi sisse lülitatud ja selle eesmärk on pakkuda tasakaalustatud lähenemist madala protsessori kasutuse ja kõrge jõudluse vahel. Siiski võite proovida katkestuste sätteid käsitsi häälestada, et need vastaksid teie kasutusjuhtumile.
Vahemik 0–235 mikrosekundit annab efektiivseks vahemikuks 4,310 kuni 250,000 2 katkestust sekundis. Parameetri rx-μsecs-high väärtust saab määrata samas ethtool-käsus nii rx-μsecs kui ka tx-μsecs väärtustest sõltumatult ning see on sõltumatu ka adaptiivse katkestuste modereerimise algoritmist. Põhiriistvara toetab XNUMX-mikrosekundiliste intervallidega granulaarsust, seega võivad külgnevad väärtused põhjustada sama katkestussageduse.

  • Adaptiivse katkestuste modereerimise väljalülitamiseks: ethtool -C ethX adaptive-rx off adaptive-tx off
  • Adaptiivse katkestuste modereerimise sisselülitamiseks: ethtool -C ethX adaptive-rx on adaptive-tx on

Üldise häälestamise hea alguspunkt on 84 μs ehk ~12000 katkestust sekundis. Kui näed liikluse ajal rx_dropped loendureid töötamas (kasutades ethtool -S ethX), siis on sul tõenäoliselt liiga aeglane protsessor, adapteri rõnga suurusest (ethtool -G) tulenevalt pole piisavalt puhvreid pakettide 84 μs hoidmiseks või katkestuste sagedus on liiga madal.

  • Katkestuste modereerimise fikseeritud katkestussagedusele 84 μs katkestuste vahel (12000 katkestust/s) määramiseks käsku ethtool -C ethX adaptive-rx off adaptive-tx off rx-usecs 84 tx-usecs 84 Järgmine väärtus, mida proovida, kui protsessori kasutusaste pole veel maksimaalselt ära kasutatud, on 62 μs. See kasutab rohkem protsessorit, kuid teenindab puhvreid kiiremini ja nõuab vähem deskriptoreid (rõnga suurus, ethtool -G).
  • Katkestuste modereerimise fikseeritud katkestussagedusele 62 usecsi määramiseks katkestuste vahel (16000 katkestust/s). ethtool -C ethX adaptive-rx off adaptive-tx off rx-usecs 62 tx-usecs 62
    Kui rx_dropped loendurite arv liikluse ajal suureneb (kasutades ethtool -S ethX), on teil tõenäoliselt liiga aeglane protsessor, adapteri rõnga suurusest pole piisavalt puhvreid (ethtool -G) või katkestussagedus on liiga madal. Kui protsessori kasutusaste pole maksimaalne, saate katkestussagedust suurendada ITR-väärtust vähendades. See kasutab rohkem protsessorit, kuid teenindab puhvreid kiiremini ja nõuab vähem deskriptoreid (rõnga suurus, ethtool -G).
    Kui teie protsessori koormus on 100%, siis katkestussageduse suurendamine ei ole soovitatav. Teatud olukordades, näiteks protsessoriga seotud töökoormuse korral, võiksite suurendada μs väärtust, et anda teistele rakendustele rohkem protsessori aega.
    Kui vajate madalat latentsusaega ja/või teil on võrgu töötlemiseks palju protsessoriruumi, saate katkestuste modereerimise täielikult keelata, mis võimaldab katkestustel võimalikult kiiresti käivituda.
  • Katkestuste modereerimise keelamiseks kasutage käsku ethtool -C ethX adaptive-rx off adaptive-tx off rx-usecs 0 tx-usecs 0

MÄRKUS
Kui katkestuste modereerimine on keelatud, võib iga järjekorra katkestuste kiirus olla väga kõrge. Kaalu parameetri rx-usec-high lisamist, et määrata katkestuste kiiruse ülempiir. Järgmine käsk keelab adaptiivse katkestuste modereerimise ja lubab maksimaalselt 5 mikrosekundit, enne kui see annab märku vastuvõtmise või edastamise lõpetamisest. Selle asemel, et tulemuseks oleks kuni 200,000 50,000 katkestust sekundis, piirab see katkestuste koguarvu sekundis parameetri rx-usec-high abil 20 5-ni. # ethtool -C ethX adaptive-rx off adaptive-tx off rx-usecs-high 5 rx-usecs 80 txusecs 100 Proovige saatmise/vastuvõtmise/kõrge prioriteediga koalestseerimise taimerit kõrgemaks (150/200/25/20) või madalamaks (10/5/XNUMX/XNUMX) reguleerida, et leida töökoormuse jaoks optimaalne väärtus.
4.4 Sõrmuse suurus
Kui näete käsus ethtool -S ethX (rx_dropped, rx_dropped.nic) loendureid rx_dropped või kahtlustate vahemälu koormust mitme aktiivse järjekorra tõttu, võite proovida rõnga suurust vaikeväärtusest muuta. Vaikimisi väärtus on 512, maksimaalne on 4096.

  • Praeguste väärtuste kontrollimiseks: ethtool -g ethX
    Kui kahtlustatakse, et puhverdamise puudumine põhjustab katkestussageduse langusi praeguse katkestussageduse juures, võite proovida esmalt maksimaalset, seejärel minimaalset ja jätkata binaarotsingut, kuni näete optimaalset jõudlust.
    Kui kahtlustatakse vahemälu koormust (paljud järjekorrad on aktiivsed), võib puhvrite vähendamine vaikesätetest aidata Intel ® Data Direct I/O-l (Intel ® DDIO) tõhusamalt töötada. Intel soovitab proovida 128 või 256 puhvrit järjekorra kohta, olles teadlik, et rx_dropped suurenemise vältimiseks võib olla vajalik katkestuste sageduse suurendamine ethtool -C abil.
  • Rõnga suuruse fikseeritud väärtusele määramiseks: ethtool -G eth12 rx 256 tx 256

MÄRKUS
Käsuga ethtool -S ethX|grep drop leitud Rx pakettide kadude parandamiseks kaaluge rõnga suuruse suurendamist 4096-ni. Eksperimenteerige, et leida töökoormuse jaoks parim säte, kuid olge ettevaatlik liigse mälukasutusega suuremate väärtuste korral.
4.5 Voolu reguleerimine
2. kihi voo juhtimine võib TCP jõudlust märkimisväärselt mõjutada ja enamiku töökoormuste puhul on soovitatav see keelata. Võimalikuks erandiks on purskeline liiklus, mille kestus ei ole pikk.
Voolukontroll on vaikimisi keelatud.

  • Voolu juhtimise lubamiseks: ethtool -A ethX rx on tx on
  • Voolu juhtimise keelamiseks: ethtool -A ethX rx off tx off

MÄRKUS
Voolu juhtimise edukaks lubamiseks peab teil olema voo juhtimise võimekusega lingipartner.
4.6 Jumbo raamid
Kui eeldatav liikluskeskkond koosneb edastatavatest suurtest andmeplokkidest, võib olla kasulik lubada jumbo-kaadrite funktsioon. Jumbo-kaadrite tugi lubatakse, muutes maksimaalse edastusühiku (MTU) väärtuseks, mis on suurem kui vaikeväärtus 1500. See võimaldab seadmel edastada andmeid võrgukeskkonnas suuremates pakettides. See säte võib parandada läbilaskevõimet ja vähendada protsessori kasutamist suurte I/O-koormuste korral. See võib aga mõjutada väikeste pakettide või latentsusaja suhtes tundlikke töökoormusi.
MÄRKUS
Jumbo-raamid või suuremad MTU-sätted peavad olema teie võrgukeskkonnas õigesti konfigureeritud.
MTU suuruse suurendamiseks kasutage käsku ifconfig. Näiteksampsisestage järgmine, kus on liidese number: ifconfig mtu 9000 üles
Teise võimalusena võite kasutada ip-käsku järgmiselt: ip link set mtu 9000 dev IP-lingi seadistamine arenduses

Platvormi häälestamine (i40e mittespetsiifiline)

5.1 BIOS-i sätted

  • Lubage virtualiseerimiskoormuste jaoks Intel® VT-d.
  • Hüperlõimestamine (loogilised protsessorid) võib jõudlust mõjutada. Katsetage seda oma töökoormuse jaoks sisse või välja lülitatuna.
  • Intel® Turbo Boost võimaldab protsessori tuumadel töötada kõrgemal sagedusel kui protsessori baassagedus. Intel® Turbo Boosti lubamine võib parandada paljude töökoormuste jõudlust, kuid tuumade kõrgemal sagedusel hoidmiseks kulub rohkem energiat. Katsetage oma töökoormuse jaoks Turbo Boosti välja/sisse lülitamist.

MÄRKUS
Turbosagedused ei ole garanteeritud, kui platvormil on kõrge protsessori üldine kasutusaste. Kõrgemad tuuma turbosagedused vähenevad protsessori üldise kasutusastme suurenedes.
5.2 Toitehaldus
Toitehaldus võib mõjutada jõudlust, eriti väikese latentsusega töökoormuste korral. Kui jõudlus on energiatarbimise vähendamisest olulisem, soovitab Intel katsetada toitehalduse mõju piiramist. Toitehalduse piiramiseks on palju erinevaid viise, kasutades operatsioonisüsteemi tööriistu, BIOS-i sätteid ja kerneli käivitusparameetreid. Valige oma keskkonnale sobiv meetod ja tase.
5.2.1 C-oleku kontroll
C-olekusse sisenemise piiramine CO-ga või C1-ga parandab jõudlust ja suurendab energiatarbimist.
Protsessoripaketi C6 oleku sisestamise keelamine võib parandada võrgu jõudlust. See aga suurendab energiatarbimist.
Saadaval on järgmised valikud.

  • C-oleku sisenemise dünaamiline juhtimine:
    Avatud
    /dev/cpu_dma_latency ja kirjuta sinna maksimaalne lubatud latentsus.

MÄRKUS
Selleks on olemas väike programm nimega cpudmalatency.c, mille saab avatud lähtekoodiga kogukonnast alla laadida, kompileerida ja käsurealt käivitada.
Järgmised eksample võimaldab viis μs ärkvelolekuaega ja seega võimaldab C1 sisenemist: cpudmalattency 5 &

  • Kerneli alglaadimisseadetes piiratakse maksimaalset C-olekut:
    Inteli protsessorite puhul: intel_idle.max_cstates=1
    Mitte-Inteli protsessorite puhul: processor.max_cstates=1
  • CPU C6 oleku kontrollimiseks ja keelamiseks kasutage käsku cpupower: Kontrollige: cpupower monitor või cpupower idle-info
    Keela C6: cpupower idle-set -d3 või
    C-olekute keelamine: cpupower idle-set -D0

Märkused:

  1. Keelake protsessori C-olekud, kui serveril on Intel® 4. põlvkonna Intel® Xeon® skaleeritav(ad) protsessor(id). Kui hüperlõimede funktsioon on lubatud või keelatud, siis jõudeolekute keelamine (-D0) takistab tuumadel jõudeoleku ajal energiasäästlikku olekusse sisenemist ja vähendab protsessori latentsusaega jõudeoleku ja aktiivse oleku vahel üleminekul.
  2. Intel® 4. põlvkonna Intel® Xeon® skaleeritava protsessori energiahaldus on äärmiselt agressiivne. Tuumade madala energiatarbega olekusse sattumise vältimiseks proovige vähendada kasutatavate tuumade arvu, et need kauem ärkvel püsiksid (ethtool -L kombineeritud ). Samuti saab katkestused siduda kindlate tuumadega, kasutades käsku set irq affinity (kõige sagedamini käsuga -x local või list of CPU cores) ja tagada, et töökoormus töötaks samadel tuumadel käsuga taskset või numactl. See parandab jõudlust, hoides tuumad aktiivsena ja optimeerides katkestuste käsitlemist.

Luba C6:
cpupower idle-set -d3
C-olekute lubamine:
cpupower idle-set -E

  • Teine meetod on jõudlusprofiili seadistamiseks kasutada häälestatud tööriista (mis on kaasas paljude Linuxi distributsioonidega).file. Need profilemuuta mitmeid operatsioonisüsteemi sätteid, mis võivad mõjutada paljude rakenduste jõudlust. On leitud, et võrgu läbilaskevõime protsessorfile pakub enamiku töökoormuste puhul täiustusi.
    Kontrollige:
    häälestatud adm aktiivne
    Määra:
    häälestatud adm profile võrgu läbilaskevõime
    MÄRKUS
    Ülaltoodud käskude jaoks peab häälestatud teenus töötama. Kontrollimiseks/taaskäivitamiseks käsk "häälestatud": systemctl status tuned systemctl restart tuned
    Samuti saate keelata mis tahes C-oleku kirje, lisades kerneli alglaadimisreale järgmise käsu:
    tühikäik=küsitlus
  • Piirake C-olekut süsteemi BIOS-i toitehalduse sätete kaudu, millel võib olla jõudlusprobleem.file saadaval.
    Toitehalduse sätete kontrollimiseks või määramiseks saab kasutada selliseid tööriistu nagu turbostat või x86_energy_perf_policy.

5.2.2 PCIe toitehaldus
Aktiivse oleku energiatarbe haldamine (ASPM) võimaldab PCIe-linkidel madalama energiatarbega olekut, kui neid aktiivselt ei kasutata. See võib PCIe-võrguseadmetes põhjustada suuremat latentsust, seega soovitab Intel latentsuse suhtes tundlike töökoormuste korral ASPM-i keelata. ASPM-i keelamiseks lisage kerneli alglaadimisreale järgmine käsk: pcie_aspm=off
5.2.3 Protsessori sageduse skaleerimine
Protsessori sageduse skaleerimine (või protsessori kiiruse skaleerimine) on Linuxi energiatarbimise haldustehnika, mille puhul süsteemi kella kiirust reguleeritakse reaalajas, et säästa energiat ja soojust. Nii nagu C-olekud, võib see põhjustada võrguühendustes soovimatut latentsust.
CPUpoweri tööriista saab kasutada ka protsessori jõudluse vaikesätete ja piirangute kontrollimiseks ja muutmiseks:

  • Kontrollige: protsessori võimsust monitori või
  • Seadista protsessorid jõudlusrežiimi: cpupower frequency-set -g performance

MÄRKUS
Protsessori sageduspiirangute muutmine võib mõjutada paljusid töökoormusi ja keelata muid funktsioone, näiteks protsessori turborežiimi.
Protsessori sageduse skaleerimise keelamiseks keelake protsessori toiteteenus järgmiste käskudega:
systemctl stop cpupower.service
systemctl keelab cpupower.service'i
5.2.4 Täiendavad juhised energiatarbimise haldamiseks
Lisateavet leiate sellest kõrgetasemelisest ülevaatest.view paljudest 3. põlvkonna Intel® Xeon® skaleeritavate protsessorite energiahaldusfunktsioonidest ning juhised nende funktsioonide platvormitasandil integreerimiseks: https://networkbuilders.intel.com/solutionslibrary/power-management-technologyoverview-technology-guide
5.3 Intel® Turbo Boost
Intel® Turbo Boost muudab protsessori vajadusel kiiremaks, kuid võib tarbida rohkem energiat. Turbo Boosti väljalülitamine hoiab protsessori kiiruse ühtlasena, pakkudes teile kindlate töökoormuste jaoks järjepidevat jõudlust.
5.4 Tulemüürid
Tulemüürid võivad mõjutada jõudlust, eriti latentsusaega.
Kui see pole vajalik, keelake iptables/firewalld.
5.5 Rakenduse sätted
Tihti ei piisa ühest lõimest (mis vastab ühele võrgujärjekorrale) maksimaalse ribalaiuse saavutamiseks. Mõned platvormiarhitektuurid, näiteks AMD, kipuvad ühe lõimega rohkem Rx-pakette maha saatma võrreldes Inteli-põhiste protsessoritega platvormidega.
Rakenduste kinnitamiseks võrguseadme NUMA-sõlme või protsessori tuumadele kaaluge selliste tööriistade nagu taskset või numactl kasutamist. Mõne töökoormuse, näiteks salvestusruumi sisend-/väljundi puhul on rakenduse teisaldamine mittelokaalsesse sõlme kasulik.
Katseta võimalusel oma rakenduse poolt kasutatavate lõimede arvu suurendamisega.
5.6 Kerneli versioon
Enamik tänapäevaseid sisseehitatud kerneleid on jõudluse osas mõistlikult optimeeritud, kuid olenevalt teie kasutusjuhtumist võib kerneli värskendamine jõudlust parandada. Lähtekoodi allalaadimine võimaldab teil enne kerneli ehitamist teatud funktsioone lubada/keelata.
5.7 Operatsioonisüsteemi/tuuma seaded
Lisateavet operatsioonisüsteemi üldise häälestamise kohta leiate operatsioonisüsteemi häälestamise juhenditest, näiteks Red Hat Enterprise Linux Network Performance Tuning Guide'ist.
Järgmises tabelis on loetletud mõned levinumad häälestatavad parameetrid. Pange tähele, et need on vaid soovituslikud lähtepunktid ja nende muutmine vaikesätetest võib suurendada süsteemi ressursside kasutamist. Kuigi väärtuste suurendamine aitab jõudlust parandada, on vaja katsetada erinevate väärtustega, et teha kindlaks, mis toimib antud süsteemi, töökoormuse ja liikluse tüübi puhul kõige paremini.
Kerneli parameetreid saab Linuxis seadistada sysctl utiliidi abil, nagu allpool näidatud.
To view süsteemi rmem ja wmem vaikeväärtused:
sysctl net.core.rmem_default
sysctl net.core.wmem_default
Määrake väärtused maksimaalseks (16 MB):
sysctl -w net.core.rmem_max=16777216
sysctl -w net.core.wmem_max=16777216
Soklipuhvri suurused, tuntud ka kui vastuvõtupuhver (rmem) ja edastuspuhver (wmem), on süsteemiparameetrid, mis määravad sissetuleva ja väljamineva võrguliikluse jaoks reserveeritud mälu hulga.
Sysctl käivitamine ilma -w argumendita kuvab parameetri koos selle praeguse sättega.

Virna seadistamine Kirjeldus
net.core.rmem_default Vaikimisi vastuvõtuakna suurus
net.core.wmem_default Vaikimisi edastusakna suurus
net.core.rmem_max Maksimaalne vastuvõtuakna suurus
net.core.wmem_max Maksimaalne edastusakna suurus
net.core.optmem_max Maksimaalne valikuline mälupuhvrite arv
net.core.netdev_max_backlog Töötlemata pakettide kuhjumine enne kerneli langemist
net.ipv4.tcp_rmem Mälureserveerija TCP lugemispuhvrite jaoks
net.ipv4.tcp_wmem TCP saatmispuhvrite mälureserveerija

Kernel, võrgupinu, mälukäitleja, protsessori kiirus ja energiatarbimise haldusparameetrid võivad võrgu jõudlust oluliselt mõjutada. Levinud soovitus on rakendada võrgu läbilaskevõime profiilifile häälestatud käsu abil. See muudab mõningaid operatsioonisüsteemi sätteid, et eelistada võrgurakendusi.
Kontrollige:
häälestatud adm aktiivne
Määra:
häälestatud adm profile võrgu läbilaskevõime
5.8 Võrguseadmete mahajäämus
See funktsioon aitab parandada võrgu jõudlust, hallates tõhusalt sissetulevat liiklust, vähendades pakettide kadu, latentsust ja suurendades läbilaskevõimet. See toob kaasa parema kasutuskogemuse ja kiirema süsteemi reageerimisvõime.
Vaikimisi on see enamikus Linuxi operatsioonisüsteemides lubatud. Vaikimisi väärtuse kontrollimiseks toimige järgmiselt.
sysctl net.core.netdev_max_backlog
netdev_max_backlogi maksimaalne väärtus võib varieeruda sõltuvalt teguritest nagu kerneli versioon, riistvara, mälu ja töökoormus. Paljudel juhtudel peetakse 8192 heaks väärtuseks. sysctl -w net.core.netdev_max_backlog=8192
5.9 Platvormipõhised konfiguratsioonid ja häälestamine
5.9.1 4. põlvkonna Intel® Xeon® skaleeritavad protsessorid

Intel® 4. põlvkonna Intel® Xeon® skaleeritava protsessori energiahaldus on 3. põlvkonna Intel® Xeon® skaleeritava protsessoriga võrreldes äärmiselt agressiivne. Tuumade madala energiatarbega olekusse sattumise vältimiseks proovige vähendada kasutatavate tuumade arvu, et need kauem ärkvel püsiksid.
Soovitatavad BIOS-i sätted parima jõudluse saavutamiseks

  1. Hüperlõimede lubamine/keelamine protsessoril (töökoormuse nõuete ja jõudluseesmärkide põhjal).
  2. Süsteemi profiili määraminefile maksimaalse jõudluse saavutamiseks suvandile Jõudlus.
    MÄRKUS
    See toob kaasa suurema energiatarbimise
  3. Määrake protsessori energiahalduse seadeks Maksimaalne jõudlus, et seada esikohale maksimaalne protsessori jõudlus energiatõhususe ees.
  4. Turbo Boosti lubamine. Turbo Boosti keelamine süsteemi BIOS-i sätetes takistab tavaliselt protsessoril oma taktsagedust dünaamiliselt üle baassageduse tõstmast.
  5. MÄRKUS
    Turbo Boosti keelamine võib sobida teatud kasutusjuhtudel, kus järjepidev jõudlus, energiatõhusus või soojuse haldamine on maksimaalse jõudluse ees tähtsamad.
  6. Kui süsteem ei kasuta virtualiseerimistehnoloogiaid, lülitage ühe juurega sisend-/väljundvirtualiseerimise (SR-IOV) funktsioon välja.
  7. Keelake C-olekud, et anda protsessorile käsk aktiivsena püsida ja vältida sügavamatesse jõudeolekutesse sisenemist.
  8. Keelake C1E, et tagada protsessori aktiivne püsimine ja C1E jõudeolekusse mitteminemine.
  9. Määrake uncore'i sagedus maksimaalseks, et anda süsteemile juhis töötada kõrgeimal saadaoleval sagedusel.
  10. Delli platvormidel määrake mitme APIC kirjeldustabeli (MADT) tuumaemuleerimine lineaarseks (või rotatsioon-robiniks, olenevalt BIOS-ist), et tagada protsessori tuumade selge ja prognoositav kaardistus.

Soovitatavad operatsioonisüsteemi taseme häälestused optimeeritud jõudluse saavutamiseks

  1. Määra protsessori sageduse skaleerimise regulaatori väärtuseks jõudlus. cpupower frequency-set -g performance cpupower frequency-info
  2. Keela C-olekud. cpupower idle-set -D0
  3. Määrake põhiliste Rx (rmem) ja Tx (wmem) puhvrite väärtused maksimaalseks. sysctl -w net.core.rmem_max=16777216 sysctl -w net.core.wmem_max=16777216
  4. Määrake võrguseadme mahajäämus. sysctl -w net.core.netdev_max_backlog=8192
  5. Häälestatud profile (töökoormusest sõltub läbilaskevõime/latentsus).
    häälestatud adm profile võrgu läbilaskevõime

Soovitatavad adapteri taseme häälestused optimeeritud jõudluse saavutamiseks

  1. Rakendusliikluse jaoks kasutatavate järjekordade arvu piiramine. Kasutage minimaalset järjekordade arvu, mis on vajalik seotud protsessori tuumade aktiivsena hoidmiseks, et vältida nende sügavamasse jõudeolekusse sattumist (kohandage töökoormuse järgi): ethtool -L kokku 32
  2. Katkestuste modereerimise määrade määramine. ethtool -C adaptiivne-vastuvõtt väljas adaptiivne-edastus väljas rx-kasutajate arv-kõrge 50 rx-kasutajate arv 50 tx-kasutajate arv 50
    Töökoormuse jaoks optimaalse väärtuse leidmiseks proovige saatmise/vastuvõtu/kõrge prioriteediga koalestseerimise taimerit kõrgemaks (80/100/150/200) või madalamaks (25/20/10/5) reguleerida.
  3. Määrake Rx/Tx rõnga suurused. ethtool -G vastuvõtja 4096 saatja 4096
    MÄRKUS
    Kui näed käsuga ethtool -S| grep drop Rx pakettide kadumist, proovi vähendada ringi suurust <4096-ni. Püüa leida töökoormuse jaoks optimaalne väärtus, mille korral pakette ei langeks.
  4. Määrake IRQ afiinsus. Kasutage võrgukaardile lokaalseid südamikke või spetsiifilist südamiku kaardistust (kus südamike arv on võrdne leheküljel 1 punktis 26 määratud järjekordade arvuga). systemctl stop irqbalance set_irq_affinity -X local VÕI set_irq_affinity -X

5.9.2 AMD EPYC
AMD EPYC protsessorid on võimsad keskseadmed serverite ja andmekeskuste jaoks, mis on ehitatud AMD Zen arhitektuurile. Allolevad sätted pärinevad AMD 4. põlvkonna EPYC seeriast.
Soovitatavad BIOS-i sätted parima jõudluse saavutamiseks

  1. Lubage kohandatud režiim, et kasutajad saaksid protsessori jõudlust, energiatarbimist ja muid sätteid reguleerida. See aitab süsteemi peenhäälestada, et saavutada parim tasakaal jõudluse ja energiatõhususe vahel.
  2. Lubage põhijõudluse suurendamine, et võimaldada protsessoril automaatselt kiirust suurendada, et hakkama saada intensiivsemate ülesannetega, parandades üldist jõudlust.
  3. Keelake globaalne C-oleku kontroll, et vältida protsessori sisenemist sügavamatesse energiasäästuolekutesse, mida nimetatakse C-olekuteks ja mis aitavad säilitada reageerimisvõimet.
    MÄRKUS
    C-olekute keelamine võib põhjustada täiendavat energiatarbimist ja tõsta termilist temperatuuri. Jälgige mõlemat töökoormuse osas.
  4. Lubage/keelake protsessoril samaaegne mitmekeermeline töötlemine (SMT) vastavalt töökoormuse nõuetele ja jõudluseesmärkidele. SMT on samaväärne Inteli protsessorite hüperkeermelise töötlemisega.
    MÄRKUS
    Optimeeritud jõudluse tagamiseks vaadake soovitatava operatsioonisüsteemi ja adapteri tasemel häälestamise kohta jaotist „i40e draiveri sätete häälestamine” leheküljel 13 ja „Platvormi häälestamine (i40e mittespetsiifiline)” leheküljel 19.

Adapteri liimimine

Linuxi sidumine on võimas funktsioon, mis võib serverikeskkondades oluliselt parandada võrgu jõudlust, koondamist ja rikketaluvust. Siiski on oluline märkida, et selle nõuetekohaseks toimimiseks on vaja ühilduvat võrguriistvara ja õiget konfiguratsiooni nii serveris kui ka kommutaatoris.
Linuxi ühendusdraiver võimaldab teil koondada mitu füüsilist võrguliidest üheks ühendatud liideseks. See ühendatud liides kuvatakse operatsioonisüsteemi ja rakenduste jaoks ühe virtuaalse võrguliidesena.
MÄRKUS
Side on loogiline liides, seega ei ole võimalik protsessori afiinsust otse sideliidesel määrata (ntample, bond0). See tähendab, et sellel puudub otsene kontroll katkestuste käsitlemise või protsessori afiinsuse üle. Protsessori afiinsus tuleb konfigureerida sideme osaks olevate alusliideste jaoks.
Liimimine pakub mitut töörežiimi, millest igaühel on oma omadused.

Režiim  Tüüp
0 Round Robin
1 Aktiivne varundamine
2 XOR
3 Saade
4 LACP
5 Edastuskoormuse tasakaal
6 Adaptiivne koormuse jaotamine

Linuxis on võrgu loomiseks erinevaid meetodeid. Üks levinumaid meetodeid on võrgukonfiguratsiooni kasutamine. files (ntamp(failina /etc/network/interfaces või /etc/sysconfig/network-scripts/ifcfg-bondX).
Konfigureerimine võrgukonfiguratsiooni abil Files
Järgmised sammud loovad võrgu konfiguratsiooni kaudu ühenduse files.

  1. Valige ühendamiseks kaks või enam võrgukaardi porti (ntample, ethX ja ethY)
  2. Ava võrgukaardi konfiguratsioon Files failis /etc/sysconfig/network-scripts/ vajaliku võrguliidese jaoks (ntample, vi ifcfg-ethX ja vi ifcfg-ethY) ning lisa järgmine tekst:
    MASTER=bondN [Märkus: N on täisarv sideme numbri mainimiseks.] SLAVE=yes
  3. Loo võlakirjavõrgu skript file kasutades käsku vi /etc/sysconfig/networkscripts/ifcfg-bondN ja sisestage järgmine tekst:
    DEVICE=bondN [Märkus: N on täisarv sideme numbri mainimiseks] ONBOOT=yes USERCTL=no BOOTPROTO=dhcp (või) none
    IPADDR=200.20.2.4 [nõutav, kui BOOTPROTO=none] NETMASK=255.255.255.0 [nõutav, kui BOOTPROTO=none] NETWORK=200.20.2.0 [nõutav, kui BOOTPROTO=none] BROADCAST=200.20.2.255 [nõutav, kui BOOTPROTO=none] BONDING_OPTS=”mode=1 miimon=100″
    MÄRKUS
    Režiim võib olla mis tahes täisarv vahemikus 0 kuni 6, olenevalt nõudest.
  4. Taaskäivitage võrguteenused teenuse võrgu taaskäivitamine või käsuga systemctl restart NetworkManager.service

Jõudluse tõrkeotsing

7.1 Protsessori kasutus
Kontrollige protsessori kasutust tuuma kohta töökoormuse töötamise ajal.
Pane tähele, et tuumade kasutusaste on jõudluse seisukohast olulisem kui protsessori üldine kasutusaste, kuna see annab aimu protsessori kasutusest võrgujärjekorra kohta. Kui sul on ainult mõned lõimed, mis käitavad võrguliiklust, siis võib sul olla kasutusel ainult mõned tuumad. Kui aga need tuumad on 100% ulatuses kasutusel, siis on võrgu läbilaskevõime tõenäoliselt piiratud protsessori kasutusega ja on aeg teha järgmist:

  1. Häälesta IRQ modereerimist/helina suurust vastavalt katkestuste modereerimise juhistele.
  2. Suurendage rakenduse lõimede arvu, et jaotada protsessori koormus rohkemate tuumade vahel. Kui kõik tuumad töötavad 100% ulatuses, võib teie rakendus olla seotud protsessori, mitte võrguga.

Tavaliselt kättesaadavad tööriistad:

  • üleval
    — Protsessorite loendi laiendamiseks ja kasutusel olevate kontrollimiseks vajutage 1.
    — Pöörake tähelepanu kasutustasemele.
    — Pane tähele, millised protsessid on loetletud kõige aktiivsematena (loendi ülaosas).
  • mpstat
    Järgmised eksampKäsurida testiti Red Hat Enterprise Linux 7.x peal.
    See kuvab protsessori kasutust tuuma kohta (leides kogu jõudeoleku protsendi ja lahutades selle 100-st) ning tõstab punasega esile väärtused, mis on üle 80%. mpstat -P ALL 1 1 | grep -v Average | tail -n +5 | head -n -1 | awk '{ print (100-$13)}' | egrep -color=always '[^\.][8-9][0-9][\.]?.*|^[8-9][0-9][\.]?.*| 100|' | column
  • perf top Otsi, kus tsükleid kulutatakse.

7.2 i40e loendurid
i40e draiver pakub käsu ethtool -S ethX kaudu pikka loendit liidese silumiseks ja jälgimiseks. Töökoormuse töötamise ajal võib olla kasulik jälgida väljundit ja/või võrrelda loenduri väärtusi enne ja pärast töökoormuse käivitamist.

  • I40e loendurite täieliku väljavõtte saamiseks: ethtool -S ethX
  • Ainult nullist erinevate loendurite jälgimiseks: watch -d (ethtool -S ethX) | egrep -v :\ 0 | column
    Mõned asjad, mida otsida:
  • rx_dropped tähendab, et protsessor ei teeninda puhvreid piisavalt kiiresti.
  • port.rx_dropped tähendab, et midagi pole pesas/mälus/süsteemis piisavalt kiire.

7.3 Võrguloendurid
Kontrolli netstat -s enne/pärast töökoormuse käivitamist.
Netstat kogub võrguteavet kõigilt süsteemi võrguseadmetelt. Seetõttu võivad tulemusi mõjutada ka muud võrgud peale testitava võrgu. Käsu netstat -s väljund võib olla hea näitaja Linuxi operatsioonisüsteemi või kerneli jõudlusprobleemidest. Lisateavet operatsioonisüsteemi üldise häälestamise kohta leiate operatsioonisüsteemi häälestamise juhenditest, näiteks Red Hat Enterprise Linux Network Performance Tuning Guide.
7.4 Süsteemilogid
Kontrolli süsteemilogisid vigade ja hoiatuste osas (/var/log/messages, dmesg).
7.5 Inteli svr-info tööriist
Intel pakub svr-info tööriista (vt https://github.com/intel/svr-info) Linuxi jaoks, mis jäädvustab serverist olulisi riist- ja tarkvaraandmeid. svr-info väljund võib olla äärmiselt kasulik süsteemi kitsaskohtade või töökoormuse jaoks optimeerimata sätete/häälestuste tuvastamiseks. Ethernetiga seotud jõudlusprobleemide kohta Inteli tugiteenuse juhtumi avamisel lisage kindlasti svr-info väljund (tekst file) iga testkonfiguratsioonis oleva Linuxi serveri jaoks.

  1. Laadige alla ja installige svr-info:
    wget -qO- https://github.com/intel/svr-info/releases/latest/download/svrinfo.tgz| tar xvz cd svr-info
    ./svr-info
    > hostinimi.txt
  2. Koguge väljund:
    ./svr-info > hostinimi.txt
  3. Lisa üks tekst (.txt) file iga serveri kohta oma Inteli tugijuhtumile analüüsimiseks.

Soovitused levinud jõudlusstsenaariumide jaoks

8.1 IP-edastus

  • Värskenda kerneli.
    Mõnedel uuematel distributsioonisisestel kernelidel on marsruutimise jõudlus halvenenud kerneli muudatuste tõttu marsruutimiskoodis, alustades marsruutimise vahemälu eemaldamisest turvalisuse kaalutlustel. Uuematel distributsioonivälistel kernelidel peaksid olema parandused, mis leevendavad nende muudatuste mõju jõudlusele ja võivad pakkuda paremat jõudlust.
  • Keela hüperlõimestamine (loogilised tuumad).
  • Muutke kerneli alglaadimisparameetreid.
    — Sunnib iommu kerneli alglaadimisrealt välja (intel_iommu=off või iommu=off), kui see pole virtualiseerimiseks vajalik
    — Lülitage toitehaldus välja: processor.max_cstates=1 idle=poll pcie_aspm=off
  • Piira järjekordade arvu nii, et see oleks võrdne kohaliku sokli tuumade arvuga (selles näites 12).ample). ethtool -L ethX kombineeritud 12
  • Katkestused ainult kohaliku sokli külge kinnitatakse. set_irq_affinity -X local ethX VÕI set_irq_affinity -X local ethX
    MÄRKUS
    Sõltuvalt töökoormusest saab kasutada valikut -X või -x.
  • Vajadusel muutke saatja ja vastuvõtu rõnga suurust. Suurem väärtus võtab rohkem ressursse, kuid pakub paremaid edastuskiirusi. ethtool -G ethX rx 4096 tx 4096
  • Keela GRO marsruutimisel.
    Teadaoleva kerneli probleemi tõttu tuleb GRO marsruutimise/edasisuunamise ajal välja lülitada. ethtool -K ethX gro off, kus ethX on muudetav Etherneti liides.
  • Keela adaptiivne katkestuste modereerimine ja määra staatiline väärtus. ethtool -C ethX adaptive-rx off adaptive-tx off ethtool -C ethX rx-usecs 64 tx-usecs 64

MÄRKUS
Sõltuvalt protsessori tüübist ja töökoormusest saab RX-i ja TX-i koalestseerimisparameetreid parema jõudluse (või kaadrikao vähendamiseks) reguleerida.

  • Keela tulemüür. sudo systemctl disable firewalld sudo systemctl stop firewalld
  • Luba IP-edastus. sysctl -w net.ipv4.ip_forward=1
  • Konfigureerige vastuvõtu- ja saatmispesa puhvri suuruste maksimaalsed väärtused. sysctl -w net.core.rmem_max=16777216 sysctl -w net.core.wmem_max=16777216

MÄRKUS
Sõltuvalt töökoormusest või nõudest saab neid väärtusi vaikesätetest muuta.
8.2 Madal latentsusaeg

  • Lülitage hüperlõimede kasutamine (loogilised tuumad) välja.
  • Veenduge, et võrguseade oleks numa core 0 suhtes lokaalne.
  • Kinnitage võrdlusalus südamikule 0, kasutades käsku taskset -c 0.
  • Lülitage irqbalance välja käsuga systemctl stop irqbalance või systemctl disable irqbalance.
  • Käivita afiinsusskript, et levitada see südamike vahel. Proovi kas kohalikku või kõiki.
  • Katkestuste modereerimise väljalülitamine. ethtool -C ethX rx-usecs 0 tx-usecs 0 adaptive-rx off adaptive-tx off rxusecs- high 0
  • Piira järjekordade arvu nii, et see oleks võrdne kohaliku sokli tuumade arvuga (selles näites 32ample). ethtool -L ethX kombineeritud 32
  • Katkestused suunatakse ainult kohalikku sokli (skript on kaasas i40e draiveri lähtekoodiga). set_irq_affinity -X local ethX
  • Kasutage mõnda väljakujunenud võrdlusalust, näiteks netperf -t TCP_RR, netperf -t UDP_RR või NetPipe. netperf -t TCP_RR või netperf -t UDP_RR
  • Kinnitage võrdlusalus kohaliku NUMA-sõlme ühele tuumale. taskset -c

Intel® Ethernet 700 seeria
Linuxi jõudluse häälestamise juhend
detsember 2024
Dok nr: 334019, versioon: 1.2

Dokumendid / Ressursid

Intel Ethernet 700 seeria Linuxi jõudluse häälestamine [pdfKasutusjuhend
334019, Ethernet 700 seeria Linuxi jõudluse häälestamine, Ethernet 700 seeria, Linuxi jõudluse häälestamine, Jõudluse häälestamine, Häälestamine

Viited

Jäta kommentaar

Teie e-posti aadressi ei avaldata. Kohustuslikud väljad on märgitud *