ILogo yeIntelIntel ® Ethernet 700 Series
Isikhokelo sokuTyunwa kokuSebenza kweLinux
Iqela leNethiwekhi yeLifu le-NEX (NCNG)
Rev. 1.2
Disemba 2024

Imbali yohlaziyo

Uhlaziyo Umhla Amagqabantshintshi
1.2 Disemba 2024 · Isikhokelo soLawulo lwaMandla esongezelelweyo.
· Yongezwe i-Intel* Turbo Boost.
· ULondolozo lweSixhobo seNethiwekhi yoNgezelelweyo.
· Ulungelelwaniso oluKhethekileyo lweQonga kunye noTyuno.
· Kongezwe isiZukulwana sesi-4 se-Intel*%eon* Iiprosesa eziScalable.
· Yongezwe i-AMD EPYC.
· Uhlaziyo lokuHlola iNdlela yeKhompyutha yeKhompyutha.
· Uhlaziyo lwe-iPerf2.
· Uhlaziyo lwe-iPerf3.
· Uhlaziyo lwemigca ye-Tx/Rx.
· UkuModareyitha okuHlaziyiweyo.
· Ubungakanani beRingi ehlaziyiweyo.
· UkuTyunwa kweQonga eliHlaziyiweyo (i40e engaQukwanga).
· Izicwangciso ezihlaziyiweyo zeBIOS.
· Ulawulo lwe-C-State oluhlaziyiweyo.
· Uhlaziyo lwe-CPU yokuKhawulwa rhoqo.
· Uhlaziyo lweSetingi zeSicelo.
·UHlaziyo lweNkqubo yokuSebenza/uSeto lweKernel.
· Ukuhanjiswa kwe-IP ehlaziyiweyo.
· Uhlaziyo lokubambezeleka okuPhantsi.
Agasti 2023 Utshintsho kolu xwebhu lubandakanya:
· IiReferensi eziNxulumeneyo ezongeziweyo.
· Yongeziwe Qinisekisa ukuba iPackage yeDDP ilayisha ngokufanelekileyo.
· Yongezwe iPerf2.
· Yongezwe iPerf3.
· Ukongeza netperf.
· UHlaziyo lwe-IRQ Affinity.
· Imigca ye-Tx/Rx efakiweyo.
· Ubungakanani beRingi ehlaziyiweyo.
· Ukongeza kwiJumbo Frames.
· Ukudibanisa i-Adapter eyongeziweyo.
· Isixhobo soLwazi lwe-Intel svr.
1.0 Matshi 2016 Ukukhutshwa kokuqala (Intel Public).

Intshayelelo

Esi sikhokelo senzelwe ukubonelela ngesikhokelo sokulungelelaniswa kweemeko zendlela yokusebenza yothungelwano olugqwesileyo usebenzisa i-Intel ® Ethernet 700 Series NICs kwiindawo ze-Linux. Igxininisa kwi-hardware, umqhubi, kunye neemeko zenkqubo yokusebenza kunye noseto olunokuphucula ukusebenza kwenethiwekhi. Kufuneka kuqatshelwe ukuba ukusebenza kothungelwano kunokuchatshazelwa naliphi na inani leempembelelo zangaphandle, kuphela ezona zixhaphakileyo nezimangalisayo kwezi zichazwe kwesi sikhokelo.
1.1 IiNgcaciso eziNxulumeneyo

Uluhlu lokuQwalasela

2.1 Hlaziya iiNguqulelo zoMqhubi/ zeFirmware
Jonga iinguqulelo zomqhubi/i-firmware usebenzisa i-ethtool -i ethx.
Hlaziya oku kulandelayo njengoko kufuneka:

2.2 Funda UFUNDA
Jonga imiba eyaziwayo kwaye ufumane imiyalelo yamva nje yoqwalaselo evela kwi README file ifakwe kwiphakheji ye-i40e yomthombo.
2.3 Khangela ukuba i-PCI Express (PCIe) Slot Yakho Yi-x8
Ezinye iindawo zokubeka ze-PCIe x8 ziqwalaselwe njengeendawo zokubeka x4. Ezi ndawo zokubeka zine-bandwidth enganelanga kwireyithi yomgca opheleleyo kunye nezibuko ezimbini kunye nezixhobo ezine-quad port. Ukongeza, ukuba ubeka i-adapter ye-PCIe v3.0-ekwaziyo kwi-PCIe v2.x slot, awukwazi ukufumana i-bandwidth epheleleyo. Umqhubi wesixhobo sesoftware ubhaqa le meko kwaye abhale lo myalezo ulandelayo kushicilelo lwenkqubo:
I-PCI-Express bandwidth ekhoyo kweli khadi ayonelanga ukusebenza kakuhle. Ukuze usebenze ngokugqibeleleyo i-x8 PCI-Express slot iyafuneka.
Ukuba le mpazamo iyenzeka, hambisa iadaptha yakho kwi-PCIe yokwenyani v3.0 x8 slot ukusombulula umba.
2.4 Qwalasela ubuKhono beSistim yeHardware
Kwi-10 Gbps, 25 Gbps, kunye ne-40 Gbps Ethernet, kukho ubuncinci be-CPU kunye neemfuno zenkqubo. Ngokubanzi, iprosesa yeklasi yeseva yanamhlanje kunye noqwalaselo lwenkumbulo olululo lweqonga lakho kufuneka lwanele, kodwa iimfuno ziyahluka ngokuxhomekeke kumthwalo wakho. Zonke iitshaneli zememori kufuneka zizaliswe kwaye imowudi yokusebenza kwememori kufuneka ivulwe kwi-BIOS. Qinisekisa ukuba i-CPU yakho kunye noqwalaselo lwememori luyakwazi ukuxhasa inqanaba lokusebenza kwenethiwekhi oyifunayo kumthwalo wakho womsebenzi.
PHAWULA
I-XL710 ngumlawuli we-40 GbE. I-2 x 40 GbE i-adapter usebenzisa lo mlawuli ayenzelwanga ukuba ibe yi-2 x 40 GbE kodwa i-1 x 40 GbE ene-port esebenzayo yokubuyisela. Xa uzama ukusebenzisa i-traffic ye-line-rate ebandakanya zombini izibuko, ukutshintshela kwangaphakathi kugcwele kwaye i-bandwidth edibeneyo phakathi kwamachweba amabini inqunyelwe kwi-SO Gbps epheleleyo.
2.4.1 Iiparamitha ze-Kernel Boot
Ukuba i-Intel® Virtualization Technology ye-Directed I/O (Intel® VT-d) yenziwe yasebenza kwi-BIOS, i-Intel icebisa ukuba i-IOMMU ibekwimowudi yokudlula ukuze isebenze kakuhle inethiwekhi yomamkeli. Oku kuphelisa i-DMA engaphezulu kwitrafikhi yomkhosi ngelixa ivumela oomatshini ababonakalayo (i-VMs) ukuba basenezibonelelo ze-Intel® VT-d. Oku kufezekiswa ngokudibanisa layini ilandelayo kwi parameters yesiqalo se kernel: fommu-pt.
2.5 Qinisekisa ukuba iPackage yeDDP iLayishwa ngokufanelekileyo
I-140ea kunye ne-140eb abaqhubi besiseko abanalo inkxaso ngokuthe ngqo kwi-Dynamic Device Personalization (DDP). Ukusebenzisa i-DDP kunye nezixhobo ze-700 Series, i-DDP profile inokusetyenziswa kunye nesicelo se-testpmd.
Ukufumana iinkcukacha kwi-DDP profiles, kunye nendlela yokufaka isicelo seDDP profile kunye ne-testpmd kwizixhobo ze-700 Series, bhekisa kwi-Intel® Ethernet 700 Series Dynamic Device Personalization (DDP) Isikhokelo seTekhnoloji.
Ukuqinisekisa ukuba iDDP profile ilayishwe ngempumelelo:
testpmd> ddp fumana uluhlu 0 Profile inani: 1
PHAWULA
Ukuba iprofile inombolo ngu-0, akukho phakheji ye-DDP elayishiwe. Kwimeko yempazamo yomthwalo wepakethe ye-DDP, isixhobo asigqibekanga kwimodi ekhuselekileyo kwaye uninzi lweempawu zokusebenza azifumaneki. Ukuba kukho iimpazamo ezinxulumene nokulayisha iphakheji ye-DDP, iya kubangela imiba yokusebenza. Ngamanyathelo okusombulula ingxaki, bhekisa kwi-Inte/* Ethernet 700 Series Dynamic Device Personalization (DDP) IsiKhokelo seTekhnoloji.

Imilinganiselo yeNtsebenzo esisiseko kunye neNdlela yoTshintsho

3.1 IiBenchmarks zokuSebenza kweNethiwekhi
Phambi kokuba uqalise umthambo wokulungisa, kubalulekile ukuba ube nomlinganiselo osisiseko olungileyo wokusebenza kwenethiwekhi yakho. Ngesiqhelo ukongeza ekufumaneni umlinganiselo wokuqala wesicelo sakho/umsebenzi womsebenzi, luluvo oluhle ukusebenzisa umgangatho womgangatho wokusebenza womnatha wokuqinisekisa ukuba isixhobo sakho sothungelwano sikwimo elungileyo.
Kusenzelwa inkqubo enye, i-netperf okanye iperf kunye ne-NetPIPE zonke zizixhobo eziqinileyo ezivulekileyo ezikuvumela ukuba ucinezele uxhulumaniso kunye nokuxilonga imiba yokusebenza.
I-Netperf yomelele kuzo zombini i-output kunye novavanyo lwe-latency. I-NetPIPE sisixhobo esikhethekileyo se-latency kodwa sinokuqulunqwa kulo naluphi na uhlobo lokusingqongileyo.
PHAWULA
Uvavanyo lwe-TCP_RR kwi-netperf ibuyisela i-latency kwixabiso leentengiselwano / umzuzwana. Le yinombolo yohambo lokuya nokubuya. Ukubambezeleka kwendlela enye ingabalwa kusetyenziswa le nxaki ilandelayo:
Ukubambezeleka(ukusetyenziswa) = (1⁄2) / [Iintengiselwano/umzuzwana] * 1,000,000
3.1.1 iPerf2
I-Intel icebisa iperf2 ngaphezulu kwe-iperf3 kwiimeko ezininzi zokulinganisa ngenxa yokulula kokusetyenziswa kunye nenkxaso yemisonto emininzi kumzekelo wesicelo esinye. I-Intel incoma ukubaleka kunye ne--P ukhetho kunye neentambo ze-2-4 zoqhagamshelo lwe-25G kunye nokujikeleza i-4-6 imisonto yoqhagamshelwano lwe-40G.

  • Ukuqhuba itrafikhi emacala onke ukusuka kumxhasi ukuya kwiseva: Umyalelo weseva example: iperf2 -s
    Umyalelo womthengi example: iperf2 -c -P
  • Ukuqhuba itrafikhi yamacala amabini ukusuka kumxhasi ukuya kumncedisi (kunye nolunye uhlobo): Umyalelo weseva example: iperf2 –s –p
    Umyalelo womthengi example:
    iperf2 -c -p -P -–full-duplex OKANYE
    iperf2 -c -p -P –d

PHAWULA
Zombini iinketho ze--full-duplex kunye ne--d kwi-iperf2 zivumela umsebenzisi ukuba enze uvavanyo olumacala omabini. Nangona kunjalo, i-full-duplex option ijolise ngokukodwa kuvavanyo oluphindwe kabini.
PHAWULA
Xa uvavanya iperf2 kwiizibuko ezininzi zeseva, i -d iflegi inokongezwa kumyalelo womncedisi ukuqhuba zonke iiseshoni zeseva ngasemva kwifestile yesiphelo efanayo. I--d iflegi inokusetyenziswa kwakhona xa umyalelo womncedisi ufakwe ngaphakathi kwe-loop kwiscript.
PHAWULA
Xa uqhuba uvavanyo lokugqitha kwinethiwekhi ngomsinga/umsonto omnye (umzample: P1), iiprosesa ze-AMD zisenokungaboneleli nge-throughput elindelekileyo, ingakumbi i-NICs ye-bandwidth ephezulu (ukuba isantya ngu>= 25G bandwidth). Ngenxa yoko, ukufakwa kwesicelo kwii-cores ezithile kuyafuneka ukuze kuphunyezwe umthamo ophezulu. Jonga Useto lwesicelo kwiphepha lama-22.
3.1.2 iPerf3
Ukuba iperf3 isetyenzisiwe, iimeko ezininzi zesicelo ziyafuneka ukuthatha i-advantage ye-multi-threads, i-RSS, kunye nemigca ye-hardware. I-Intel incoma ukuqhuba kunye neeseshoni zesicelo ze-2-4 zoqhagamshelwano lwe-25G kunye neeseshoni ze-4-6 ze-40G zokudibanisa. Iseshoni nganye kufuneka ichaze ixabiso elilodwa lezibuko le-TCP usebenzisa i -p ukhetho.

  • Ukuqhuba itrafikhi yomkhomba-ndlela ukusuka kumxhasi ukuya kwiseva:
    Umyalelo weseva example:
    iperf3 -s -p
    Umyalelo womthengi example:
    iperf3 -c -p
  • Ukuqhuba i-traffic ye-bi-directional ukusuka kumxhasi ukuya kwiseva (kunye nangenye indlela):
    Umyalelo weseva example:
    iperf3 –iph
    Umyalelo womthengi example: iperf3 -c -p -P --ibidir
  • Ukuqala imizekelo emininzi (imisonto) ye iperf3, iingcebiso kukusebenzisa i-loop ukwenza imephu yemisonto kwizibuko ze-TCP kwaye usebenzise iperf3 ngasemva usebenzisa & ukwenza iinkqubo ezininzi ngokunxuseneyo.
    Umyalelo weseva example, qala imisonto emi-4: port="”; kuba i kwi {0..3}; yenza izibuko=520$i; bash -c "iperf3 -s -p $ port &"; kwenziwe; Umyalelo womthengi example, qala imisonto emi-4-Hambisa izibuko lovavanyo=””; kuba i kwi {0..3}; yenza izibuko=520$i; bash -c "iperf3 -c $serverIP -p $ port &"; kwenziwe; Umyalelo womthengi example, qala 4 imisonto – Fumana uvavanyo port =””; kuba i kwi {0..3}; yenza izibuko=520$i; bash -c "iperf3 -R -c $serverIP -p $ port &"; kwenziwe; Kunxibelelwano lwe-40G, nyusa i-loop ukwenza ukuya kuthi ga kwimizekelo emi-6/imisonto.

PHAWULA
Xa uqhuba uvavanyo lokugqitha kwinethiwekhi ngomsinga/umsonto omnye (umzample: P1), iiprosesa ze-AMD zisenokungaboneleli ngemveliso elindelekileyo, ngakumbi i-bandwidth ephezulu
I-NICs (ukuba isantya yi>= 25G bandwidth). Ngenxa yoko, ukufakwa kwesicelo kwii-cores ezithile kuyafuneka ukuze kuphunyezwe umthamo ophezulu. Jonga Useto lweSicelo kwiphepha lama-22 kunye ne-AMD EPYC kwiphepha lama-26.
3.1.3 i-netperf
Isixhobo se-netperf lukhetho olunamandla kuzo zombini ii-output kunye novavanyo lwe-latency.

  • Uvavanyo lwe-TCP_STREAM kwi-netperf lulinganisa amandla okuphuma kwesixhobo. Umyalelo weseva example: netserver Umyalelo woMxumi example: netperf -t TCP_STREAM -l 30 -H
  • Uvavanyo lwe-TCP_RR kwi-netperf ibuyisela i-latency kwixabiso leentengiselwano / okwesibini. Le yinombolo yohambo lokuya nokubuya. Kuyacetyiswa ukusebenzisa i -T x,x ukhetho, babe x yiCPU yendawo kwisixhobo. Ukubambezeleka kwendlela enye kungabalwa kusetyenziswa: I-Latency(usetyenziso)=(1⁄2)/ [Iintengiselwano/umzuzwana]*1,000,\ Umyalelo weseva example: netserver
    Umyalelo womthengi example: netperf -t TCP_RR -l 30 -H -T x,x
  • Ukuqala imizekelo emininzi (imisonto) ye-netperf, isindululo kukusebenzisa i-loop ukwenza imephu yemisonto kwizibuko ze-TCP kwaye usebenzise i-netperf ngasemva usebenzisa & ukwenza iinkqubo ezininzi ngokunxuseneyo.
    Umyalelo weseva example, qala imisonto esi-8:
    izibuko=””; kuba i e {0..7}; yenza izibuko=520$i; bash -c "netserver -L $serverIP -p $ port &"; kwenziwe;
    Umyalelo womthengi example, qala 8 imisonto: port="”; kuba i e {0..7}; yenza izibuko=520$i; bash -c “netperf -H $serverIP -p $ port -t TCP_STREAM -l 30 &”; kwenziwe;

3.2 Indlela yokufundisa
Gxininisa kutshintsho lwetuning enye ngexesha ukuze wazi ukuba yintoni impembelelo inguqu nganye eyenza kuvavanyo lwakho. Okukhona usenza inkqubo yohlengahlengiso, kokukhona kuya kuba lula ukuchonga nokujongana noonobangela bokusilela ekusebenzeni.

Ukulungisa i40e Izicwangciso zoMqhubi

4.1 I-IRQ Affinity
Ukuqwalasela unxulumano lwe-IRQ ukuze iziphazamiso zemigca yothungelwano eyahlukeneyo idityaniswe kwii-cores ezahlukeneyo ze-CPU kunokuba nefuthe elikhulu ekusebenzeni, ngakumbi iimvavanyo ze-multithread throughput.
Ukuqwalasela i-IRQ affinity, yeka i-irqbalance kwaye usebenzise i-set_irq_affinity script ukusuka kwi-i40e yemvelaphi yephakheji okanye i-pin queues ngesandla. Khubaza isilinganisi se-IRQ sendawo yomsebenzisi ukwenza ukuphina kumgca:

  • i-systemctl ikhubaza i-irqbalance
  • systemctl yeka irqbalance
    Ukusebenzisa i-set_irq_affinity script esuka kwi-i40e source package (eyacetyiswayo):
  • Ukusebenzisa zonke ii-cores:
    [indlela yokuya-i40epackage]/izikripthi/set_irq_affinity -X yonke ethX
  • Ukusebenzisa kuphela ii-cores kwi-socket ye-NUMA yendawo: [indlela-to-i40epackage]/scripts/set_irq_affinity -X yendawo ethX
  • Unokukhetha kwakhona uluhlu lwee-cores. Kuphephe ukusebenzisa i-cpu0 kuba iqhuba imisebenzi yesibali-xesha. [indlela yokuya-i40epackage]/izikripthi/set_irq_affinity 1-2 ethX

PHAWULA
I-affinity script yenza ukuba i-Transmit Packet Steering (XPS) njengenxalenye yenkqubo yokukhongozela xa u -x ukhetho lukhankanyiwe. Xa i-XPS yenziwe yasebenza, i-Intel icebisa ukuba uvale i-irqbalance, njengoko i-kernel balancer ene-XPS inokubangela ukusebenza okungalindelekanga. I-affinity script iyayikhubaza i-XPS xa u--X ukhetho lukhankanyiwe. Ukukhubaza i-XPS kunye nokwenza umgca olinganayo kuluncedo kumthwalo womsebenzi apho umsebenzi ongcono uphunyezwayo xa itrafikhi ye-Tx kunye ne-Rx zinikwa inkonzo kwi(s) ezimbini zomgca.
Ukuqwalasela ufolo olulingeneyo kwiLinux kubandakanya ukulungisa iparameters zomqhubi womsebenzi wothungelwano ukwenzela ukuba i-symmetric ifumane imigca (Rx) kunye ne-symmetric transmit queues (Tx) kwiiadaptha zothungelwano ezixhaswayo.
PHAWULA

  • Ufolo lwe-Symmetric luphawu oluphambili lwenethiwekhi, kwaye ayizizo zonke iiadaptha zenethiwekhi ezingama-700 okanye abaqhubi abazixhasayo.
  • Qinisekisa ukuba unomqhubi oyimfuneko kunye nenkxaso yehardware phambi kokuzama ukumisela imigca elinganayo.

Ukumisela imigca elinganayo, landela la manyathelo ngokubanzi:

  1. Hlela ubumbeko boNxibelelwano lweNethiwekhi File: Sebenzisa umhleli wokubhaliweyo (umzekeloample, vi, nano, okanye gedit) ukuhlela ujongano lomsebenzi womnatha file. I file iqhele ukubekwa phantsi kwe /etc/sysconfig/network-scripts/ directory kwaye inegama elifana ne-ifcfg-ethX, apho i-ethX ligama lojongano lomsebenzi womnatha wakho.
  2. Yongeza iiParameters ze-Symmetric Queue. Yongeza le migca ilandelayo kuqwalaselo lojongano lwenethiwekhi file: ETHTOOL_OPTS=”rx-imigca 8 tx-imigca 8″
  3. Qala kwakhona iNkonzo yeNethiwekhi.
    Emva kokwenza utshintsho, qalisa kwakhona inkonzo yenethiwekhi ukuze usebenzise ubumbeko olutsha. sudo systemctl qala kwakhona inethiwekhi

Ngesandla:

  • Fumana iiprosesa ezincanyathiselwe kwindawo nganye usebenzisa: numactl -hardware lscpu
  • Fumana imaski encinci yeprosesa nganye:
  • Ukuthatha ii-cores 0-11 kwi-node 0: [1,2,4,8,10,20,40,80,100,200,400,800]
  • Fumana i-IRQs eyabelwe izibuko eyabelwe: grep ethX /proc/iphazamisa kwaye uqaphele amaxabiso e-IRQ Kuba example, 181-192 kuba 12 vectors elayishiwe.
  • Xela ixabiso lobudlelwane be-SMP kwingeniso ye-IRQ ehambelanayo. Qaphela ukuba oku kufuneka kwenziwe kwi-IRQ nganye yokungena: echo 1 > /proc/irq/181/smp_affinity echo 2 > /proc/irq/182/smp_affinity echo 4 > /proc/irq/183/smp_affinity Bonisa ubudlelwane be-IRQ:
  • Ukubonisa ubudlelwane be-IRQ kuzo zonke ii-cores: /scripts/set_irq_affinity -s ethX
  • Ukubonisa kuphela ii-cores kwi-NUMA socket: /scripts/set_irq_affinity -s local ethX
  • Unokukhetha kwakhona uluhlu lwee-cores: /scripts/set_irq_affinity -s 40-0-8,16 ethX

PHAWULA
Iskripthi se-set_irq_affinity sixhasa i -s iflegi kwinguqulo yomqhubi we-i40e 2.16.11 nasemva koko.
4.2 Tx/Rx Imigca
Inani elingagqibekanga lemigca enikwe amandla kwizibuko le-Ethernet ngalinye ngumqhubi ekuqalisweni lilingana nenani elipheleleyo lee-CPU ezikhoyo kwiqonga. Oku kusebenza kakuhle kumaqonga amaninzi kunye noqwalaselo lomsebenzi. Nangona kunjalo, kwiiplatifti ezinamanani aphezulu aphezulu kunye / okanye ubuninzi be-port ye-Ethernet ephezulu, olu lungelelwaniso lunokubangela ukuxabana kwezixhobo. Ngoko ke, kunokuba yimfuneko kwezinye iimeko ukulungisa okungagqibekanga kwizibuko ngalinye kwindlela yokusebenza.
Inani elimiselweyo lemigca ye-Tx/Rx inokwahluka ngokuxhomekeke kwimodeli ethile kunye noguqulelo lomqhubi. Inani lemigca lingahlengahlengiswa kusetyenziswa umyalelo we-ethtool -L odweliswe ngezantsi.
PHAWULA
Kwezi meko, i-Intel icebisa ukuba unciphise ubalo lomgca olungagqibekanga kwizibuko ngalinye lingabi ngaphezu kwenani lee-CPU ezifumanekayo kwindawo ye-NUMA yendawo kwizibuko leadaptha. Kwezinye iimeko, xa uzama ukulinganisa izibonelelo kuphumezo oluphezulu lwezibuko, kunokuba yimfuneko ukunciphisa eli nani nangakumbi.
Ukulungisa ubumbeko bomgca:
Le ex ilandelayoample icwangcisa izibuko ukuya 32 Tx/Rx imigca: ethtool -L ethX kudityaniswe 32
Example imveliso:
ethtool -l ethX
Imilinganiselo yesitishi ye-ethX: Seta kwangaphambili ubukhulu:
RX: 96
TX: 96
Abanye: 1
Idityanisiwe: 96
Iisetingi zehardware yangoku:
RX: 0
TX: 0
Abanye: 1
Idityanisiwe: 32
4.3 UkuModareyitha kokuphazamisa
Ukumodareyitha kokuphazamiseka okuguquguqukayo kuqhutywa ngokungagqibekanga, kwaye kuyilelwe ukubonelela ngendlela elungeleleneyo phakathi kokusetyenziswa kweCPU ephantsi kunye nokusebenza okuphezulu. Nangona kunjalo, unokuzama ukulungisa useto lokuphazamiseka ngesandla ukuze ulungele imeko yakho yosetyenziso.
Uluhlu lwe-0-235 microseconds lunikeza uluhlu olusebenzayo lwe-4,310 ukuya kwi-250,000 yokuphazamiseka ngesibini. Ixabiso le-rx-μsecs-phezulu linokumiselwa ngokuzimeleyo kwi-rx-μsecs kunye ne-tx-μsecs kumyalelo we-ethtool efanayo, kwaye ikwazimele kwi-adaptive interrupt moderation algorithm. I-hardware engaphantsi ixhasa i-granularity kwi-2microsecond intervals, ngoko ke amaxabiso akufutshane angabangela isantya esifanayo sokuphazamiseka.

  • Ukucima ukumodareyitha kokuphazamiseka: i-ethtool -C ethX adaptive-rx cima i-adaptive-tx icimile
  • Ukuvula imodareyitha yokuphazamiseka: i-ethtool -C ethX adaptive-rx kwi-adaptive-tx kwi

Indawo elungileyo yokuqalisa ulungelelwaniso jikelele ngama-84 μs, okanye ~12000 ukuphazamisa/s. Ukuba ubona i-rx_dropped counters ziyasebenza ngexesha lokuhamba (usebenzisa i-ethtool -S ethX) ngoko mhlawumbi une-CPU ecothayo, akukho buffers ngokwaneleyo ukusuka kwi-adaptha yobungakanani beringi (ethtool -G) ukubamba iipakethi ze-84 μs okanye ukuya phantsi komlinganiselo wokuphazamiseka.

  • Ukuseta ukumodareyitha kokuphazamiseka kwireyithi esisigxina yokuphazamiseka kwe-84 μs phakathi kokuphazamiseka (12000 ukuphazamisa/s): ethtool -C ethX adaptive-rx off adaptive-tx off rx-usecs 84 tx-usecs 84 Ixabiso elilandelayo lokuzama, ukuba awukhutshelwanga kusetyenziso lwe-CPU 62 μs. Oku kusebenzisa i-CPU eninzi, kodwa inikezela ngeenkonzo ngokukhawuleza, kwaye ifuna iinkcazo ezimbalwa (ubungakanani beringi, i-ethtool -G).
  • Ukuseta ukumodareyitha kokuphazamiseka kwisantya esisisigxina sokuphazamiseka kwe-62 usecs phakathi kokuphazamiseka (16000 ukuphazamisa / s). ethtool -C ethX adaptive-rx off adaptive-tx off rx-usecs 62 tx-usecs 62
    Ukuba i-rx_dropped counters yonyuka ngexesha lokuhamba (usebenzisa i-ethtool -S ethX), mhlawumbi une-CPU ecothayo, akwanelanga izithinteli ukusuka kubungakanani beringi ye-adaptha (ethtool -G), okanye isezantsi kakhulu kwireyithi yokuphazamiseka. Ukuba awukhutshelwanga ekusebenziseni i-CPU, unokunyusa izinga lokuphazamiseka ngokuthoba ixabiso le-ITR. Oku kusebenzisa i-CPU eninzi, kodwa iinkonzo zinqanda ngokukhawuleza, kwaye zifuna iinkcazo ezimbalwa (ubungakanani beringi, i-ethtool -G).
    Ukuba i-CPU yakho ikwi-100%, ngoko ukwandisa izinga lokuphazamiseka akucetyiswa. Kwiimeko ezithile ezinjengomthwalo womsebenzi obotshelelwe yi-CPU, unokufuna ukwandisa ixabiso le-μs ukwenza ixesha elingakumbi le-CPU lezinye izicelo.
    Ukuba ufuna intsebenzo ephantsi ye-latency kunye / okanye une-CPU eninzi yokunikela ekusebenzeni kwenethiwekhi, unokukhubaza ukumodareyitha kokuphazamiseka ngokupheleleyo, okwenza ukuba ukuphazamiseka kuqhume ngokukhawuleza.
  • Ukuyekisa ukumodareyitha kokumodareyitha kwe-ethtool -C ethX adaptive-rx off adaptive-tx off rx-usecs 0 tx-usecs 0

PHAWULA
Xa uqhuba ngokumodareyitha kokuphazamiseka kuvaliwe, izinga lokuphazamiseka kumgca ngamnye linokuba phezulu kakhulu. Cinga ukuquka i-rx-usec-high parameter ukuseta umda ongaphezulu kwireyithi yokuphazamiseka. Lo myalelo ulandelayo ukhubaza ukumodareyitha kokuphazamiseka kwaye uvumela ubuninzi bee-microseconds ezi-5 phambi kokubonisa ukuba ukwamkela okanye ukuhanjiswa kugqityiwe. Endaweni yokuba kubekho uphazamiseko olufikelela kuma-200,000 ngesekhondi, inciphisa uphazamiseko lulonke ngesekhondi ukuya kuma-50,000 ngeparameter ye-rx-usec-high. # ethtool -C ethX adaptive-rx off adaptive-tx off rx-usecs-high 20 rx-usecs 5 txusecs 5 Zama ukulungelelanisa i-transmit/receive/high-priority coalescing timer ngaphezulu (80/100/150/200) okanye ngaphantsi (25/20/10/5/XNUMX/XNUMX)
4.4 Ubungakanani beRingi
Ukuba ubona i-rx_dropped counters kwi-ethtool -S ethX (rx_dropped, rx_dropped.nic), okanye uxinzelelo lwecache olukrokrelayo olunemigca emininzi esebenzayo, ungazama ukulungisa ubungakanani beringi kwixabiso elimiselweyo. Ixabiso elimiselweyo ngu-512, ubuninzi ngu-4096.

  • Ukukhangela amaxabiso angoku: ethtool -g ethX
    Ukuba kukrokreleka ukuba ukungabikho kwebuffering kubangela ukuhla kumyinge wophazamiseko lwangoku, ungazama obona buninzi kuqala, emva koko ubuncinci, emva koko uqhubeke kuphendlo lokubini ude ubone usebenzo olulolona luphezulu.
    Ukuba uxinzelelo lwe-cache lukrokrelwa (imigca emininzi esebenzayo) ukunciphisa izithinteli ukusuka kwi-default kunokunceda i-Intel ® Data Direct I / O (Intel ® DDIO) isebenze ngokufanelekileyo ngokufanelekileyo. I-Intel incoma ukuzama i-128 okanye i-256 ngomgca ngamnye, ukwazi ukuba ukunyuka kwezinga lokuphazamiseka nge-ethtool -C kunokuba yimfuneko ukuphepha ukunyuka kwe-rx_dropped.
  • Ukuseta ubungakanani beringi kwixabiso elimiselweyo: ethtool -G eth12 rx 256 tx 256

PHAWULA
Ukulungisa amaconsi epakethe ye-Rx efunyenwe nge-ethtool -S ethX|grep drop, cinga ukwandisa ubungakanani beringi ukuya kwi-4096. Ukulinga ukufumana ukusetha okulungileyo komsebenzi kodwa qaphela ukusetyenziswa kwememori ngokugqithiseleyo kunye namaxabiso aphezulu.
4.5 Ulawulo lokuHamba
Ulawulo lokuhamba koMaleko wesi-2 lunokuchaphazela ukusebenza kwe-TCP kakhulu kwaye kuyacetyiswa ukuba lukhubazwe kuninzi lomsebenzi. Umkhethe onokuthi ubekho kukugqabhuka kwezithuthi apho ugqabhuko lungekho lude ngexesha.
Ulawulo lokuqukuqela luvaliwe ngokungagqibekanga.

  • Ukuvumela ulawulo lokuhamba: i-ethtool -A ethX rx kwi-tx ivuliwe
  • Ukuvala ulawulo lokuhamba: ethtool -A ethX rx off tx off

PHAWULA
Kufuneka ube nolawulo lokuqukuqela elikwaziyo ukudibanisa iqabane ukwenza ngempumelelo ulawulo lokuqukuqela.
4.6 Iifreyimu zeJumbo
Xa indawo elindelekileyo yetrafikhi iqulethe iibhloko ezinkulu zedatha egqithiselwayo, kunokuba luncedo ukwenza imbonakalo yesakhelo sejumbo. Inkxaso yeJumbo Frames yenziwe ngokutshintsha iMaximum Transmission Unit (MTU) kwixabiso elikhulu kunexabiso elingagqibekanga le-1500. Oku kuvumela ifowuni ukuba idlulise idatha kwiipakethi ezinkulu ngaphakathi kwendawo yenethiwekhi. Olu seto lunokuphucula ukusebenza kunye nokunciphisa ukusetyenziswa kwe-CPU kumthwalo omkhulu we-I/O. Nangona kunjalo, inokuchaphazela ipakethi encinci okanye imithwalo ye-latency-sensitive work.
PHAWULA
Izakhelo zeJumbo okanye isicwangciso esikhulu seMTU kufuneka siqwalaselwe ngokufanelekileyo kwindawo yonke yenethiwekhi yakho.
Sebenzisa umyalelo we ifconfig ukwandisa ubungakanani beMTU. Umzekeloample, ngenisa oku kulandelayo, apho linani lojongano: ifconfig umntu 9000 phezulu
Kungenjalo, ungasebenzisa umyalelo we-ip ngolu hlobo lulandelayo: ip link set mtu 9000 dev ip link usete idev

I-Platform Tuning (i40e engaQukwanga)

5.1 Izicwangciso zeBIOS

  • Yenza i-Intel® VT-d isebenze ukuze isebenze.
  • I-Hyper-threading (iiprosesa ezinengqiqo) zinokuchaphazela ukusebenza. Linge ngayo uyivule okanye uyicime ngomsebenzi wakho.
  • I-Intel® Turbo Boost ivumela ii-CPU cores ukuba zisebenze kwi-frequency ephezulu kune-frequency yesiseko se-CPU. Ukuvumela i-Intel® Turbo Boost inokuphucula ukusebenza komthwalo omninzi kodwa isebenzisa amandla amaninzi ukugcina ii-cores ziphezulu. Linga ngeTurbo Boost off/on ngomsebenzi wakho.

PHAWULA
Iifrikhwensi zeTurbo aziqinisekiswanga ukuba iqonga lifumana ukusetyenziswa kwe-CPU ephezulu. Iifrikhwensi eziphezulu ze-turbo ezisezantsi ziyancipha njengoko ukusetyenziswa kwe-CPU kukonyuka.
5.2 Ulawulo lwamandla
Ulawulo lwamandla lunokuchaphazela ukusebenza, ngakumbi kwimisebenzi ephantsi ye-latency. Ukuba ukusebenza kubaluleke kakhulu kunokwehliswa kokusetyenziswa kwamandla, i-Intel icebisa ukuba ulinge ngokunciphisa iziphumo zolawulo lwamandla. Kukho iindlela ezininzi ezahlukeneyo zokunciphisa ulawulo lwamandla, ngokusebenzisa izixhobo zokusebenza zesistim, useto lwe-BIOS, kunye neeparamitha ze-kernel boot. Khetha eyona ndlela ilungileyo kunye nenqanaba elihambelana nendawo yakho.
5.2.1 Ulawulo lwe-C-State
Ukukhawulela ukungena kwe-C-state kwi-CO okanye i-C1 kuphucula ukusebenza kunye nokwandisa ukusetyenziswa kwamandla.
Ukukhubaza ukungena kwe-CPU Package ye-C6 kunokuphucula ukusebenza kwenethiwekhi. Nangona kunjalo, oku kwandisa ukusetyenziswa kwamandla.
Olu khetho lulandelayo luyafumaneka:

  • Lawula ngokunamandla ukungena kwe-C-state:
    Vula
    /dev/cpu_dma_latency kwaye ubhale ubuninzi obuvumelekileyo ukubambezeleka kuyo.

PHAWULA
Kukho inkqubo encinci ebizwa cpudmalatency.c enokukhutshelwa kumthombo ovulekileyo woluntu, ihlanganiswe, kwaye iqhutywe kwilayini yomyalelo ukwenza kanye oku.
Le ex ilandelayoample ivumela ii-μs ezintlanu zexesha lokuvuka, kwaye ngaloo ndlela ivumela ukungena kweC1: cpudmalatency 5 &

  • Nciphisa ubuninzi bemeko ye-C kwimimiselo yokuqalisa i-kernel:
    YeIntel CPUs: intel_idle.max_cstates=1
    Kwi-non-Intel CPUs: processor.max_cstates=1
  • Sebenzisa umyalelo we-cpupower ukujonga kunye nokuvala imeko ye-CPU C6: Jonga: i-cpupower monitor okanye i-cpupower idle-info
    Khubaza i-C6: i-cpupower i-idle-set -d3 okanye
    Khubaza i-C-States: cpupower idle-set -D0

Amanqaku:

  1. Khubaza i-C-states kwi-CPU ukuba iseva ine-Intel® 4th Gen Intel® Xeon® Scalable Processor(s). Xa i-Hyper Threading ivuliwe okanye ivaliwe, ukukhubaza amazwe angasebenziyo (-D0) kuthintela ii-cores ekungeneni kwamandla aphantsi ngexesha lexesha elingasebenziyo kwaye kunciphisa i-latency ye-CPU kwinguqu phakathi kweendawo ezingasebenziyo kunye nezisebenzayo.
  2. Ulawulo lwamandla lwe-Intel® 4th Gen Intel® Xeon® Scalable Processor lundlongondlongo kakhulu. Ukunqanda ii-cores ekungeneni kumandla aphantsi, zama ukunciphisa inani leecores ezisetyenziswayo ukuzigcina ziphaphile ixesha elide (ethtool -L zidityanisiwe ). Kwakhona, bopha iziphazamiso kwiicores ezithile usebenzisa i-irq affinity (ubukhulu becala -x yendawo okanye uluhlu lwee-CPU cores), kwaye uqinisekise ukuba umthwalo womsebenzi uqhuba kwezo cores ezifanayo kunye neseti yomsebenzi okanye i-numactl. Oku kuphucula ukusebenza ngokugcina ii-cores zisebenza kunye nokuphucula ukuphatha ukuphazamiseka.

Vula i-C6:
i-cpupower i-idle-set -d3
Vula i-C-States:
i-cpupower i-idle-set -E

  • Enye indlela kukusebenzisa isixhobo esilungelelanisiweyo (esibandakanywe nonikezelo oluninzi lweLinux) ukuseta ipro yokusebenzafile. Ezi profiles guqula kancinane useto lwe-OS olunokuchaphazela usebenziso kuzo zonke izicelo ezininzi. Kuye kwafunyaniswa ukuba i-network-throughput profile ibonelela ngokuphuculwa kwemisebenzi emininzi.
    Jonga:
    i-tuned-adm iyasebenza
    Seta:
    i-tuned-adm profile i-network-throughput
    PHAWULA
    Inkonzo elungisiweyo kufuneka isebenze kwimiyalelo engentla. Ukujonga/ukuqala kwakhona, ilungisiwe: i-systemctl ilungisiwe i-systemctl iqalela kwakhona
    Unako kwakhona ukungavumeli naluphi na ungeno lwe-C-state ngokongeza oku kulandelayo kumgca wesiqalo se kernel:
    engasebenziyo=uvoto
  • Nciphisa i-C-state ngokusebenzisa iisetingi zolawulo lwamandla e-BIOS yenkqubo, enokuba nepro yokusebenzafile ekhoyo.
    Izixhobo ezifana ne-turbostat okanye x86_energy_perf_policy zingasetyenziselwa ukujonga okanye ukuseta izicwangciso zolawulo lwamandla.

5.2.2 Ulawulo lwamandla ePCIe
I-Active-State Power Management (ASPM) yenza ukuba indawo yamandla ephantsi ye-PCIe links xa ingasetyenziswa. Oku kunokubangela ukubambezeleka okuphezulu kwizixhobo zenethiwekhi ye-PCIe, ke i-Intel icebisa ukuba ukhubaze i-ASPM yomthwalo ongemva kwexesha lomsebenzi. Khubaza i-ASPM ngokongeza oku kulandelayo kumgca we-kernel boot: pcie_aspm=off
5.2.3 I-CPU yokuKhawulwa rhoqo
I-CPU frequency scaling (okanye i-CPU speed scaling) yindlela yokulawula amandla e-Linux apho isantya sewotshi sihlengahlengiswa kubhabho ukugcina amandla kunye nobushushu. Kanye njenge-C-states, oku kunokubangela ukubambezeleka okungafunekiyo kuqhagamshelwano lwenethiwekhi.
Isixhobo se-cpupower sinokusetyenziselwa ukujonga kunye nokuguqula ukusebenza kwe-CPU okungagqibekanga kunye nemida:

  • Khangela: cpupower monitor okanye
  • Seta ii-CPUs kwimowudi yokusebenza: cpupower frequency-set -g performance

PHAWULA
Uhlengahlengiso kwimida ye-CPU rhoqo lunokuba nefuthe kumthwalo omninzi womsebenzi kwaye lunokuvala ezinye izinto, njengemowudi ye-CPU turbo.
Ukuyekisa ukukalwa kwamaza e-CPU, khubaza inkonzo yamandla e-CPU ngale miyalelo ilandelayo:
systemctl yeka cpupower.service
systemctl khubaza cpupower.service
5.2.4 IsiKhokelo soLawulo lwaMandla olongezelelweyo
Iinkcukacha ezongezelelweyo zinikwe kweli nqanaba liphezuluview uninzi lweempawu zolawulo lwamandla kwi-3rd Generation Intel® Xeon® Scalable processors, kunye nesikhokelo malunga nokuba ezi mpawu zinokudityaniswa njani kwinqanaba leqonga: https://networkbuilders.intel.com/solutionslibrary/power-management-technologyoverview-technology-guide
5.3 I-Intel® Turbo Boost
I-Intel® Turbo Boost yenza iprosesa ngokukhawuleza xa ifuneka kodwa inokusebenzisa amandla awongezelelweyo. Ukucima i-Turbo Boost igcina iprosesa kwisantya esingaguqukiyo, ikunika umgangatho wokusebenza ongaguqukiyo womthwalo othile womsebenzi.
5.4 Iifirewall
Iifirewall zinokuchaphazela ukusebenza, ngakumbi ukusebenza kwe-latency.
Khubaza i-iptables/firewalld ukuba ayifunwa.
5.5 Iisetingi zesicelo
Rhoqo umsonto omnye (ohambelana nomgca womnatha omnye) awonelanga ukufikelela ubuninzi bomthamo. Olunye ulwakhiwo lweqonga, olufana ne-AMD, ludla ngokuwisa iipakethi ezininzi ze-Rx ngomsonto omnye xa kuthelekiswa namaqonga aneeprosesa ezisekwe kwi-Intel.
Cinga ukusebenzisa izixhobo ezifana neseti yomsebenzi okanye i-numactl ukuqhobosha izicelo kwi-NUMA node okanye ii-CPU cores zasekuhlaleni kwisixhobo sothungelwano. Kweminye imithwalo yemisebenzi efana ne-I / O yokugcina, ukuhambisa isicelo kwi-node engeyiyo yendawo kunika inzuzo.
Zama ukwandisa inani lemisonto esetyenziswa sisicelo sakho ukuba kunokwenzeka.
5.6 Inguqulelo yeKernel
Uninzi lweenkozo zale mihla ezingaphakathi kwebhokisi zilungiselelwe kakuhle ukusebenza kodwa, kuxhomekeke kwimeko yakho yosetyenziso, ukuhlaziya i-kernel kunokubonelela ngokusebenza okuphuculweyo. Ukukhuphela umthombo kukwenza ukuba wenze/ukhubaze izinto ezithile phambi kokwakha ikernel.
5.7 INkqubo yokuSebenza/iSeto zeKernel
Qhagamshelana nezikhokelo zokulungisa inkqubo esebenzayo, ezifana neRed Hat Enterprise Linux ISikhokelo sokuSebenza soThungelwano lweNethiwekhi, ukuze ufumane ulwazi oluthe kratya malunga nokulungiswa kwendlela yokusebenza ngokubanzi.
Ezinye iiparameters eziqhelekileyo zokucula zidweliswe kwitheyibhile elandelayo. Qaphela ukuba ezi zicetyiswa kuphela iindawo zokuqala, kwaye ukuzitshintsha ukusuka kokungagqibekanga kunokunyusa izibonelelo ezisetyenziswa kwisistim. Nangona ukonyusa amaxabiso kunokunceda ukuphucula ukusebenza, kuyafuneka ukuzama amaxabiso ahlukeneyo ukumisela ukuba yintoni esebenza ngcono kwinkqubo enikiweyo, umthwalo womsebenzi kunye nohlobo lwetrafikhi.
Iparameters zekernel ziqwalaselwe usebenzisa into eluncedo ye sysctl kwi Linux njengoko kubonisiwe ngezantsi.
Ukuya view amaxabiso angagqibekanga ermem kunye ne-wmem kwinkqubo:
sysctl net.core.rmem_default
sysctl net.core.wmem_default
Cwangcisa amaxabiso kubuninzi (16 MB):
sysctl -w net.core.rmem_max=16777216
sysctl -w net.core.wmem_max=16777216
Ubungakanani bebuffer yesokethi, ekwaziwa njenge-buffer (rmem) kunye nokuhambisa i-buffer (wmem), ziiparamitha zenkqubo ezichaza ubungakanani bememori egcinelwe itrafikhi yenethiwekhi engenayo nephumayo.
Ubaleka u-sysctl ngaphandle kwe--w mpikiswano idwelisa iparameter ngocwangciso lwayo lwangoku.

Umiselo lweSitaki Inkcazo
net.core.rmem_default Ukuhlala kukho ukufumana ubungakanani befestile
net.core.wmem_default Ubungakanani befestile ehlala ikho
net.core.rmem_max Ubukhulu bokufumana ubungakanani befestile
net.core.wmem_max Ubungakanani befestile yoThunyelo oluPhezulu
net.core.optmem_max UKhetho oluPhezulu lweZithinteli zeMemori
net.core.netdev_max_backlog Ukusilela kweepakethi ezingalungiswanga phambi kokuba ikernel iqale ukuwa
net.ipv4.tcp_rmem Umgcini wememori ye-TCP yokufunda iibuffers
net.ipv4.tcp_wmem Umgcini wememori we-TCP thumela izithinteli

I-Kernel, istaki senethiwekhi, isiphathi sememori, isantya se-CPU, kunye neeparamitha zolawulo lwamandla zinokuba nefuthe elikhulu ekusebenzeni kwenethiwekhi. Ingcebiso eqhelekileyo kukufaka isicelo kwi-network throughput profile usebenzisa umyalelo olungisiweyo. Oku kulungisa iisetingi ezimbalwa ze-OS ukunika ukhetho kwii-aplikeshini zothungelwano.
Jonga:
i-tuned-adm iyasebenza
Seta:
i-tuned-adm profile i-network-throughput
5.8 Umsebenzi osemva wesixhobo sothungelwano
Eli nqaku linceda ukuphucula ukusebenza kwenethiwekhi ngokulawula i-traffic engenayo ngokufanelekileyo, ukunciphisa ilahleko yepakethi, ukwehlisa i-latency, kunye nokunyusa ukuphuma. Oku kukhokelela kumava angcono omsebenzisi kunye nokuphendula ngokukhawuleza kwenkqubo.
Ngokungagqibekanga, yenziwe kuninzi lweenkqubo zokusebenza zeLinux. Ukujonga ixabiso elimiselweyo:
sysctl net.core.netdev_max_backlog
Elona xabiso liphezulu letdev_max_backlog linokwahluka ngokuxhomekeke kwizinto ezifana noguqulelo lwekernel, hardware, inkumbulo, kunye nomthwalo womsebenzi. Kwiimeko ezininzi, i-8192 ibonwa njengexabiso elihle. sysctl -w net.core.netdev_max_backlog=8192
5.9 Ulungelelwaniso oluQhelekileyo lweQonga kunye nokuTyunwa
5.9.1 4th Generation Intel® Xeon® Scalable Processors

Ulawulo lwamandla lwe-Intel® 4th Generation Intel® Xeon® Scalable processor lundlongondlongo ngokugqithisileyo xa kuthelekiswa ne-3rd Generation Intel® Xeon® Scalable processors. Ukunqanda ii-cores ekungeneni kumazwe anamandla aphantsi, zama ukunciphisa inani leecores ezisetyenziswayo ukuzigcina ziphaphile ixesha elide.
Isetingi ezicetyiswayo zeBios zowona msebenzi uphezulu

  1. I-Hyper-threading yenza / khubaza (ngokusekwe kwimfuno yomthwalo womsebenzi kunye neenjongo zokusebenza) kwi-CPU.
  2. Cwangcisa inkqubo yeprofile kuMsebenzi wowona msebenzi uphezulu.
    PHAWULA
    Oku kubangela ukusetyenziswa kwamandla aphezulu
  3. Cwangcisa ulawulo lwamandla e-CPU kuMsebenzi oPhezulu ukubeka phambili ubungakanani bokusebenza kwe-CPU ngaphezu kokusebenza kakuhle kwamandla.
  4. Yenza i-Turbo Boost isebenze. Ukukhubaza i-Turbo Boost kwisistim useto lwe-BIOS kuthintela i-CPU ekunyuseni ngamandla isantya sewotshi yayo ngaphaya kokuphindaphindwa kwesiseko sayo.
  5. PHAWULA
    Ukukhubaza iTurbo Boost inokulungela iimeko ezithile zokusetyenziswa apho ukusebenza okungaguqukiyo, ukusebenza kakuhle kwamandla, okanye ulawulo lobushushu lubekwe phambili ngaphezulu kokusebenza okuphezulu.
  6. Cima iNqaku eNye ye-I/O ye-Virtualization (SR-IOV) isici, ukuba inkqubo ayisebenzisi ubugcisa bokubonwa.
  7. Khubaza i-C-states ukuyalela i-CPU ukuba ihlale isebenza kwaye ithintele ukungena kubunzulu belizwe elingasebenziyo.
  8. Khubaza i-C1E, ukuqinisekisa ukuba i-CPU ihlala isebenza kwaye ayifaki i-C1E yokungasebenzi.
  9. Seta i-uncore frequency ukuya kweyona ndlela iphezulu ukuyalela isistim ukuba isebenze ngeyona ndawo ikhoyo.
  10. Kwiiplatifti zikaDell, setha i-Multiple APIC Description Table (MADT) ukulinganisa okungundoqo kwi-Linear (okanye i-Round-Robin ngokuxhomekeke kwi-BIOS) ukubonelela ngokucacileyo kunye nokuqikelelwa kwemephu ye-CPU cores.

ULungiso lweNqanaba le-OS elicetyiswayo lokuSebenza okuLungelweyo

  1. Seta irhuluneli yokulinganisa i-CPU ekusebenzeni. cpupower frequency-set -g ukusebenza cpupower frequency-info
  2. Khubaza i-C-States. i-cpupower i-idle-set-D0
  3. Seta undoqo we-Rx (rmem) kunye ne-Tx (wmem) izithinteli ukuya kwixabiso eliphezulu. sysctl -w net.core.rmem_max=16777216 sysctl -w net.core.wmem_max=16777216
  4. Seta ukusilela kwesixhobo senethiwekhi. sysctl -w net.core.netdev_max_backlog=8192
  5. Seta ipro elungisiweyofile (umthwalo womsebenzi uxhomekeke kwi-output/latency).
    i-tuned-adm profile i-network-throughput

ULungiselelo lweNqanaba le-Adapter eCetyisiweyo ukwenzela ukuSebenza okuLungileyo

  1. Nciphisa inani lemigca eza kusetyenziselwa ukugcwala kwezicelo. Sebenzisa elona nani lincinci lemigca efunekayo ukugcina ii-CPU cores ezinxulumeneyo zisebenza ukubathintela ekungeneni kubunzulu belizwe elingasebenziyo (lungisa umthwalo womsebenzi): ethtool -L idibene 32
  2. Misela ukumodareyitha kokuphazamiseka. i-ethtool -C adaptive-rx off adaptive-tx off rx-usecs-high 50 rx-usecs 50 tx-usecs 50
    Zama ukulungelelanisa i-transmit/receive/high-priority coalescing timer ngaphezulu (80/100/150/200) okanye ngaphantsi (25/20/10/5) ukuze ufumane elona xabiso liphezulu lomsebenzi.
  3. Seta iRx/Tx iisayizi zeringi. i-ethtool -G rx 4096 tx 4096
    PHAWULA
    Ukuba ubona i-Rx ipakethe yehla nge-ethtool -S| grep drop, zama ukunciphisa ubungakanani bomsesane ukuya ku <4096. Zama ukufumana elona xabiso liphezulu lomsebenzi apho iipakethi zingawiswanga.
  4. Seta i-IRQ Affinity. Sebenzisa ii-cores zasekhaya ukuya kwi-NIC, okanye i-mapping ethile engundoqo (apho ii-cores zilingana nenani lemigca ebekwe ku-1 kwiphepha 26. systemctl stop irqbalance set_irq_affinity -X local OKANYE usete_irq_affinity -X

5.9.2 AMD EPYC
Iiprosesa ze-AMD EPYC zii-CPU ezinamandla ezenzelwe iiseva kunye namaziko edatha, akhiwe kuyilo lwe-AMD lweZen. Ezi setingi zingezantsi zisuka kuthotho lwe-EPYC lwesizukulwana sesine se-AMD.
Isetingi ezicetyiswayo zeBIOS kowona msebenzi uPhakamileyo

  1. Vumela imowudi yesiko ukuvumela abasebenzisi ukuba bahlengahlengise ukusebenza kwe-CPU, ukusetyenziswa kwamandla, kunye nolunye useto. Oku kunceda ekulungiseni kakuhle inkqubo yolungelelwaniso olungcono phakathi kokusebenza kunye nokusebenza kakuhle kwamandla.
  2. Vumela ukonyusa ukusebenza okungundoqo ukuvumela i-CPU ukuba yonyuse ngokuzenzekelayo isantya sayo ukuze iphathe imisebenzi enzima ngakumbi, iphucule ukusebenza ngokubanzi.
  3. Khubaza ulawulo lwe-C-state yehlabathi, ukuthintela i-CPU ekungeneni kwimimandla enzulu yokonga amandla eyaziwa ngokuba yi-C-states, enokugcina ukusabela.
    PHAWULA
    Ukukhubaza i-C-states kunokubangela ukusetyenziswa kombane okongeziweyo kunye nokunyusa amaqondo obushushu obushushu. Beka esweni zombini umthwalo womsebenzi.
  4. Yenza / khubaza i-Multithreading ye-Simltaneous (SMT) kwi-CPU, ngokusekelwe kwimfuno yomsebenzi kunye neenjongo zokusebenza. I-SMT ilingana ne-Hyper Threading kwi-Intel CPUs.
    PHAWULA
    Ngokwenziwa komsebenzi ophuculweyo, jonga kwi-Tuning i40e Iisetingi zoMqhubi kwiphepha le-13 kunye ne-Platform Tuning (i40e Ayingcaci) kwiphepha le-19 malunga ne-OS ecetyiswayo kunye nokulungiswa kwenqanaba leadaptha.

I-Adapter Bonding

Ukudibanisa i-Linux luphawu olunamandla olunokuphucula kakhulu ukusebenza kwenethiwekhi, ukuphindaphinda, kunye nokunyamezela impazamo kwiindawo zeseva. Nangona kunjalo, kubalulekile ukuqaphela ukuba ifuna i-hardware yenethiwekhi ehambelanayo kunye noqwalaselo olufanelekileyo kuzo zombini umncedisi kunye nokutshintsha ukusebenza ngokufanelekileyo.
Umqhubi webhondi kwiLinux ikuvumela ukuba udibanise ujongano lwenethwekhi yomzimba eninzi ibe kujongano oludityanisiweyo. Olu jongano oludityanisiweyo lubonakala njengojongano olulodwa lwenethiwekhi yenyani kwinkqubo yokusebenza kunye nezicelo.
PHAWULA
Ibhondi lujongano olunengqiqo, ngoko ke akwenzeki ukuseta unxulumano lwe-CPU ngqo kujongano lwebhondi (for ex.ample, ibhondi0). Oko kukuthi, ayinalo ulawulo oluthe ngqo malunga nokuphathwa kokuphazamiseka okanye ubudlelwane be-CPU. Unxulumano lwe-CPU kufuneka lucwangciselwe ujongano olungaphantsi oluyinxalenye yebhondi.
I-Bonding ibonelela ngeendlela ezininzi zokusebenza, nganye ineempawu zayo.

Imowudi  Uhlobo
0 Round Robin
1 Ugcino olusebenzayo
2 XOR
3 Usasazo
4 I-LACP
5 Dlulisa ibhalansi yomthwalo
6 I-Adaptive Load balance

Kukho iindlela ezahlukeneyo zokwenza ikhonkco kwiLinux. Enye yeendlela eziqhelekileyo kukusebenzisa ubumbeko lwenethiwekhi files (umzekeloample, /etc/network/ interfaces okanye /etc/sysconfig/network-scripts/ifcfg-bondX).
Uqwalaselo usebenzisa ubumbeko lweNethiwekhi Files
La manyathelo alandelayo adala ukudibanisa kuqwalaselo lwenethiwekhi files.

  1. Khetha izibuko ezimbini okanye ngaphezulu ze-NIC zokudibanisa (umzekeloample, ethX kunye ne-ethY)
  2. Vula ubumbeko lwe-NIC Files phantsi kwe /etc/sysconfig/network-scripts/ yeNIC Interface efunekayo (ngokomzekeloample, vi ifcfg-ethX kunye vi ifcfg-ethY) kwaye uhlomele okubhaliweyo kulandelayo:
    MASTER=bondN [Qaphela: N yinani elipheleleyo lokukhankanya inombolo yebhondi.] Ikhoboka=ewe
  3. Yenza isikripthi sothungelwano lwebhondi file usebenzisa vi /etc/sysconfig/networkscripts/ifcfg-bondN kwaye ungenise oku kubhaliweyo kulandelayo:
    DEVICE=bondN [Qaphela: N yinani elipheleleyo ukukhankanya inombolo yebhondi] ONBOOT=ewe USERCTL=hayi BOOTPROTO=dhcp (okanye) akukho nanye
    IPADDR=200.20.2.4 [ifuneka ukuba BOOTPROTO=akukho] NETMASK=255.255.255.0 [ifuneka ukuba BOOTPROTO=akukho] NETWORK=200.20.2.0 [ifuneka ukuba BOOTPROTO=akukho] BROADCAST=200.20.2.255. BONDI_OPTS=”imowudi=1 miimon=100″
    PHAWULA
    Imowudi inokuba yiyo nayiphi na inani elipheleleyo ukusuka ku-0 ukuya ku-6 ngokusekelwe kwimfuno.
  4. Qala kwakhona iinkonzo zenethiwekhi usebenzisa inethiwekhi yesevisi yokuqalisa kwakhona okanye i-systemctl iqalise kwakhona i-NetworkManager.service

UkuJonga iNgxaki ngokuSebenza

7.1 Ukusetyenziswa kweCPU
Jonga ukusetyenziswa kwe-CPU ngondoqo ngamnye ngelixa umsebenzi uqhuba.
Qaphela ukuba ukusetyenziswa ngondoqo ngamnye kubaluleke kakhulu ekusebenzeni kusetyenziso lwe-CPU iyonke kuba ibonelela ngombono wokusetyenziswa kwe-CPU ngomgca wothungelwano. Ukuba unemisonto embalwa kuphela eqhuba itrafikhi yothungelwano, ngoko ke unokuba nee-cores ezimbalwa ezisetyenziswayo. Nangona kunjalo, ukuba ezo cores ziku-100%, ke ukuhamba kwenethiwekhi yakho kunokunqunyulwa kusetyenziso lwe-CPU kwaye lixesha lokwenza oku kulandelayo:

  1. Sula imodareyitha ye-IRQ/ubungakanani beringi njengoko kuchaziwe kuModareyitha oPhazamileyo.
  2. Yandisa inani lemisonto yesicelo ukuze usasaze umthwalo we-CPU ngaphezu kwee-cores ezininzi. Ukuba zonke ii-cores zisebenza kwi-100% ke isicelo sakho singabotshwa yi-CPU kunokuba ibotshelelwe kwinethiwekhi.

Izixhobo eziqhelekileyo ezifumanekayo:

  • phezulu
    -Cofa i-1 ukwandisa uluhlu lwee-CPU kwaye ujonge ukuba zeziphi ezisetyenziswayo.
    — Qaphela inqanaba losetyenziso.
    — Qaphela ukuba zeziphi iinkqubo ezidweliswe njengezona zisebenzayo (phezulu kuluhlu).
  • mpstat
    Le ex ilandelayoample line yomyalelo yavavanywa kwiRed Hat Enterprise Linux 7.x.
    Ibonisa ukusetyenziswa kwe-CPU ngondoqo (ngokufumana ipesenti epheleleyo yokungenzi nto kunye nokukhupha kwi-100) kwaye igxininisa amaxabiso angaphezu kwe-80% ebomvu. mpstat -P ZONKE 1 1 | grep -v Umyinge | umsila -n +5 | intloko -n -1 | awk '{ print (100-$13)}' | egrep -color=soloko '[^\.][8-9][0-9][\.]?.*|^[8-9][0-9][\.]?.*| 100|' | ikholam
  • perf top Khangela apho imijikelo ichithwa khona.

7.2 i40e Izibali
Umqhubi we-i40e unikeza uluhlu olude lwezixhobo zokubala ze-interface debug kunye nokubeka iliso ngomyalelo we-ethtool -S ethX. Kunokuba luncedo ukubukela imveliso ngelixa umsebenzi usebenza kwaye / okanye uthelekise amaxabiso e-counter ngaphambi nangemva kokusebenza komsebenzi.

  • Ukufumana ukulahlwa okupheleleyo kwezixhobo zokubala ze-i40e: ethtool -S ethX
  • Ukubukela izinto zokubala ezingezizo nje: jonga -d (ethtool -S ethX) | egrep -v :\ 0 | ikholam
    Ezinye izinto onokuzijonga:
  • rx_dropped kuthetha ukuba i-CPU ayinikezeli izithinteli ngokukhawuleza ngokwaneleyo.
  • port.rx_dropped kuthetha into ayikhawulezi ngokwaneleyo slot/inkumbulo/ inkqubo.

7.3 IZibali zeNethiwekhi
Jonga i-netstat -s phambi/emva kokuqhutywa komsebenzi.
I-Netstat iqokelela ulwazi lwenethiwekhi kuzo zonke izixhobo zenethiwekhi kwinkqubo. Ngoko ke, iziphumo zinokuchaphazeleka kuthungelwano ngaphandle kwenethiwekhi ephantsi kovavanyo. Imveliso evela kwi-netstat -s ingaba ngumqondiso olungileyo wemiba yokusebenza kwindlela yokusebenza ye-Linux okanye i-kernel. Qhagamshelana nezikhokelo zokulungisa inkqubo esebenzayo, ezifana neRed Hat Enterprise Linux ISikhokelo sokuSebenza soThungelwano lweNethiwekhi, ukuze ufumane ulwazi oluthe kratya malunga nokulungiswa kwendlela yokusebenza ngokubanzi.
7.4 Iilogi zeNkqubo
Jonga iilogi zenkqubo yeempazamo kunye nezilumkiso (/var/log/messages, dmesg).
7.5 Isixhobo se-Intel svr-info
I-Intel ibonelela ngesixhobo solwazi lwe-svr (bona https://github.com/intel/svr-info) yeLinux ebamba ihardware efanelekileyo kunye neenkcukacha zesoftware kumncedisi. Imveliso ye-svr-info inokuba luncedo kakhulu ekuchongeni imiqobo yenkqubo okanye useto/ ulungelelwaniso olungalungiselelwanga umthwalo womsebenzi. Xa uvula ityala lenkxaso kunye ne-Intel kwimiba yokusebenza enxulumene ne-Ethernet, qiniseka ukuba ubandakanya imveliso ye-svr-info (umbhalo file) kumncedisi we Linux kuqwalaselo lovavanyo.

  1. Khuphela kwaye ufake i-svr-info:
    wget -qO- https://github.com/intel/svr-info/releases/latest/download/svrinfo.tgz| tar xvz cd svr-ulwazi
    ./svr-info
    > igama lenginginya.txt
  2. Qokelela imveliso:
    ./svr-info > hostname.txt
  3. Qhoboshela umbhalo omnye (.txt) file kumncedisi ngamnye kwimeko yakho yenkxaso ye-Intel yohlalutyo.

Izindululo kwimiba yokuSebenza eqhelekileyo

8.1 IP Ugqithiso

  • Hlaziya i-kernel.
    Ezinye ii-kernel ze-in-distro zamva nje ziye zonakalise ukusebenza kwendlela ngenxa yotshintsho lwe-kernel kwikhowudi yomzila eqala ngokususwa kwe-cache yomzila ngenxa yokhuseleko. Iinkozo zakutsha nje ze-distro kufuneka zibe neepatshi ezidambisa impembelelo yokusebenza kolu tshintsho kwaye zinokubonelela ngomsebenzi ophuculweyo.
  • Khubaza i-hyper-threading (i-logical cores).
  • Hlela iiparamitha ze-kernel boot.
    -Nyanzelela i-iommu icime (intel_iommu=off okanye iommu=off) kumgca wokuvula we kernel ngaphandle kokuba kuyafuneka kubonelelo
    — Cima ulawulo lwamandla: processor.max_cstates=1 idle=poll pcie_aspm=off
  • Nciphisa inani lemigca ukuze lilingane nenani leecores kwisokethi yendawo (12 kule ex.ample). ethtool -L ethX idibene 12
  • I-pin iphazamisa kwisokethi yasekuhlaleni kuphela. set_irq_affinity -X local ethX OKANYE set_irq_affinity -X local ethX
    PHAWULA
    -X okanye -x ingasetyenziswa ngokuxhomekeke kumthwalo womsebenzi.
  • Guqula iisayizi zeringi ye-Tx kunye ne-Rx njengoko kufuneka. Ixabiso elikhulu lithatha izibonelelo ezininzi kodwa linokubonelela ngemilinganiselo engcono yokuthumela. ethtool -G ethX rx 4096 tx 4096
  • Khubaza i-GRO xa usebenzisa indlela.
    Ngenxa yomba we-kernel owaziwayo, i-GRO kufuneka icinywe xa kuthungelwa indlela/ugqithiso. ethtool -K ethX gro off apho i-ethX ilujongano lwe-Ethernet luza kulungiswa.
  • Khubaza ukumodareyitha kokuphazamiseka kwaye usete ixabiso elimileyo. ethtool -C ethX adaptive-rx off adaptive-tx off ethtool -C ethX rx-usecs 64 tx-usecs 64

PHAWULA
Ngokuxhomekeke kuhlobo lweprosesa kunye nomthwalo wokusebenza, iiparamitha zokudibanisa i-RX kunye ne-TX zinokuhlengahlengiswa ukuze ziphuculwe ukusebenza (okanye ukulahleka kwesakhelo esingaphantsi).

  • Khubaza i-firewall. sudo systemctl khubaza i-firewalld sudo systemctl yeka i-firewalld
  • Vula ugqithiso lwe-IP. sysctl -w net.ipv4.ip_forward=1
  • Qwalasela amaxabiso aphezulu okufumana kunye nokuthumela ubungakanani besokethi yebuffer. sysctl -w net.core.rmem_max=16777216 sysctl -w net.core.wmem_max=16777216

PHAWULA
Ngokuxhomekeke kumthwalo womsebenzi okanye imfuno, la maxabiso anokutshintshwa ukusuka kokungagqibekanga.
8.2 Ukubambezeleka okuPhantsi

  • Cima i-hyper-threading (logical cores).
  • Qinisekisa ukuba isixhobo sothungelwano sesondawo ukuya kwi-numa core 0.
  • Cofa ibhentshi kumbindi 0 usebenzisa iseti yomsebenzi -c 0.
  • Cima i-irqbalance usebenzisa i-systemctl yeka irqbalance okanye i-systemctl ikhubaze i-irqbalance
  • Qhuba i-affinity script ukuze usasaze kuzo zonke ii-cores. Zama nokuba yasekhaya okanye zonke.
  • Cima ukumodareyitha kokuphazamiseka. ethtool -C ethX rx-usecs 0 tx-usecs 0 adaptive-rx off adaptive-tx off rxusecs- high 0
  • Ukunciphisa inani lemigca ilingane nenani leecores kwi socket yendawo (32 kule example). ethtool -L ethX idibene 32
  • I-Pin iphazamisa kwisokethi yendawo kuphela (iskripthi sipakishwe ngomthombo womqhubi we-i40e). set_irq_affinity -X yendawo ethX
  • Sebenzisa i-benchmark emiselweyo njenge-netperf -t TCP_RR, netperf -t UDP_RR, okanye i-NetPipe. netperf -t TCP_RR okanye netperf -t UDP_RR
  • Nxiba ibhentshi kumbindi omnye kwindawo yeNUMA yendawo. iseti yomsebenzi -c

Intel ® Ethernet 700 Series
Isikhokelo sokuTyunwa kokuSebenza kweLinux
Disemba 2024
Ugqirha. No.: 334019, Rev.: 1.2

Amaxwebhu / Izibonelelo

Intel Ethernet 700 Series Linux Performance Tuning [pdf] Isikhokelo somsebenzisi
334019, Ethernet 700 Series Linux Performance Tuning, Ethernet 700 Series, Linux Performance Tuning, Performance Tuning, Tuning

Iimbekiselo

Shiya uluvo

Idilesi yakho ye-imeyile ayizupapashwa. Iindawo ezifunekayo ziphawulwe *