Ilogo ye-IntelI-Intel ® Ethernet 700 Series
I-Linux Performance Tuning Guide
I-NEX Cloud Networking Group (NCNG)
I-Rev. 1.2
Disemba 2024

Umlando Wokubuyekeza

Buyekeza Usuku Amazwana
1.2 Disemba 2024 · Kwengezwe Isiqondiso Sokuphatha Amandla Engeziwe.
· Kwengezwe i-Intel* Turbo Boost.
· Kwengezwe Umuva Wedivayisi Yenethiwekhi.
· Ukucushwa Kwenkundla Ethize Okungeziwe kanye Nokushuna.
· Kwengezwe 4th Generation Intel* %eon* Scalable Processors.
· Kwengezwe i-AMD EPYC.
· Kubuyekeziwe Hlola System Hardware Amakhono.
· Kubuyekeziwe iPerf2.
· Kubuyekeziwe iPerf3.
· Kubuyekezwe Imigqa ye-Tx/Rx.
· Kubuyekeziwe Ukumodareyitha Kokuphazamisa.
· Kubuyekeziwe Usayizi Wendandatho.
· I-Platform Tuning Ebuyekeziwe (i-i40e Engacacisiwe).
· Izilungiselelo ze-BIOS ezibuyekeziwe.
· I-C-State Control ebuyekeziwe.
· Kubuyekeziwe Ukukala Imvamisa ye-CPU.
· Izilungiselelo Zohlelo Lokusebenza Ezibuyekeziwe.
· Izilungiselelo Ezibuyekeziwe Zokusebenza Zesistimu/I-Kernel.
· Kubuyekeziwe IP Ukudlulisa.
· Ukubambezeleka Okuphansi Okubuyekeziwe.
Agasti 2023 Izinguquko kule dokhumenti zihlanganisa:
· Kwengezwe Izikhombo Ezihlobene.
· Kwengeziwe Qinisekisa Iphakheji Ye-DDP Ilayisha Kahle.
· Kwengezwe i-iPerf2.
· Kwengezwe i-iPerf3.
· Kwengezwe i-netperf.
· Kubuyekeziwe I-IRQ Affinity.
· Kwengezwe Imigqa ye-Tx/Rx.
· Kubuyekeziwe Usayizi Wendandatho.
· Kwengezwe ama-Jumbo Frames.
· Kungezwe i-adaptha Bonding.
· Kwengezwe Ithuluzi le-Intel svr-info.
1.0 Mashi 2016 Ukukhishwa Kwasekuqaleni (I-Intel Public).

Isingeniso

Lo mhlahlandlela uhloselwe ukuhlinzeka ngeziqondiso zokulungisa izindawo ukuze kusebenze inethiwekhi efanele kusetshenziswa i-Intel ® Ethernet 700 Series NICs ezindaweni ze-Linux. Igxile ku-hardware, umshayeli, nezimo zesistimu yokusebenza nezilungiselelo ezingase zithuthukise ukusebenza kwenethiwekhi. Kumele kuqashelwe ukuthi ukusebenza kwenethiwekhi kungathinteka yinoma yiliphi inani lamathonya angaphandle, kuphela okuvame kakhulu futhi okumangalisayo kwalokhu okufakwe kulo mhlahlandlela.
1.1 Izikhombo Ezihlobene

Uhlu Lokuhlola Lokuqala

2.1 Buyekeza Izinguqulo Zomshayeli/I-Firmware
Hlola izinguqulo zomshayeli/i-firmware usebenzisa i-ethtool -i ethx.
Buyekeza okulandelayo njengoba kudingeka:

2.2 Funda i-FUNDA
Hlola izinkinga ezaziwayo futhi uthole imiyalelo yakamuva yokucushwa evela ku-README file kufakwe kuphakheji yomthombo we-i40e.
2.3 Hlola Ukuthi I-PCI Express (PCIe) Slot Yakho Siyi-x8
Ezinye izikhala ze-PCIe x8 empeleni zilungiswa njengezikhala ze-x4. Lezi zikhala zinomkhawulokudonsa onganele wesilinganiso somugqa ogcwele onembobo ekabili kanye namadivayisi embobo yama-quad. Ukwengeza, uma ufaka i-adaptha enekhono le-PCIe v3.0 ku-PCIe v2.x slot, awukwazi ukuthola umkhawulokudonsa ogcwele. Umshayeli wedivayisi yesofthiwe uthola lesi simo futhi abhale umlayezo olandelayo kulogi yesistimu:
I-PCI-Express bandwidth etholakalayo yaleli khadi ayanele ekusebenzeni kahle. Ukuze usebenze kahle i-x8 PCI-Express slot iyadingeka.
Uma leli phutha lenzeka, hambisa i-adaptha yakho endaweni yeqiniso ye-PCIe v3.0 x8 ukuze uxazulule inkinga.
2.4 Hlola Amakhono Wekhompuyutha Yesistimu
Ku-10 Gbps, 25 Gbps, kanye ne-40 Gbps Ethernet, kukhona ubuncane be-CPU nezidingo zesistimu. Ngokuvamile, iphrosesa yekilasi leseva yesimanje kanye nokucushwa kwenkumbulo okuphelele kwengxenyekazi yakho kufanele kwanele, kodwa izidingo ziyahlukahluka kuye ngomthwalo wakho wokusebenza. Zonke iziteshi zememori kufanele zigcwaliswe futhi imodi yokusebenza kwememori kufanele ivulwe ku-BIOS. Qinisekisa ukuthi i-CPU yakho nokulungiselelwa kwememori kuyakwazi ukusekela izinga lokusebenza kwenethiwekhi olidingayo emsebenzini wakho.
QAPHELA
I-XL710 iyisilawuli esingu-40 GbE. I-adaptha engu-2 x 40 GbE esebenzisa lesi silawuli ayihloselwe ukuba i-2 x 40 GbE kodwa i-1 x 40 GbE enembobo yesipele esebenzayo. Uma uzama ukusebenzisa ithrafikhi yesilinganiso somugqa ehlanganisa zombili izimbobo, iswishi yangaphakathi igcwele futhi umkhawulokudonsa ohlanganisiwe phakathi kwezimbobo ezimbili ukhawulelwe kungqikithi ye-SO Gbps.
2.4.1 Amapharamitha we-Kernel Boot
Uma i-Intel® Virtualization Technology ye-Directed I/O (Intel® VT-d) inikwe amandla ku-BIOS, i-Intel incoma ukuthi i-IOMMU ibe kumodi yokudlula ukuze inethiwekhi yomsingathi isebenze ngokugcwele. Lokhu kuqeda i-DMA ngaphezulu kwethrafikhi yosokhaya kuyilapho kuvumela Imishini Ebonakalayo (VMs) ukuthi ibe nezinzuzo ze-Intel® VT-d. Lokhu kufezwa ngokungeza umugqa olandelayo kumapharamitha we-kernel boot: fommu-pt.
2.5 Qinisekisa ukuthi Iphakheji ye-DDP ilayisha kahle
I-140ea ne-140eb base driver ayinakho ukusekela okuqondile kwe-Dynamic Device Personalization (DDP). Ukuze usebenzise i-DDP ngamadivayisi angu-700 Series, i-DDP profile ingasetshenziswa ngohlelo lokusebenza lwe-testpmd.
Ukuze uthole imininingwane nge-DDP profiles, kanye nendlela yokufaka isicelo se-DDP profile nge-testpmd kumadivayisi angu-700 Series, bheka i-Intel® Ethernet 700 Series Dynamic Device Personalization (DDP) Umhlahlandlela Wobuchwepheshe.
Ukuze uqinisekise uma ngabe i-DDP profile ilayishwe ngempumelelo:
testpmd> ddp thola uhlu 0 Profile inombolo: 1
QAPHELA
Uma i-profile inombolo ngu-0, alikho iphakheji le-DDP elilayishiwe. Esimeni sephutha lokulayisha iphakheji ye-DDP, idivayisi ishintshela kumodi ephephile futhi izici eziningi zokusebenza azitholakali. Uma kukhona amaphutha ahlobene nokulayisha iphakheji ye-DDP, kuzodala izinkinga zokusebenza. Ukuze uthole izinyathelo zokuxazulula inkinga, bheka i-Inte/* Ethernet 700 Series Dynamic Device Personalization (DDP) Technology Guide.

Izilinganiso Zokusebenza Eziyisisekelo kanye Nendlela Yokushuna

3.1 Izilinganiso Zokusebenza Kwenethiwekhi
Ngaphambi kokuqala umsebenzi wokushuna, kubalulekile ukuba nesilinganiso esihle sesisekelo sokusebenza kwenethiwekhi yakho. Ngokujwayelekile ngaphezu kokuthola isilinganiso sokuqala sohlelo lwakho lokusebenza/umthwalo wakho wokusebenza, kuwumqondo omuhle ukusebenzisa ibhentshimakhi evamile yokusebenza kwenethiwekhi ukuze uqinisekise ukuthi idivayisi yakho yenethiwekhi isesimweni esihle.
Ngokulungiselelwa kwesistimu eyodwa, i-netperf noma i-iperf kanye ne-NetPIPE wonke angamathuluzi amahhala amahhala akuvumela ukuthi ugcizelele uxhumo futhi uhlole izinkinga zokusebenza.
I-Netperf inamandla kukho kokubili ukuhlolwa kokuphuma kanye ne-latency. I-NetPIPE iyithuluzi eliqondene ne-latency-specific kodwa lingahlanganiswa kunoma yiluphi uhlobo lwendawo.
QAPHELA
Ukuhlolwa kwe-TCP_RR ku-netperf kubuyisela ukubambezeleka ngevelu lemisebenzi/isekhondi. Lena inombolo yohambo lokuya nokubuya. Ukubambezeleka kwendlela eyodwa kungabalwa kusetshenziswa isibalo esilandelayo:
Ukubambezeleka(ukusetshenziswa) = (1⁄2) / [Imisebenzi/isekhondi] * 1,000,000
3.1.1 iPerf2
I-Intel incoma iperf2 phezu kwe-iperf3 ezimweni eziningi zokulinganisa ngenxa yokusebenziseka kalula nokusekelwa kwezintambo eziningi esimweni sohlelo lokusebenza olulodwa. I-Intel incoma ukusebenzisa inketho -P enezintambo ezingu-2-4 zokuxhuma okungu-25G kanye nemicu engu-4-6 yokuxhumana kwe-40G.

  • Ukuze usebenzise ithrafikhi yendawo yonke ukusuka kuklayenti kuye kuseva: Umyalo weseva example: iperf2 -s
    Umyalo weklayenti example: iperf2 -c -P
  • Ukuze usebenzise i-traffic e-bi-directional isuka kuklayenti iye kuseva (futhi okuphambene nalokho): Umyalo weseva example: iperf2 –s –p
    Umyalo weklayenti example:
    iperf2 -c -p -P --full-duplex NOMA
    iperf2 -c -p -P -d

QAPHELA
Kokubili izinketho ze -full-duplex kanye -d ku-iperf2 zivumela umsebenzisi ukuthi enze ukuhlola okukabili. Kodwa-ke, inketho ye-full-duplex igxile ekuhlolweni okuphelele kwe-duplex.
QAPHELA
Lapho ihlola i-iperf2 kuzo zonke izimbobo zeseva eziningi, i--d flag ingangezwa kumyalo weseva ukuze uqalise zonke izikhathi zeseva ngemuva ukusuka kuwindi letheminali efanayo. I--d flag ingasetshenziswa futhi lapho umyalo weseva ushumekwe ngaphakathi kwe-loop kusikripthi.
QAPHELA
Lapho usebenzisa ukuhlolwa kokuphuma kwenethiwekhi ngokusakaza/uchungechunge olulodwa (isbample: P1), amaphrosesa e-AMD angahle anganikezeli ngokuphuma okulindelekile, ikakhulukazi ama-NIC omkhawulokudonsa aphezulu (uma isivinini singu>= 25G bandwidth). Ngenxa yalokho, ukuphina uhlelo lokusebenza kuma-cores athile kuyadingeka ukuze kuzuzwe ukuphuma okuphezulu. Bheka Izilungiselelo Zohlelo lokusebenza ekhasini 22.
3.1.2 iPerf3
Uma i-iperf3 isetshenziswa, izimo eziningi zohlelo lokusebenza ziyadingeka ukuthatha i-advantage ye-multi-threads, i-RSS, nolayini wehadiwe. I-Intel incoma ukusebenza namaseshini wohlelo lokusebenza angu-2-4 wokuxhumana okungu-25G kanye namaseshini angu-4-6 okuxhumana kwe-40G. Iseshini ngayinye kufanele icacise inani lembobo ye-TCP ehlukile kusetshenziswa inketho ethi -p.

  • Ukuze usebenzise ithrafikhi yendawo yonke ukusuka kuklayenti kuye kuseva:
    Umyalo weseva example:
    iperf3 -s -p
    Umyalo weklayenti example:
    iperf3 -c -p
  • Ukuze usebenzise ithrafikhi ye-bi-directional kusuka kuklayenti kuye kuseva (futhi ngokuphambene nalokho):
    Umyalo weseva example:
    iperf3 –s –p
    Umyalo weklayenti example: iperf3 -c -p -P -- isibili
  • Ukuqala izimo eziningi (imicu) ye-iperf3, isincomo siwukusebenzisa iluphu ukuze wenze imephu imicu ezimbobeni ze-TCP bese usebenzisa iperf3 ngemuva usebenzisa nokwakha izinqubo eziningi ngokuhambisana.
    Umyalo weseva example, qala imicu emi-4: port="”; okwami ​​ku-{0..3}; do port=520$i; bash -c “iperf3 -s -p $port &”; kwenziwe; Umyalo weklayenti example, qala imicu emi-4 - Dlulisa imbobo yokuhlola =””; okwami ​​ku-{0..3}; do port=520$i; bash -c “iperf3 -c $serverIP -p $port &”; kwenziwe; Umyalo weklayenti example, qala imicu emi-4 - Thola imbobo yokuhlola=””; okwami ​​ku-{0..3}; do port=520$i; bash -c “iperf3 -R -c $serverIP -p $port &”; kwenziwe; Ngoxhumo lwe-40G, khulisa i-loop ukuze udale kufikela kuzimo eziyisi-6/imicu.

QAPHELA
Lapho usebenzisa ukuhlolwa kokuphuma kwenethiwekhi ngokusakaza/uchungechunge olulodwa (isbample: P1), amaphrosesa e-AMD angahle anganikezeli ngokuphuma okulindelekile, ikakhulukazi umkhawulokudonsa ophezulu
Ama-NIC (uma isivinini singu>= 25G bandwidth). Ngenxa yalokho, ukuphina uhlelo lokusebenza kuma-cores athile kuyadingeka ukuze kuzuzwe ukuphuma okuphezulu. Bheka Izilungiselelo Zohlelo lokusebenza ekhasini 22 kanye ne-AMD EPYC ekhasini 26.
3.1.3 i-netperf
Ithuluzi le-netperf liwukukhetha okuqinile kukho kokubili ukuhlolwa kokuphuma kanye ne-latency.

  • Ukuhlolwa kwe-TCP_STREAM ku-netperf kulinganisa amandla okusebenza kwedivayisi. Umyalo weseva example: umyalo weklayenti le-netserver example: netperf -t TCP_STREAM -l 30 -H
  • Ukuhlolwa kwe-TCP_RR ku-netperf kubuyisela ukubambezeleka ngevelu yokwenziwe/yesibili. Lena inombolo yohambo lokuya nokubuya. Kunconywa ukusebenzisa inketho -T x,x, were x iyi-CPU yendawo kudivayisi. Ukubambezeleka kwendlela eyodwa kungabalwa kusetshenziswa: I-Latency(usec)=(1⁄2)/ [Imisebenzi/isekhondi]*1,000,\ Umyalo weseva example: netserver
    Umyalo weklayenti example: netperf -t TCP_RR -l 30 -H -T x,x
  • Ukuze uqale izimo eziningi (imicu) ye-netperf, isincomo ukusebenzisa i-loop ukwenza imephu yochungechunge kumachweba we-TCP futhi uqalise i-netperf ngemuva usebenzisa & ukudala izinqubo eziningi ngokuhambisana.
    Umyalo weseva example, qala imicu engu-8:
    port=””; okwami ​​ku-{0..7}; do port=520$i; bash -c “netserver -L $serverIP -p $port &”; kwenziwe;
    Umyalo weklayenti example, qala imicu engu-8: port="”; okwami ​​ku-{0..7}; do port=520$i; bash -c “netperf -H $serverIP -p $port -t TCP_STREAM -l 30 &”; kwenziwe;

3.2 Indlela Yokushuna
Gxila kushintsho lokushuna olulodwa ngesikhathi ukuze wazi ukuthi ushintsho ngalunye luba nomthelela muni ekuhlolweni kwakho. Uma ulandela inqubo yokulungisa, kuzoba lula ukuhlonza nokubhekana nezimbangela zokuthikamezeka kokusebenza.

Ishuna Izilungiselelo Zomshayeli we-i40e

4.1 Ukuhambisana kwe-IRQ
Ukulungisa ukuhlobana kwe-IRQ ukuze iziphazamiso zolayini abahlukene benethiwekhi zixhunywe kuma-CPU cores ahlukene kungaba nomthelela omkhulu ekusebenzeni, ikakhulukazi ukuhlolwa kokuphuma kwe-multithread.
Ukuze ulungiselele ukuhambisana kwe-IRQ, misa i-irqbalance bese usebenzisa iskripthi se-set_irq_affinity esivela kuphakheji yomthombo we-i40e noma phinina olayini mathupha. Khubaza isilinganisi se-IRQ yendawo yomsebenzisi ukuze unike amandla ukuphina komugqa:

  • i-systemctl khubaza i-irqbalance
  • i-systemctl yeka i-irqbalance
    Ukusebenzisa iskripthi se-set_irq_affinity esivela kuphakheji yomthombo we-i40e (kunconyiwe):
  • Ukusebenzisa wonke ama-cores:
    [path-to-i40epackage]/scripts/set_irq_affinity -X all ethX
  • Ukusebenzisa ama-cores kuphela kusokhethi lendawo le-NUMA: [path-to-i40epackage]/scripts/set_irq_affinity -X local ethX
  • Ungaphinda ukhethe uhla lwama-cores. Gwema ukusebenzisa i-cpu0 ngoba isebenzisa imisebenzi yesibali sikhathi. [path-to-i40epackage]/scripts/set_irq_affinity 1-2 ethX

QAPHELA
Iskripthi se-affinity sinika amandla i-Transmit Packet Steering (XPS) njengengxenye yenqubo yokuphina lapho inketho -x icacisiwe. Uma i-XPS inikwe amandla, i-Intel incoma ukuthi ukhubaze i-irqbalance, njengoba i-kernel balancer ene-XPS ingabangela ukusebenza okungalindelekile. I-affinity script ikhubaza i-XPS uma i- -X inketho ecacisiwe. Ukukhubaza i-XPS nokunika amandla olayini abalinganayo kunenzuzo kumthwalo wokusebenza lapho ukusebenza okungcono kakhulu kufinyelelwa lapho ithrafikhi ye-Tx ne-Rx zithola isevisi ngamapheya afanayo olayini.
Ukulungiselela olayini abalinganayo ku-Linux kuhilela ukulungisa amapharamitha omshayeli wohleloxhumano lwenethiwekhi ukuze unike amandla imigqa yokwamukela i-symmetric (Rx) kanye nemigqa yokudlulisa elinganayo (Tx) yama-adaptha enethiwekhi asekelwayo.
QAPHELA

  • Olayini abangama-Symmetric bayisici senethiwekhi esithuthukisiwe, futhi akuwona wonke ama-adaptha enethiwekhi angama-700 noma abashayeli abawasekelayo.
  • Qinisekisa ukuthi unomshayeli odingekayo kanye nosekelo lwezingxenyekazi zekhompuyutha ngaphambi kokuzama ukumisa olayini bokulinganisa.

Ukuze ulungiselele imigqa yama-symmetric, landela lezi zinyathelo ezijwayelekile:

  1. Hlela Ukucushwa Kwe-Network Interface File: Sebenzisa umhleli wombhalo (ngokwesiboneloample, vi, nano, noma i-gedit) ukuze uhlele ukulungiselelwa kokusebenza kwenethiwekhi file. I file ngokuvamile itholakala ngaphansi kwe-/etc/sysconfig/network-scripts/ directory futhi inegama elifana ne-ifcfg-ethX, lapho i-ethX kuyigama lesixhumi esibonakalayo senethiwekhi yakho.
  2. Engeza amapharamitha womugqa we-Symmetric. Engeza imigqa elandelayo ekucushweni kokusebenzelana kwenethiwekhi file: ETHTOOL_OPTS=”rx-umugqa 8 tx-umugqa 8″
  3. Qala kabusha Isevisi Yenethiwekhi.
    Ngemva kokwenza izinguquko, qala kabusha isevisi yenethiwekhi ukuze usebenzise ukucushwa okusha. sudo systemctl qala kabusha inethiwekhi

Ngokuzenzela:

  • Thola amaphrosesa anamathiselwe endaweni ngayinye usebenzisa: numactl -hardware lscpu
  • Thola i-bit mask yephrosesa ngayinye:
  • Kucatshangwa ukuthi ama-cores 0-11 ku-node 0: [1,2,4,8,10,20,40,80,100,200,400,800]
  • Thola ama-IRQ anikezwe itheku elabelwe: grep ethX/proc/interrupts futhi uqaphele amanani e-IRQ For example, 181-192 kumavekhtha ayi-12 alayishiwe.
  • Echo inani lokuhambisana kwe-SMP kokufakiwe okuhambisanayo kwe-IRQ. Qaphela ukuthi lokhu kudinga ukwenziwa ekungeneni ngakunye kwe-IRQ: echo 1 > /proc/irq/181/smp_affinity echo 2 > /proc/irq/182/smp_affinity echo 4 > /proc/irq/183/smp_affinity Bonisa ukuhambisana kwe-IRQ:
  • Ukubonisa ukuhambisana kwe-IRQ kwawo wonke ama-cores: /scripts/set_irq_affinity -s ethX
  • Ukukhombisa ama-cores kuphela kusokhethi lendawo le-NUMA: /scripts/set_irq_affinity -s local ethX
  • Ungaphinda ukhethe uhla lwama-cores: /scripts/set_irq_affinity -s 40-0-8,16 ethX

QAPHELA
Iskripthi se-set_irq_affinity sisekela ifulegi -s kunguqulo yomshayeli we-i40e 2.16.11 nakamuva.
4.2 Tx/Rx Ulayini
Inombolo ezenzakalelayo yolayini enikwe amandla imbobo ye-Ethernet ngayinye umshayeli ekuqaliseni ilingana nenani eliphelele lama-CPU atholakala kunkundla. Lokhu kusebenza kahle kumapulatifomu amaningi kanye nokucushwa komthwalo womsebenzi. Nokho, ezinkundleni ezinezibalo eziphezulu eziyinhloko kanye/noma ukuminyana kwembobo ye-Ethernet ephezulu, lokhu kulungiselelwa kungabangela umbango wensiza. Ngakho-ke, kungase kudingeke kwezinye izimo ukulungisa okuzenzakalelayo kwembobo ngayinye ohlelweni.
Inombolo emisiwe yolayini be-Tx/Rx ingahluka kuye ngemodeli ethile kanye nenguqulo yomshayeli. Inani lemigqa lingalungiswa kusetshenziswa umyalo we-ethtool -L obhalwe ngezansi.
QAPHELA
Kulezi zimo, i-Intel incoma ukuthi wehlise isibalo somugqa omisiwe wembobo ngayinye singabi ngaphezu kwenani lama-CPU atholakala endaweni ye-NUMA yendawo kuya embobeni ye-adaptha. Kwezinye izimo, lapho uzama ukulinganisa izinsiza ekusetshenzisweni kokubalwa kwezimbobo eziphezulu, kungase kudingeke ukwehlisa le nombolo ngokuqhubekayo.
Ukuze ulungise ukucushwa komugqa:
I-ex elandelayoampi-le isetha ichweba kolayini abangu-32 Tx/Rx: i-ethtool -L ethX ihlangene 32
Exampokukhiphayo:
i-ethtool -l ethX
Amapharamitha wesiteshi we-ethX: Ubuningi obusethwe kusengaphambili:
I-RX: 96
TX: 96
Okunye: 1
Kuhlanganiswe: 96
Izilungiselelo zamanje zehadiwe:
I-RX: 0
TX: 0
Okunye: 1
Kuhlanganiswe: 32
4.3 Ukuphazamisa Ukulinganisa
Ukulinganisela kokuphazamisa okuvumelana nezimo kuvulwe ngokuzenzakalelayo, futhi kuklanyelwe ukunikeza indlela elinganiselayo phakathi kokusetshenziswa okuphansi kwe-CPU nokusebenza okuphezulu. Kodwa-ke, ungase uzame ukulungisa izilungiselelo zokuphazamisa ngesandla ukuze zilingane necala lakho lokusebenzisa.
Ibanga lama-microsecond angu-0-235 linikeza ububanzi obusebenzayo obungu-4,310 kuya ku-250,000 weziphazamiso ngomzuzwana. Inani le-rx-μsecs-high lingasethwa lizimele ku-rx-μsecs kanye no-tx-μsecs kumyalo ofanayo we-ethtool, futhi futhi alizimele ku-adaptive interrupt mode moderation algorithm. Izingxenyekazi zekhompuyutha ezingaphansi zisekela ubumbudumbudu ngezikhawu ezingu-2microsecond, ukuze amanani aseduze abangele izinga lokuphazamiseka okufanayo.

  • Ukucisha ukulinganisela kokuphazamiseka okuguquguqukayo: i-ethtool -C ethX adaptive-rx icishiwe i-adaptive-tx icishiwe
  • Ukuze uvule ukulinganisela kokuphazamiseka okuguquguqukayo: i-ethtool -C ethX adaptive-rx ku-adaptive-tx ivuliwe

Indawo enhle yokuqala yokushuna okuvamile ngu-84 μs, noma ~12000 iziphazamiso/s. Uma ubona izinto zokubala ezingu-rx_dropped zisebenza ngesikhathi sethrafikhi (usebenzisa i-ethtool -S ethX) cishe une-CPU ehamba kancane, awekho amabhafa anele asuka kusayizi we-adaptha (ethtool -G) ukubamba amaphakethe angu-84 μs noma ukuya phansi kwezinga lokuphazamiseka.

  • Ukusetha ukulinganisela kokuphazamisa kube izinga elimisiwe lokuphazamiseka elingu-84 μs phakathi kweziphazamiso (12000 ukuphazamisa/s): i-ethtool -C ethX adaptive-rx off adaptive-tx off rx-usecs 84 tx-usecs 84 Inani elilandelayo ongalizama, uma ungakhishiwe ekusetshenzisweni kwe-CPU62, ngu-μs. Lokhu kusebenzisa i-CPU ethe xaxa, kodwa isevisi igcina kubhafa ngokushesha, futhi idinga izincazelo ezimbalwa (usayizi wendandatho, i-ethtool -G).
  • Ukusetha ukulinganisela kokuphazamiseka kube yisilinganiso esimisiwe sokuphazamiseka kwama-uscs angu-62 phakathi kweziphazamiso (16000 ukuphazamisa/s). ethtool -C ethX adaptive-rx off adaptive-tx off rx-usecs 62 tx-usecs 62
    Uma rx_dropped counters anda phakathi nethrafikhi (usebenzisa i-ethtool -S ethX), cishe une-CPU ehamba kancane, awekho amabhafa anele asuka kusayizi we-adaptha yeringi (ethtool -G), noma isilinganiso esiphansi kakhulu sokuphazamiseka. Uma ungaphelelwanga ekusetshenzisweni kwe-CPU, ungakwazi ukukhuphula izinga lokuphazamiseka ngokwehlisa inani le-ITR. Lokhu kusebenzisa i-CPU eningi, kodwa izinsiza zibhafa ngokushesha, futhi zidinga izincazelo ezimbalwa (usayizi wendandatho, i-ethtool -G).
    Uma i-CPU yakho iku-100%, ngakho-ke ukukhulisa izinga lokuphazamiseka akwelulekwa. Ezimweni ezithile ezifana nomsebenzi oboshelwe yi-CPU, ungase ufune ukwandisa inani le-μs ukuze unike amandla isikhathi esengeziwe se-CPU kwezinye izinhlelo zokusebenza.
    Uma udinga ukusebenza kwe-latency ephansi kanye/noma une-CPU eningi ongayisebenzisa ekucubunguleni inethiwekhi, ungakhubaza ukuphazamisa ukulinganisela ngokuphelele, okuvumela ukuthi iziphazamiso zivuthe ngokushesha okukhulu.
  • Ukukhubaza ukuphazamisa ukulinganisa i-ethtool -C ethX adaptive-rx off adaptive-tx off rx-usecs 0 tx-usecs 0

QAPHELA
Uma isebenza ngokulinganisela kokuphazamiseka kukhutshaziwe, izinga lokuphazamiseka kumugqa ngamunye lingaba phezulu kakhulu. Cabangela ukufaka ipharamitha engu-rx-usec-high ukuze usethe umkhawulo ongaphezulu kusilinganiso sokuphazamiseka. Umyalo olandelayo ukhubaza ukulinganisela kokuphazamisa okuguquguqukayo futhi uvumela umkhawulo wama-microseconds angu-5 ngaphambi kokubonisa ukuthi ukwamukela noma ukudlulisa sekuqediwe. Esikhundleni sokuholela ekuphazamisekeni okuningi okungama-200,000 ngomzuzwana, ikhawulela iziphazamiso eziphelele ngomzuzwana ukuya kwezi-50,000 ngepharamitha ye-rx-usec-high. # ethtool -C ethX adaptive-rx off adaptive-tx off rx-usecs-high 20 rx-usecs 5 txusecs 5 Zama ukulungisa i-transmit/receive/high-priority coalescing timer ephakeme (80/100/150/200) noma yehlise (25/20/10/5/XNUMX/XNUMX/XNUMX/XNUMX yehla (XNUMX/XNUMX/XNUMX/XNUMX/XNUMX/XNUMX/XNUMX/XNUMX/XNUMX/XNUMX)
4.4 Usayizi wendandatho
Uma ubona izinto zokubala ezingu-rx_dropped ku-ethtool -S ethX (rx_dropped, rx_dropped.nic), noma ingcindezi yenqolobane esolwayo enolayini abaningi esebenzayo, ungase uzame ukulungisa usayizi wendandatho kusuka kunani elimisiwe. Inani elizenzakalelayo lingu-512, ubuningi bungu-4096.

  • Ukuhlola amanani amanje: ethtool -g ethX
    Uma kusolwa ukuthi ukuntuleka kwebhafa kubangela ukwehla ngezinga lokuphazamiseka lamanje, ungase uzame ubuningi kuqala, bese ubuncane, bese uqhubeka kusesho olunambambili kuze kube yilapho ubona ukusebenza okuphelele.
    Uma kusolwa ingcindezi yenqolobane (imigqa eminingi iyasebenza) ukunciphisa amabhafa kokuzenzakalelayo kungasiza i-Intel ® Data Direct I/O (Intel ® DDIO) isebenze ngokuphumelelayo kangcono. I-Intel incoma ukuzama okungu-128 noma okungu-256 kulayini ngamunye, iqaphela ukuthi ukunyuka kwezinga lokuphazamiseka nge-ethtool -C kungase kudingeke ukuze kugwenywe ukukhuphuka kwe-rx_dropped.
  • Ukusetha usayizi wendandatho enanini elingaguquki: ethtool -G eth12 rx 256 tx 256

QAPHELA
Ukuze ulungise amaconsi ephakethe le-Rx atholwe ngokuwa kwe-ethtool -S ethX|grep, cabanga ukukhulisa usayizi wendandatho uye ku-4096. Zama ukuthola isilungiselelo esingcono kakhulu somthwalo womsebenzi kodwa qaphela ukusetshenziswa kwememori okweqile ngamavelu aphezulu.
4.5 Ukulawula Ukugeleza
Ukulawulwa kokugeleza kwesendlalelo sesi-2 kungaba nomthelela omkhulu ekusebenzeni kwe-TCP futhi kunconyelwa ukuthi kukhutshazwe emisebenzini eminingi. Okuhlukile okungaba khona ukuqhuma kwethrafikhi lapho ukuqhuma kungekude ngesikhathi.
Ukulawula ukugeleza kukhutshaziwe ngokuzenzakalela.

  • Ukuze unike amandla ukulawula ukugeleza: i-ethtool -A ethX rx ku-tx ivuliwe
  • Ukukhubaza isilawuli sokugeleza: i-ethtool -A ethX rx off tx off

QAPHELA
Kufanele ube nozakwethu wesixhumanisi okwazi ukulawula ukugeleza ukuze unike amandla ukulawula ukugeleza ngempumelelo.
4.6 Amafreyimu eJumbo
Uma indawo yethrafikhi elindelwe iqukethe amabhulokhi amakhulu edatha edluliswayo, kungase kube usizo ukunika amandla isici sozimele we-jumbo. Ukusekela kwe-Jumbo Frames kunikwe amandla ngokushintsha i-Maximum Transmission Unit (MTU) ibe yinani elikhulu kunevelu ezenzakalelayo engu-1500. Lokhu kuvumela idivayisi ukuthi idlulise idatha ngamaphakethe amakhulu ngaphakathi kwendawo yenethiwekhi. Lesi silungiselelo singase sithuthukise ukusebenza futhi sinciphise ukusetshenziswa kwe-CPU kumthwalo omkhulu we-I/O. Kodwa-ke, kungase kube nomthelela wephakethe elincane noma umthwalo ozwelayo we-latency-sensitive.
QAPHELA
Ozimele be-Jumbo noma isilungiselelo esikhulu se-MTU kufanele simiswe kahle endaweni yonke yenethiwekhi yakho.
Sebenzisa umyalo we-ifconfig ukwandisa usayizi we-MTU. Okwesiboneloample, faka okulandelayo, kuphi inombolo yesixhumi esibonakalayo: ifconfig umuntu 9000 phezulu
Kungenjalo, ungasebenzisa umyalo we-ip kanje: ip link set mtu 9000 dev ip isixhumanisi setha i-dev

I-Platform Tuning (i40e Engacacisiwe)

5.1 Izilungiselelo ze-BIOS

  • Nika amandla i-Intel® VT-d ukuze uthole imisebenzi eminingi.
  • I-Hyper-threading (ama-logical processors) angaphazamisa ukusebenza. Izame ukuyivula noma ukuyivala ukuze uthole umsebenzi wakho.
  • I-Intel® Turbo Boost ivumela ama-CPU cores ukuthi asebenze ngemvamisa ephezulu kune-base frequency ye-CPU. Ukunika amandla i-Intel® Turbo Boost kungathuthukisa ukusebenza kwemithwalo eminingi kodwa kudla amandla engeziwe ukugcina ama-cores emvamisa ephezulu. Linga nge-Turbo Boost icishiwe/ivuliwe ukuze uthole umsebenzi wakho.

QAPHELA
Amafrikhwensi e-Turbo awaqinisekisiwe uma inkundla ihlangabezana nokusetshenziswa okuphezulu kwe-CPU sekukonke. Amafrikhwensi aphezulu e-turbo ancishisiwe njengoba ukusetshenziswa kwe-CPU kukonke kukhuphuka.
5.2 Ukuphathwa kwamandla
Ukuphathwa kwamandla kungaba nomthelela ekusebenzeni, ikakhulukazi emithwalweni ephansi ye-latency workload. Uma ukusebenza kubaluleke kakhulu kunokwehlisa ukusetshenziswa kwamandla, i-Intel incoma ukuthi uzame ukukhawulela imiphumela yokuphathwa kwamandla. Kunezindlela eziningi ezihlukene zokukhawulela ukuphathwa kwamandla, ngokusebenzisa amathuluzi esistimu yokusebenza, izilungiselelo ze-BIOS, nemingcele ye-kernel boot. Khetha indlela engcono kanye nezinga elifanelana nendawo yakho.
5.2.1 I-C-State Control
Ukukhawulela ukungena kwe-C-state ku-CO noma i-C1 kuthuthukisa ukusebenza futhi kwandisa ukusetshenziswa kwamandla.
Ukukhubaza ukungena kwesimo se-CPU Package C6 kungathuthukisa ukusebenza kwenethiwekhi. Nokho, lokhu kwandisa ukusetshenziswa kwamandla.
Izinketho ezilandelayo ziyatholakala:

  • Lawula ngokunamandla ukungena kwe-C-state:
    Vula
    /dev/cpu_dma_latency bese ubhala ukubambezeleka okuphezulu okuvumelekile kuyo.

QAPHELA
Kunohlelo oluncane olubizwa nge-cpudmalatency.c olungalandwa kumthombo ovulekile womphakathi, luhlanganiswe, futhi lusebenze kusukela kulayini womyalo ukwenza lokhu kanye.
I-ex elandelayoample ivumela ama-μs amahlanu wesikhathi sokuvuka, futhi ngaleyo ndlela ivumela ukungena kwe-C1: cpudmalatency 5 &

  • Khawulela ubukhulu be-C-state kuzilungiselelo zokuqalisa i-kernel:
    Okwama-Intel CPUs: intel_idle.max_cstates=1
    Kuma-CPU angewona awe-Intel: processor.max_cstates=1
  • Sebenzisa umyalo we-cpupower ukuze uhlole futhi ukhubaze isimo se-CPU C6: Hlola: i-cpupower monitor noma i-cpupower idle-info
    Khubaza i-C6: i-cpupower i-idle-set -d3 noma
    Khubaza i-C-States: cpupower idle-set -D0

Amanothi:

  1. Khubaza i-C-states ku-CPU uma iseva ine-Intel® 4th Gen Intel® Xeon® Scalable Processor. Uma i-Hyper Threading inikwe amandla noma ivaliwe, ukukhubaza izimo zokungenzi lutho (-D0) kuvimbela ama-cores ukuthi angangeni ezimeni zamandla aphansi phakathi nezikhathi zokungenzi lutho futhi kunciphisa ukubambezeleka kwe-CPU ukuthi iguquke phakathi kwezimo zokungenzi lutho nezisebenzayo.
  2. Ukuphathwa kwamandla kwe-Intel® 4th Gen Intel® Xeon® Scalable Processor kunolaka kakhulu. Ukuze ugweme ama-cores ukuthi angangeni ezifundazweni ezinamandla aphansi, zama ukunciphisa inani lama-cores asetshenziswayo ukuze uwagcine ephapheme isikhathi eside (ethtool -L kuhlangene ). Futhi, bophezela iziphazamiso kuma-cores athile usebenzisa isethi ye-irq affinity (imvamisa -x yendawo noma uhlu lwama-CPU cores), futhi uqinisekise ukuthi umthwalo wokusebenza usebenza kulawo ma cores afanayo nesethi yomsebenzi noma i-numactl. Lokhu kuthuthukisa ukusebenza ngokugcina ama-cores asebenza kanye nokuthuthukisa ukuphatha okuphazamisekile.

Nika amandla i-C6:
cpupower i-idle-set -d3
Nika amandla i-C-States:
cpupower idle-set -E

  • Enye indlela ukusebenzisa ithuluzi elishuniwe (elifakwe nokusatshalaliswa kweLinux okuningi) ukusetha uchwepheshe wokusebenzafile. Lezi profiles guqula izilungiselelo ezimbalwa ze-OS ezingathinta ukusebenza kuzo zonke izinhlelo zokusebenza. Kutholwe ukuthi i-network-throughput profile inikeza ukuthuthukiswa emisebenzini eminingi.
    Hlola:
    i-tuned-adm iyasebenza
    Setha:
    ishuniwe-adm profile inethiwekhi
    QAPHELA
    Isevisi eshuniwe kufanele isebenze emiyalweni engaphezulu. Ukuze uhlole/uqalise kabusha, kushuniwe: isimo se-systemctl sishuniwe i-systemctl iqala kabusha ilungisiwe
    Ungaphinda ungavumeli noma yikuphi ukufakwa kwe-C-state ngokungeza okulandelayo emugqeni wokuqalisa we-kernel:
    engenzi lutho=ukuvota
  • Khawulela isimo se-C ngezilungiselelo zokuphathwa kwamandla e-BIOS yesistimu, okungenzeka kube nochwepheshe bokusebenzafile etholakalayo.
    Amathuluzi afana ne-turbostat noma i-x86_energy_perf_policy angasetshenziswa ukuhlola noma ukusetha izilungiselelo zokuphatha amandla.

5.2.2 PCIe Power Management
I-Active-State Power Management (ASPM) inika amandla isimo samandla esiphansi sezixhumanisi ze-PCIe uma zingasebenzi. Lokhu kungase kubangele ukubambezeleka okuphezulu kumadivayisi enethiwekhi ye-PCIe, ngakho-ke i-Intel incoma ukuthi ukhubaze i-ASPM yemithwalo yomsebenzi ezwela ukubambezeleka. Khubaza i-ASPM ngokwengeza okulandelayo emugqeni wokuqalisa we-kernel: pcie_aspm=off
5.2.3 I-CPU Frequency Scaling
I-CPU frequency scaling (noma i-CPU speed scaling) iyindlela yokuphatha amandla e-Linux lapho isivinini sewashi lesistimu silungiswa lapho undiza ukuze wonge amandla nokushisa. Njengezifunda ze-C, lokhu kungabangela ukubambezeleka okungafuneki ekuxhumekeni kwenethiwekhi.
Ithuluzi le-cpupower lingasetshenziswa ukuhlola nokuguqula okuzenzakalelayo kokusebenza kwe-CPU nemikhawulo:

  • Hlola: cpupower qapha noma
  • Setha ama-CPU kumodi yokusebenza: ukusebenza kwe-cpupower frequency-set -g

QAPHELA
Ukulungiswa kwemikhawulo yefrikhwensi ye-CPU kungaba nomthelela emisebenzini eminingi futhi kungase kukhubaze ezinye izici, njengemodi ye-CPU turbo.
Ukuze ukhubaze isikali se-CPU frequency, khubaza isevisi yamandla e-CPU ngemiyalo elandelayo:
systemctl yeka cpupower.service
i-systemctl khubaza i-cpupower.service
5.2.4 Umhlahlandlela Wokulawula Amandla Engeziwe
Imininingwane eyengeziwe inikezwa kuleveli ephezuluview zezici eziningi zokuphatha amandla ku-3rd Generation Intel® Xeon® Scalable processors, kanye nesiqondiso sokuthi lezi zici zingahlanganiswa kanjani ezingeni leplathifomu: https://networkbuilders.intel.com/solutionslibrary/power-management-technologyoverview-technology-guide
5.3 Intel® Turbo Boost
I-Intel® Turbo Boost yenza iphrosesa isheshe uma idingeka kodwa ingasebenzisa amandla engeziwe. Ukuvala i-Turbo Boost kugcina iphrosesa inesivinini esiqinile, ikunikeza ileveli yokusebenza engaguquki yemithwalo ethile yomsebenzi.
5.4 Ama-firewall
Ama-firewall angaba nomthelela ekusebenzeni, ikakhulukazi ukusebenza kwe-latency.
Khubaza ama-iptables/firewalld uma kungadingeki.
5.5 Izilungiselelo zohlelo
Ngokuvamile uchungechunge olulodwa (oluhambisana nolayini wenethiwekhi eyodwa) alwanele ukuzuza umkhawulokudonsa omkhulu. Ezinye izakhiwo zepulatifomu, njenge-AMD, zivame ukuwisa amaphakethe e-Rx amaningi ngochungechunge olulodwa uma kuqhathaniswa namapulatifomu anama-Intel-based processors.
Cabangela ukusebenzisa amathuluzi afana nesethi yomsebenzi noma i-numactl ukuze uphine izinhlelo zokusebenza kunodi ye-NUMA noma ama-CPU cores asendaweni kudivayisi yenethiwekhi. Kweminye imisebenzi efana ne-I/O yesitoreji, ukuhambisa uhlelo lokusebenza endaweni okungeyona eyendawo kunikeza inzuzo.
Zama ngokwandisa inombolo yochungechunge olusetshenziswa uhlelo lwakho lokusebenza uma kungenzeka.
5.6 Inguqulo ye-Kernel
Ama-kernel amaningi esimanjemanje athuthukiswe kahle ukuze asebenze kodwa, kuya ngesimo sakho sokusebenzisa, ukubuyekeza i-kernel kungase kunikeze ukusebenza okuthuthukisiwe. Ukulanda umthombo kuphinde kukwenze ukwazi ukunika amandla/ukuvimbela izici ezithile ngaphambi kokwakha i-kernel.
5.7 Izilungiselelo Zesistimu Yokusebenza/I-Kernel
Bheka imihlahlandlela yokushuna yesistimu yokusebenza, njenge-Red Hat Enterprise Linux Network Performance Tuning Guide, ukuze uthole ulwazi olwengeziwe mayelana nokushuna kwesistimu yokusebenza evamile.
Amanye amapharamitha ajwayelekile okushuna afakwe kuhlu kuthebula elilandelayo. Qaphela ukuthi lawa amaphoyinti okuqalisa aphakanyisiwe kuphela, futhi ukuwashintsha kusukela kokumisiwe kungase kwandise izinsiza ezisetshenziswa ohlelweni. Nakuba ukukhulisa amanani kungasiza ukuthuthukisa ukusebenza, kuyadingeka ukuzama ngamavelu ahlukene ukuze unqume ukuthi yini esebenza kangcono kusistimu ethile, umthwalo womsebenzi kanye nohlobo lwethrafikhi.
Amapharamitha e-kernel ayalungiseka kusetshenziswa insiza ye-sysctl ku-Linux njengoba kukhonjisiwe ngezansi.
Kuya view amanani azenzakalelayo we-rmem ne-wmem ohlelweni:
sysctl net.core.rmem_default
sysctl net.core.wmem_default
Setha amanani kubukhulu (16 MB):
sysctl -w net.core.rmem_max=16777216
sysctl -w net.core.wmem_max=16777216
Osayizi bebhafa yesokhethi, abaziwa nangokuthi i-receiver buffer (rmem) kanye nebhafa yokudlulisa (wmem), amapharamitha wesistimu acacisa inani lememori ebekelwe ithrafikhi yenethiwekhi engenayo naphumayo.
Ukusebenzisa i-sysctl ngaphandle kwe-agumenti ye--w kuklelisa ipharamitha nesilungiselelo sayo samanje.

Ukusetha Isitaki Incazelo
net.core.rmem_default Okuzenzakalelayo Thola Usayizi Wewindi
net.core.wmem_default Okuzenzakalelayo Usayizi Wewindi Wokudlulisa
net.core.rmem_max Ubukhulu Usayizi Wewindi Wokuthola
net.core.wmem_max Ubukhulu Usayizi Wewindi Wokudlulisa
net.core.optmem_max Izibhafa Zenkumbulo Eziphezulu
net.core.netdev_max_backlog Ukusalela emuva kwamaphakethe angakacutshungulwa ngaphambi kokuthi i-kernel iqale ukuwa
net.ipv4.tcp_rmem Isilondolozi sememori se-TCP yokufunda ibhafa
net.ipv4.tcp_wmem Isilondolozi sememori se-TCP sithumela amabhafa

I-Kernel, isitaki senethiwekhi, isibambi sememori, isivinini se-CPU, namapharamitha okuphatha amandla kungaba nomthelela omkhulu ekusebenzeni kwenethiwekhi. Isincomo esivamile ukufaka isicelo kunethiwekhi ye- throughput profile usebenzisa umyalo oshuniwe. Lokhu kulungisa izilungiselelo ezimbalwa ze-OS ukunikeza okuncamelayo ezinhlelweni zokuxhumana.
Hlola:
i-tuned-adm iyasebenza
Setha:
ishuniwe-adm profile inethiwekhi
5.8 Umsebenzi Osemuva Kwedivayisi Yenethiwekhi
Lesi sici sisiza ukuthuthukisa ukusebenza kwenethiwekhi ngokuphatha ithrafikhi engenayo ngempumelelo, ukwehlisa ukulahleka kwephakethe, ukwehlisa ukubambezeleka, nokuthuthukisa ukusebenza. Lokhu kuholela kumuzwa ongcono womsebenzisi kanye nokusabela kwesistimu okusheshayo.
Ngokuzenzakalelayo, inikwe amandla kumasistimu wokusebenza we-Linux. Ukuze uhlole inani elizenzakalelayo:
sysctl net.core.netdev_max_backlog
Inani eliphakeme le-netdev_max_backlog lingahluka kuye ngezinto ezifana nenguqulo ye-kernel, izingxenyekazi zekhompuyutha, inkumbulo, nomthwalo wokusebenza. Ezimweni eziningi, i-8192 ibonakala njengenani elihle. sysctl -w net.core.netdev_max_backlog=8192
5.9 Ukuhlelwa Nokushuna Kwenkundla Ethize
5.9.1 4th Generation Intel® Xeon® Scalable processors

Ukuphathwa kwamandla kwe-Intel® 4th Generation Intel® Xeon® Scalable processor kunolaka kakhulu uma kuqhathaniswa ne-3rd Generation Intel® Xeon® Scalable processors. Ukuze ugweme ama-cores ukuthi angangeni ezifundazweni ezinamandla aphansi, zama ukunciphisa inani lama-cores asetshenziswayo ukuze uwagcine ephapheme isikhathi eside.
Izilungiselelo ezinconyiwe ze-Bios Zokusebenza Okuphakeme Kakhulu

  1. I-Hyper-threading inika amandla/khubaza (ngokusekelwe kwimfuneko yomthwalo womsebenzi nezinjongo zokusebenza) ku-CPU.
  2. Setha i-pro systemfile Ekusebenzeni kokusebenza okuphezulu.
    QAPHELA
    Lokhu kubangela ukusetshenziswa kwamandla okuphezulu
  3. Setha ukuphathwa kwamandla kwe-CPU kokuthi Ukusebenza Okukhulu ukuze ubeke phambili ukusebenza kwe-CPU okuphezulu ngaphezu kokusebenza kahle kwamandla.
  4. Nika amandla i-Turbo Boost. Ukukhubaza i-Turbo Boost ohlelweni lwezilungiselelo ze-BIOS ngokuvamile kuvimbela i-CPU kusukela ekukhuphuleni ngamandla isivinini sayo sewashi ukudlula imvamisa yayo yesisekelo.
  5. QAPHELA
    Ukukhubaza i-Turbo Boost kungase kulungele izimo ezithile zokusetshenziswa lapho ukusebenza okungaguquki, ukusebenza kahle kwamandla, noma ukuphathwa okushisayo kubekwa phambili ngaphezu kokusebenza okuphezulu.
  6. Vala isici se-Single Root I/O Virtualization (SR-IOV), uma isistimu ingasebenzisi ubuchwepheshe bokwenza izinto ezibonakalayo.
  7. Khubaza i-C-states ukuze uyale i-CPU ukuthi ihlale isebenza futhi uvimbele ukungena ezimeni ezijulile zokungenzi lutho.
  8. Khubaza i-C1E, ukuze uqinisekise ukuthi i-CPU ihlala isebenza futhi ayifaki isimo sokungenzi lutho se-C1E.
  9. Setha i-uncore frequency ibe enkulu ukuze ufundise isistimu ukuthi isebenze ngefrikhwensi ephezulu kakhulu etholakalayo.
  10. Ezinkundleni zokuxhumana ze-Dell, setha ukulingiswa okuyinhloko kwe-Multiple APIC Description Table (MADT) ku-Linear (noma i-Round-Robin kuye nge-BIOS) ukuze unikeze ukumepha okucacile nokubikezelwayo kwama-CPU cores.

Ukuhlelwa Kwezinga Le-OS Okunconyiwe Kokusebenza Okuthuthukisiwe

  1. Setha isikali sokukala imvamisa ye-CPU ekusebenzeni. cpupower frequency-set -g ukusebenza cpupower frequency-info
  2. Khubaza i-C-States. cpupower i-idle-set -D0
  3. Setha amabhafa angumongo we-Rx (rmem) kanye ne-Tx (wmem) abe inani eliphezulu. sysctl -w net.core.rmem_max=16777216 sysctl -w net.core.wmem_max=16777216
  4. Setha ukusilela emuva kwedivayisi yenethiwekhi. sysctl -w net.core.netdev_max_backlog=8192
  5. Setha uchwepheshe oshuniwefile (umthwalo womsebenzi uncike ekusebenzeni/ukubambezeleka).
    ishuniwe-adm profile inethiwekhi

Ukulungiswa Kweleveli Ye-adaptha Enconyiwe Yokusebenza Okuthuthukisiwe

  1. Khawulela inani lolayini ozosetshenziselwa ithrafikhi yohlelo lokusebenza. Sebenzisa ubuncane benombolo yolayini edingekayo ukuze ugcine ama-CPU cores ahlobene asebenza ukuze uwavimbele ekungeneni ezifundazweni ezijulile zokungenzi lutho (lungisa umthwalo wokusebenza): ethtool -L kuhlanganiswe 32
  2. Setha izilinganiso zokwengamela eziphazamisayo. i-ethtool -C adaptive-rx off adaptive-tx off rx-usecs-high 50 rx-usecs 50 tx-usecs 50
    Zama ukulungisa i-transmit/receive/high-coalescing timer ephakeme kakhulu (80/100/150/200) noma ngaphansi (25/20/10/5) ukuze uthole inani eliphelele lomsebenzi.
  3. Setha osayizi bendandatho ye-Rx/Tx. i-ethtool -G rx 4096 tx 4096
    QAPHELA
    Uma ubona iphakethe le-Rx lehla nge-ethtool -S| grep drop, zama ukwehlisa usayizi wendandatho ube <4096. Zama ukuthola inani eliphelele lomsebenzi lapho amaphakethe engawiswanga khona.
  4. Setha i-IRQ Affinity. Sebenzisa ama-cores wendawo kuya ku-NIC, noma imephu ethile ewumgogodla (lapho ama-cores angu-# alingana nenani lolayini abamiswe ku-1 ekhasini 26. systemctl stop irqbalance set_irq_affinity -X local NOMA setha_irq_affinity -X

5.9.2 AMD EPYC
Amaphrosesa e-AMD EPYC angama-CPU anamandla enzelwe amaseva nezikhungo zedatha, akhelwe phezu kwezakhiwo ze-Zen ze-AMD. Izilungiselelo ezingezansi zivela ochungechungeni lwe-EPYC yesizukulwane sesine se-AMD.
Izilungiselelo ezinconyiwe ze-BIOS Zokusebenza Okuphakeme Kakhulu

  1. Nika amandla imodi yangokwezifiso ukuze uvumele abasebenzisi ukuthi balungise ukusebenza kwe-CPU, ukusetshenziswa kwamandla, nezinye izilungiselelo. Lokhu kusiza ekulungiseni kahle isistimu ukuze kube nebhalansi engcono kakhulu phakathi kokusebenza nokusebenza kahle kwamandla.
  2. Nika amandla i-core performance boost ukuze i-CPU ikhulise ngokuzenzakalela isivinini sayo ukuze isingathe imisebenzi ejulile, ithuthukise ukusebenza kukonke.
  3. Khubaza isilawuli se-C-state yomhlaba wonke, ukuze uvimbele i-CPU ukuthi ingene ezifundeni ezijulile zokonga amandla ezaziwa ngokuthi i-C-states, engagcina ukuphendula.
    QAPHELA
    Ukukhubaza i-C-states kungabangela ukusetshenziswa kwamandla okwengeziwe futhi kukhuphule izinga lokushisa elishisayo. Gada kokubili ngomthwalo womsebenzi.
  4. Nika amandla/khubaza i-Multithreading ehambisanayo (i-SMT) ku-CPU, ngokusekelwe kumfuneko yomthwalo womsebenzi kanye nemigomo yokusebenza. I-SMT ilingana ne-Hyper Threading kuma-Intel CPUs.
    QAPHELA
    Ukuze uthole ukusebenza okuthuthukisiwe, bheka Izilungiselelo Zomshayeli we-i40e ekhasini 13 kanye ne-Platform Tuning (i-i40e Engacacisiwe) ekhasini 19 ukuze uthole i-OS enconyiwe kanye nezinga le-adaptha yokushuna.

I-Adapter Bonding

I-Linux bonding isici esinamandla esingathuthukisa kakhulu ukusebenza kwenethiwekhi, ukuphindaphindeka, nokubekezelela amaphutha ezindaweni zeseva. Kodwa-ke, kubalulekile ukuqaphela ukuthi idinga i-hardware yenethiwekhi ehambisanayo kanye nokucushwa okufanele kukho kokubili iseva kanye nokushintsha ukuze kusebenze kahle.
I-bonding driver ku-Linux ikuvumela ukuthi uhlanganise izixhumanisi ezibonakalayo eziningi zenethiwekhi zibe isixhumi esibonakalayo esiboshiwe. Lesi sixhumanisi esibonakalayo esiboshiwe sibonakala njengesixhumi esibonakalayo esisodwa senethiwekhi kusistimu yokusebenza nezinhlelo zokusebenza.
QAPHELA
Ibhondi iyisixhumi esibonakalayo esinengqondo, ngakho-ke akwenzeki ukusetha ukuhambisana kwe-CPU ngokuqondile kusixhumi esibonakalayo sebhondi (ngokwesibonelo.ample, isibopho0). Okusho ukuthi, ayinakho ukulawula okuqondile ekuphatheni ukuphazamiseka noma ukuhambisana kwe-CPU. Ukuhambisana kwe-CPU kufanele kulungiselelwe izixhumi ezibonakalayo ezingaphansi eziyingxenye yebhondi.
I-Bonding inikeza izindlela ezimbalwa zokusebenza, ngayinye inezici zayo.

Imodi  Uhlobo
0 Round Robin
1 Isipele Esisebenzayo
2 XOR
3 Sakaza
4 I-LACP
5 Dlulisa Ibhalansi Yomthwalo
6 Ibhalansi Yomthwalo Oguqukayo

Kunezindlela ezahlukahlukene zokwenza isibopho ku-Linux. Enye yezindlela ezivame kakhulu ukusebenzisa ukucushwa kwenethiwekhi files (isbample, /etc/network/ interfaces noma /etc/sysconfig/network-scripts/ifcfg-bondX).
Ukucushwa Ngokusebenzisa Ukucushwa Kwenethiwekhi Files
Izinyathelo ezilandelayo zidala ukuhlanganisa phakathi kokucushwa kwenethiwekhi files.

  1. Khetha izimbobo ezimbili noma ngaphezulu ze-NIC ukuze uzibophe (ngokwesiboneloample, ethX kanye ne-ethY)
  2. Vula ukucushwa kwe-NIC Files ngaphansi kwe-/etc/sysconfig/network-scripts/ ku-NIC Interface edingekayo (isibample, vi ifcfg-ethX kanye ne-vi ifcfg-ethY) bese wengeza umbhalo olandelayo:
    MASTER=bondN [Qaphela: U-N uyinombolo yokusho inombolo yebhondi.] ISIgqila=yebo
  3. Dala umbhalo wenethiwekhi yebhondi file usebenzisa vi /etc/sysconfig/networkscripts/ifcfg-bondN bese ufaka umbhalo olandelayo:
    DEVICE=bondN [Qaphela: N iyinombolo yokusho inombolo yebhondi] ONBOOT=yebo USERCTL=cha BOOTPROTO=dhcp (noma) akukho
    IPADDR=200.20.2.4 [iyadingeka uma i-BOOTPROTO=ingekho] NETMASK=255.255.255.0 [iyadingeka uma i-BOOTPROTO=none] NETWORK=200.20.2.0 [iyadingeka uma i-BOOTPROTO=none] BROADCAST=200.20.2.255. BONDING_OPTS=”imodi=1 miimon=100″
    QAPHELA
    Imodi ingaba yinoma iyiphi inombolo ukusuka ku-0 kuye ku-6 ngokuya ngemfuneko.
  4. Qala kabusha izinsiza zenethiwekhi usebenzisa ukuqala kabusha kwenethiwekhi yesevisi noma qala kabusha i-NetworkManager.service

Ukuxazulula Izinkinga Zokusebenza

7.1 Ukusetshenziswa kwe-CPU
Hlola ukusetshenziswa kwe-CPU ngomongo ngamunye ngenkathi umsebenzi usebenza.
Qaphela ukuthi ukusetshenziswa ngomongo ngamunye kubaluleke kakhulu ekusebenzeni kunokusetshenziswa kukonke kwe-CPU njengoba kunikeza umbono wokusetshenziswa kwe-CPU ngomugqa wenethiwekhi ngamunye. Uma unochungechunge olumbalwa olusebenzisa ithrafikhi yenethiwekhi, ungase ube nama-cores ambalwa kuphela asetshenziswayo. Kodwa-ke, uma lezo zinhlamvu ziku-100%, khona-ke ukuphuma kwenethiwekhi yakho kukhawulelwe ukusetshenziswa kwe-CPU futhi sekuyisikhathi sokwenza okulandelayo:

  1. Shuna ukulinganisa/usayizi wendandatho ye-IRQ njengoba kuchaziwe kokuthi Ukwengamela Ukuphazamisa.
  2. Khulisa inombolo yochungechunge lohlelo lokusebenza ukuze usakaze umthwalo we-CPU phezu kwamacores amaningi. Uma wonke ama-cores asebenza ku-100% uhlelo lwakho lokusebenza lungase luboshwe nge-CPU kunokuba luboshwe kunethiwekhi.

Amathuluzi avame ukutholakala:

  • phezulu
    - Cindezela u-1 ukuze wandise uhlu lwama-CPU futhi uhlole ukuthi yimaphi asetshenziswayo.
    - Qaphela izinga lokusetshenziswa.
    - Qaphela ukuthi yiziphi izinqubo ezisohlwini njengezisebenzayo kakhulu (phezulu ohlwini).
  • mpstat
    I-ex elandelayoampumugqa womyalo uhlolwe ku-Red Hat Enterprise Linux 7.x.
    Ibonisa ukusetshenziswa kwe-CPU ngomongo ngamunye (ngokuthola inani eliphelele lephesenti lingenzi lutho futhi likhipha ku-100) futhi igqamisa amanani angaphezu kuka-80% ngokubomvu. mpstat -P KONKE 1 1 | grep -v Isilinganiso | umsila -n +5 | ikhanda -n -1 | awk '{ phrinta (100-$13)}' | egrep -color=njalo '[^\.][8-9][0-9][\.]?.*|^[8-9][0-9][\.]?.*| 100|' | ikholomu
  • perf top Bheka lapho kusetshenziswa khona imijikelezo.

7.2 i40e Izibali
Umshayeli we-i40e uhlinzeka ngohlu olude lwezibali zokulungisa iphutha esibonakalayo nokuqapha ngomyalo we-ethtool -S ethX. Kungaba usizo ukubuka okukhiphayo ngenkathi umsebenzi usebenza futhi/noma uqhathanise amanani ekhawunta ngaphambi nangemuva kokuqalisa komsebenzi.

  • Ukuze uthole ukulahlwa okugcwele kwezinto zokubala ze-i40e: ethtool -S ethX
  • Ukubuka nje izinto zokubala ezingezona uziro: watch -d (ethtool -S ethX) | egrep -v :\ 0 | ikholomu
    Ezinye izinto ongazibheka:
  • rx_dropped kusho ukuthi i-CPU ayinikezi amabhafa ngokushesha ngokwanele.
  • port.rx_dropped kusho okuthile okungasheshi ngokwanele ku-slot/memory/ system.

7.3 Izibali Zenethiwekhi
Hlola i-netstat -s ngaphambi/ngemuva kokuqalisa umsebenzi.
I-Netstat iqoqa ulwazi lwenethiwekhi kusuka kuwo wonke amadivayisi wenethiwekhi ohlelweni. Ngakho-ke, imiphumela ingase ithinteke kusukela kumanethiwekhi ngaphandle kwenethiwekhi ehlolwayo. Okuphumayo okuvela ku-netstat -s kungaba inkomba enhle yezinkinga zokusebenza kusistimu yokusebenza ye-Linux noma i-kernel. Bheka imihlahlandlela yokushuna yesistimu yokusebenza, njenge-Red Hat Enterprise Linux Network Performance Tuning Guide, ukuze uthole ulwazi olwengeziwe mayelana nokushuna kwesistimu yokusebenza evamile.
7.4 Izingodo Zesistimu
Hlola amalogi esistimu ukuze uthole amaphutha nezixwayiso (/var/log/messages, dmesg).
7.5 Ithuluzi le-Intel svr-info
I-Intel inikeza ithuluzi le-svr-info (bona https://github.com/intel/svr-info) ye-Linux ethwebula ihadiwe nemininingwane yesofthiwe kuseva. Okuphumayo kwe-svr-info kungaba usizo kakhulu ukuhlonza izingqinamba zesistimu noma izilungiselelo/ukuhlelwa okungalungiselelwanga umthwalo womsebenzi. Lapho uvula ikesi lokusekela nge-Intel ngezinkinga zokusebenza ezihlobene ne-Ethernet, qiniseka ukuthi uhlanganisa ukuphuma kwe-svr-info (umbhalo file) kuseva ye-Linux ngayinye ekucushweni kokuhlola.

  1. Landa futhi ufake i-svr-info:
    wget -qO- https://github.com/intel/svr-info/releases/latest/download/svrinfo.tgz| i-tar xvz cd svr-info
    ./svr-info
    > igama lomethuleli.txt
  2. Qoqa okukhiphayo:
    ./svr-info > hostname.txt
  3. Namathisela umbhalo owodwa (.txt) file kuseva ngayinye kukesi lakho lokusekela le-Intel ukuze lihlaziywe.

Izincomo Zezimo Zokusebenza Ezivamile

8.1 IP Ukudlulisa

  • Buyekeza i-kernel.
    Ezinye izikhwebu zakamuva ze-in-distro zonakalisa ukusebenza komzila ngenxa yezinguquko ze-kernel kukhodi yomzila eziqala ngokukhishwa kwe-cache yomzila ngenxa yokuphepha. Ama-kernel akamuva angaphandle kwe-distro kufanele abe namapeshi adambisa umthelela wokusebenza walezi zinguquko futhi angase anikeze ukusebenza okuthuthukisiwe.
  • Khubaza i-hyper-threading (ama-logic cores).
  • Hlela amapharamitha e-kernel boot.
    - Phoqa i-iommu (intel_iommu=off noma iommu=off) emugqeni wokuqalisa we-kernel ngaphandle uma kudingekile ukuze kwenziwe izinto ezibonakalayo
    - Vala ukuphathwa kwamandla: processor.max_cstates=1 idle=poll pcie_aspm=off
  • Khawulela inani lolayini ukuze lilingane nenani lama-cores esokhethi yasendaweni (12 kule ex.ample). i-ethtool -L ethX ihlangene 12
  • Iphinikhodi iphazamisa isokhethi yasendaweni kuphela. set_irq_affinity -X local ethX NOMA set_irq_affinity -X local ethX
    QAPHELA
    -X noma -x ingasetshenziswa kuye ngomthwalo womsebenzi.
  • Shintsha osayizi bendandatho ye-Tx ne-Rx njengoba kudingeka. Inani elikhulu lithatha izinsiza eziningi kodwa linganikeza amanani okudlulisela angcono. i-ethtool -G ethX rx 4096 tx 4096
  • Khubaza i-GRO uma uzulazula.
    Ngenxa yenkinga ye-kernel eyaziwayo, i-GRO kufanele ivalwe lapho umzila/udlulisela phambili. ethtool -K ethX gro off lapho i-ethX iyisixhumi esibonakalayo se-Ethernet okufanele silungiswe.
  • Khubaza ukumodareyitha kokuphazamiseka futhi usethe inani elimile. ethtool -C ethX adaptive-rx off adaptive-tx off ethtool -C ethX rx-usecs 64 tx-usecs 64

QAPHELA
Ngokuya ngohlobo lwephrosesa nomthwalo wokusebenza, amapharamitha wokuhlanganisa we-RX ne-TX angalungiselelwa ukusebenza okuthuthukisiwe (noma ukulahleka kozimele okuncane).

  • Khubaza i-firewall. I-sudo systemctl khubaza i-firewalld sudo systemctl stop firewalld
  • Nika amandla ukudluliselwa kwe-IP. sysctl -w net.ipv4.ip_forward=1
  • Lungiselela amanani aphezulu osayizi bebhafa yesokhethi futhi uthumele. sysctl -w net.core.rmem_max=16777216 sysctl -w net.core.wmem_max=16777216

QAPHELA
Ngokuya ngomthwalo womsebenzi noma imfuneko, lawa manani angashintshwa asuke kokumisiwe.
8.2 Ukubambezeleka okuphansi

  • Vala i-hyper-threading (i-logical cores).
  • Qinisekisa ukuthi idivayisi yenethiwekhi isendaweni ku-numma core 0.
  • Phina ibhentshimakhi ku-core 0 usebenzisa isethi yomsebenzi -c 0.
  • Vala i-irqbalance usebenzisa i-systemctl stop irqbalance noma i-systemctl khubaza i-irqbalance
  • Qalisa iskripthi se-affinity ukuze usakaze kuwo wonke ama-cores. Zama okwasendaweni noma konke.
  • Vala ukulinganisela kokuphazamisa. ethtool -C ethX rx-usecs 0 tx-usecs 0 adaptive-rx off adaptive-tx off rxusecs- high 0
  • Khawulela inani lolayini ukuze lilingane nenani lama-cores esokhethi yasendaweni (32 kule example). i-ethtool -L ethX ihlangene 32
  • Iphinikhodi iphazamisa isokhethi lendawo kuphela (iskripthi sipakishwe ngomthombo womshayeli we-i40e). set_irq_affinity -X yendawo ethX
  • Sebenzisa ibhentshimakhi esunguliwe njenge-netperf -t TCP_RR, netperf -t UDP_RR, noma i-NetPipe. netperf -t TCP_RR noma netperf -t UDP_RR
  • Phina ibhentshimakhi kungqikithi eyodwa endaweni ye-NUMA yendawo. isethi yomsebenzi -c

I-Intel ® Ethernet 700 Series
I-Linux Performance Tuning Guide
Disemba 2024
Udokotela. Inombolo yepholisi: 334019, Rev.: 1.2

Amadokhumenti / Izinsiza

I-Intel Ethernet 700 Series Linux Performance Tuning [pdf] Umhlahlandlela Womsebenzisi
334019, Ethernet 700 Series Linux Performance Tuning, Ethernet 700 Series, Linux Performance Tuning, Performance Tuning, Tuning

Izithenjwa

Shiya amazwana

Ikheli lakho le-imeyili ngeke lishicilelwe. Izinkambu ezidingekayo zimakiwe *