Intel LogoIntel® Ethernet 700 Series
Ntuziaka Ntugharị arụmọrụ Linux
Otu NEX Cloud Networking Group (NCNG)
Mkpu 1.2
Disemba 2024

Akụkọ ngbanwe

Ndozigharị Ụbọchị Okwu
1.2 Disemba 2024 · agbakwunyere ntuziaka njikwa ike ike.
agbakwunyere Intel * Turbo Boost.
Ihe ndabere ngwaọrụ netwọk agbakwunyere.
· Nhazi na ntugharị agbakwunyere Platform agbakwunyere.
· Agbakwunyere 4th Generation Intel*% eon* Scalable Processors.
agbakwunyere AMD EPYC.
Enwere ike ịlele ngwaike sistemụ.
· Emelitere iPerf2.
· Emelitere iPerf3.
Queues Tx/Rx emelitere.
· Mmebi nkwụsịtụ emelitere.
Nha mgbanaka emelitere.
· Ntụgharị Platform emelitere (i40e na-abụghị nke akọwapụtara).
· Ntọala BIOS emelitere.
· Njikwa C-State emelitere.
· Ịtụle ugboro ugboro CPU emelitere.
Ntọala Ngwa emelitere.
Sistemụ arụmọrụ/Ntọala kernel emelitere.
· Mbugharị IP emelitere.
· Emelitere obere Latency.
Ọgọst 2023 Mgbanwe na akwụkwọ a gụnyere:
Ihe ntụnyere agbakwunyere.
gbakwunyere hụ na ngwugwu DDP na-ebu nke ọma.
gbakwunyere iPerf2.
gbakwunyere iPerf3.
Netperf agbakwunyere.
· Mmekọrịta IRQ emelitere.
gbakwunyere Tx/Rx Queues.
Nha mgbanaka emelitere.
gbakwunyere Frames Jumbo.
Ihe nkwụnye nkwụnye agbakwunyere.
Ngwá ọrụ Intel svr-info agbakwunyere.
1.0 Maachị 2016 Mwepụta mbụ (Intel Ọha).

Okwu mmalite

Ezubere ntuziaka a iji nye ntụzịaka maka imegharị gburugburu maka ịrụ ọrụ netwọk kacha mma site na iji Intel ® Ethernet 700 Series NICs na gburugburu Linux. Ọ na-elekwasị anya na ngwaike, ọkwọ ụgbọ ala na ọnọdụ sistemụ arụmọrụ nwere ike imeziwanye arụmọrụ netwọkụ. Ekwesiri iburu n'uche na arụmọrụ netwọk nwere ike imetụta ọnụọgụ ọ bụla nke mmetụta ndị dị n'èzí, ọ bụ naanị ihe ndị a na-ahụkarị na nke dị egwu na-ekpuchi na ntuziaka a.
1.1 Ntụaka emetụtara

Ndepụta nlele mbụ

2.1 Mmelite ụdị ọkwọ ụgbọ ala/ Firmware
Lelee ụdị ọkwọ ụgbọala/firmware site na iji ethtool -i ethx.
Melite ihe ndị a ka achọrọ:

2.2 Gụọ README
Lelee maka okwu amaara wee nweta ntuziaka nhazi kachasị ọhụrụ site na README file gụnyere na ngwugwu isi iyi i40e.
2.3 Lelee na oghere PCI Express (PCIe) gị bụ x8
A na-ahazi ụfọdụ oghere PCIe x8 dị ka oghere x4. Oghere ndị a enweghị bandwit ezughi oke maka ọnụọgụ ahịrị zuru oke yana ọdụ ụgbọ mmiri abụọ na ngwaọrụ ọdụ ụgbọ mmiri quad. Na mgbakwunye, ọ bụrụ na itinye ihe nkwụnye PCIe v3.0 nwere ike n'ime oghere PCIe v2.x, ị nweghị ike nweta bandwidth zuru oke. Onye ọkwọ ụgbọ ala akụrụngwa na-achọpụta ọnọdụ a wee dee ozi na-esote na ndekọ sistemụ:
bandwidth PCI-Express dị maka kaadị a ezughị oke maka ịrụ ọrụ kacha mma. Maka ịrụ ọrụ kacha mma achọrọ oghere x8 PCI-Express.
Ọ bụrụ na njehie a emee, bugharịa ihe nkwụnye gị gaa na ezigbo PCIe v3.0 x8 oghere iji dozie esemokwu ahụ.
2.4 Lelee ikike ngwaike Sistemu
Na 10 Gbps, 25 Gbps, na 40 Gbps Ethernet, enwere ụfọdụ CPU kacha nta na sistemụ chọrọ. N'ozuzu, ihe nhazi klas nkesa ọgbara ọhụrụ na nhazi ebe nchekwa kachasị mma maka ikpo okwu gị kwesịrị ezuru, mana mkpa dị iche iche dabere na ọrụ gị. Ekwesịrị ịjupụta ọwa ebe nchekwa niile yana ọnọdụ arụmọrụ ebe nchekwa kwesịrị ịgbanye na BIOS. Nyochaa na nhazi CPU na ebe nchekwa gị nwere ike ịkwado ọkwa arụmọrụ netwọkụ ịchọrọ maka ibu ọrụ gị.
IHE
XL710 bụ onye njikwa 40 GbE. Ihe nkwụnye 2 x 40 GbE na-eji njikwa a abụghị 2 x 40 GbE kama ọ bụ 1 x 40 GbE nwere ọdụ ụgbọ mmiri na-arụ ọrụ. Mgbe ị na-agbalị iji okporo ụzọ ahịrị na-agụnye ọdụ ụgbọ mmiri abụọ ahụ, mgba ọkụ dị n'ime juru eju yana bandwit jikọtara n'etiti ọdụ ụgbọ mmiri abụọ a na-ejedebe na mkpokọta SO Gbps.
2.4.1 kernel Boot Parameters
Ọ bụrụ na enyere Intel® Virtualization Technology for Directed I/O (Intel® VT-d) na BIOS, Intel na-atụ aro ka IOMMU nọrọ na ọnọdụ ngafe maka ịrụ ọrụ netwọkụ nnabata kacha mma. Nke a na-ewepụ DMA n'elu na okporo ụzọ ndị ọbịa ma na-enye igwe Virtual (VMs) ka ọ nweta uru nke Intel® VT-d. A na-eme nke a site n'ịgbakwunye ahịrị na-esonụ na kernel boot parameters: fommu-pt.
2.5 Gbaa mbọ hụ na ngwugwu DDP na-ebu nke ọma
Ndị ọkwọ ụgbọ ala 140ea na 140eb enweghị nkwado ozugbo maka nhazi ngwaọrụ pụrụ iche (DDP). Iji DDP nwere ngwaọrụ 700 Series, DDP profile enwere ike itinye ya na ngwa testpmd.
Maka nkọwa na DDP profiles, na otu esi etinye DDP profile na testpmd na 700 Series ngwaọrụ, rụtụ aka na Intel® Ethernet 700 Series Dynamic Device Personalization (DDP) Ntuziaka teknụzụ.
Iji nyochaa ma ọ bụrụ DDP profile ebugoro nke ọma:
testpmd> ddp nweta ndepụta 0 Profile nọmba bụ: 1
IHE
Ọ bụrụ na profile ọnụọgụgụ bụ 0, ọ nweghị ngwugwu DDP a na-ebu. N'ọnọdụ nke njehie ibu ngwugwu DDP, ngwaọrụ ahụ na-adaba na ọnọdụ nchekwa yana ọtụtụ njirimara arụmọrụ adịghị. Ọ bụrụ na enwere mmejọ metụtara nbudata ngwugwu DDP, ọ ga-ebute nsogbu arụmọrụ. Maka usoro nchọpụta nsogbu, rụtụ aka na ntuziaka teknụzụ Inte/* Ethernet 700 Series Dynamic Device Personalization (DDP).

Ntụle arụmọrụ na usoro ngbanwe

3.1 Ngosipụta arụmọrụ netwọkụ
Tupu ịmalite mmega ahụ n'iji ya gee ntị, ọ dị mkpa ịnwe nleba anya nke ọma maka ịrụ ọrụ netwọk gị. Ọtụtụ mgbe na mgbakwunye na ịnweta nleta mbụ nke arụmọrụ ngwa / ibu ọrụ gị, ọ dị mma ijikwa akara ngosi arụmọrụ netwọkụ ọkọlọtọ iji chọpụta na ngwaọrụ netwọk gị nọ n'ọnọdụ dị mma.
Maka njikarịcha otu sistemụ, netperf ma ọ bụ iperf na NetPIPE bụ ngwa ọrụ mepere emepe siri ike nke na-enyere gị aka imesi njikọ ma chọpụta nsogbu arụmọrụ.
Netperf siri ike maka ma ntinye aka na ule latency. NetPIPE bụ ngwa ọrụ akọwapụtara nke ọma mana enwere ike chịkọta ya maka ụdị gburugburu ebe ọ bụla.
IHE
Nnwale TCP_RR dị na netperf na-eweghachite latency na uru azụmahịa/sk. Nke a bụ nọmba njem okirikiri. Enwere ike gbakọọ latency otu ụzọ site na iji nhata ndị a:
Latency(usec) = (1⁄2) / [Mmekọrịta / sk] * 1,000,000
3.1.1 iPerf2
Intel na-akwado iperf2 n'elu iperf3 maka ọtụtụ ọnọdụ benchmarking n'ihi ịdị mfe nke ojiji na nkwado nke ọtụtụ eri n'otu ihe atụ ngwa. Intel na-akwado iji nhọrọ -P na eriri 2-4 maka njikọ 25G yana gburugburu eriri 4-6 maka njikọ 40G.

  • Iji mee okporo ụzọ uni-directional site na onye ahịa gaa na nkesa: Iwu nkesa example: iperf2 -s
    Iwu ndị ahịa example: iperf2 -c -P
  • Iji mee okporo ụzọ bi-directional site n'aka onye ahịa gaa na nkesa (na nke ọzọ): Iwu nkesa example: iperf2 –s –p
    Iwu ndị ahịa exampLe:
    iperf2 -c -p -P --duplex ma ọ bụ
    iperf2 -c -p -P –d

IHE
Ma nhọrọ -ful-duplex na -d dị na iperf2 na-enye onye ọrụ ohere ịme ule bidirectional. Agbanyeghị, -nhọrọ duplex zuru oke na-elekwasị anya na nnwale duplex zuru oke.
IHE
Mgbe ị na-anwale iperf2 n'ofe ọtụtụ ọdụ ụgbọ mmiri, a ga-agbakwunye ọkọlọtọ -d na iwu nkesa ka ọ na-agba ọsọ oge niile n'azụ site na otu windo ọnụ. Enwere ike iji ọkọlọtọ -d mgbe agbakwunyere iwu nkesa n'ime maka-loop na edemede.
IHE
Mgbe ị na-eji otu iyi/eriri na-agba ule ntinye netwọkụ (dịkaample: P1), ndị na-emepụta AMD nwere ike ọ gaghị enye mmepụta ihe a na-atụ anya ya, karịsịa bandwit NICs (ọ bụrụ na ọsọ bụ> = 25G bandwit). N'ihi ya, a chọrọ itinye ngwa na cores kpọmkwem iji nweta mmepụta dị elu. Hụ Ntọala ngwa na ibe 22.
3.1.2 iPerf3
Ọ bụrụ na ejiri iperf3 mee ihe, achọrọ ọtụtụ oge nke ngwa ahụ iji were advantage nke ọtụtụ eriri, RSS na ahịrị ngwaike. Intel na-akwado iji oge 2-4 ngwa maka njikọ 25G na gburugburu 4-6 sessions maka njikọ 40G. Oge ọ bụla kwesịrị ịkọwa uru ọdụ ụgbọ mmiri TCP pụrụ iche site na iji nhọrọ -p.

  • Iji mee okporo ụzọ uni-directional site na onye ahịa gaa na nkesa:
    Iwu nkesa exampLe:
    iperf3 -s -p
    Iwu ndị ahịa exampLe:
    iperf3 -c -p
  • Iji mee okporo ụzọ bi-directional site na onye ahịa gaa na nkesa (na ọzọ):
    Iwu nkesa exampLe:
    iperf3 –s –p
    Iwu ndị ahịa example: iperf3 -c -p -P --bidir
  • Iji malite ọtụtụ ihe atụ (eriri) nke iperf3, ndụmọdụ bụ iji maka-loop iji maapụ eri gaa na ọdụ ụgbọ mmiri TCP wee mee iperf3 n'azụ site na iji & mepụta ọtụtụ usoro n'otu aka ahụ.
    Iwu nkesa example, malite 4 eri: ọdụ ụgbọ mmiri ="; maka m na {0..3}; ime ọdụ ụgbọ mmiri=520$i; bash -c "iperf3 -s -p $ ọdụ ụgbọ mmiri &"; emee; Iwu ndị ahịa example, malite 4 eri - Nyefee ọdụ ụgbọ mmiri =""; maka m na {0..3}; ime ọdụ ụgbọ mmiri=520$i; bash -c "iperf3 -c $ serverIP -p $ ọdụ ụgbọ mmiri &"; emee; Iwu ndị ahịa example, malite 4 eri - Anata ọdụ ụgbọ mmiri =""; maka m na {0..3}; ime ọdụ ụgbọ mmiri=520$i; bash -c "iperf3 -R -c $ serverIP -p $ ọdụ ụgbọ mmiri &"; emee; Maka njikọ 40G, bulie maka-loop ka imepụta ihe ruru 6 okwu/eriri.

IHE
Mgbe ị na-eji otu iyi/eriri na-agba ule ntinye netwọkụ (dịkaample: P1), Ndị na-arụ ọrụ AMD nwere ike ọ gaghị enye mmepụta ihe a na-atụ anya ya, karịsịa bandwit dị elu
NICs (ma ọ bụrụ na ọsọ bụ>= bandwit 25G). N'ihi ya, a chọrọ itinye ngwa na cores kpọmkwem iji nweta mmepụta dị elu. Hụ Ntọala Ngwa na ibe 22 yana AMD EPYC na ibe 26.
3.1.3 netwọkụ
Ngwá ọrụ netperf bụ nhọrọ siri ike maka ma ntinye aka na ule latency.

  • Nnwale TCP_STREAM dị na netperf na-atụle ike nrụpụta ngwaọrụ. Iwu nkesa example: netserver Client iwu example: netperf -t TCP_STREAM -l 30 -H
  • Nnwale TCP_RR dị na netperf na-eweghachite latency na uru azụmahịa/nkeji abụọ. Nke a bụ nọmba njem okirikiri. A na-atụ aro ka iji nhọrọ -T x,x, were x bụ mpaghara CPU na ngwaọrụ ahụ. Enwere ike gbakọọ latency otu ụzọ site na iji: Latency(usec)=(1⁄2)/ [Transactions/sec]*1,000,\ Server Command ex.ample: netwọk
    Iwu ndị ahịa example: netperf -t TCP_RR -l 30 -H -T x, x
  • Iji malite ọtụtụ oge (eriri) nke netperf, ndụmọdụ bụ iji maka-loop iji maapụ eri na ọdụ ụgbọ mmiri TCP wee mee netperf n'azụ site na iji & mepụta ọtụtụ usoro n'otu oge.
    Iwu nkesa example, malite eriri 8:
    ọdụ ụgbọ mmiri ="; maka m na {0..7}; ime ọdụ ụgbọ mmiri=520$i; bash -c "netserver -L $ serverIP -p $ ọdụ ụgbọ mmiri &"; emee;
    Iwu ndị ahịa example, malite eriri 8: ọdụ ụgbọ mmiri ="; maka m na {0..7}; ime ọdụ ụgbọ mmiri=520$i; bash -c "netperf -H $ serverIP -p $ ọdụ ụgbọ mmiri -t TCP_STREAM -l 30 &"; emee;

3.2 Usoro ngbanwe
Lekwasị anya n'otu mgbanwe ngbanwe n'otu oge ka ị mara mmetụta mgbanwe ọ bụla na-eme na ule gị. Ka usoro ị na-eme n'usoro ntuzigharị, ka ọ ga-adị mfe ịchọpụta na dozie ihe kpatara nkwụsị ọrụ.

Tuning i40e Driver Settings

4.1 Mmekọrịta IRQ
Ịhazi mmekọrịta IRQ ka nkwụsịtụ maka ahịrị netwọk dị iche iche na-ejikọta na cores CPU dị iche iche nwere ike inwe mmetụta dị ukwuu na arụmọrụ, karịsịa ule ntinye multithread.
Iji hazie mmekọ IRQ, kwụsị irqbalance wee were edemede set_irq_affinity sitere na ngwugwu isi iyi i40e ma ọ bụ jiri aka tinye kwụ n'ahịrị. Gbanyụọ onye ọrụ-ohere IRQ itule ka ọ mee ka pinye kwụ n'ahịrị:

  • systemctl gbanyụọ irqbalance
  • systemctl kwụsị irqbalance
    Iji edemede set_irq_affinity sitere na ngwugwu isi iyi i40e (akwadoro):
  • Iji jiri cores niile:
    [ụzọ-to-i40epackage]/scripts/set_irq_affinity -X niile ethX
  • Iji naanị cores na oghere NUMA mpaghara: [ụzọ-to-i40epackage]/scripts/set_irq_affinity -X local ethX
  • Ị nwekwara ike họrọ oke nke cores. Zere iji cpu0 n'ihi na ọ na-arụ ọrụ ngụ oge. [ụzọ-to-i40epackage]/scripts/set_irq_affinity 1-2 ethX

IHE
Edemede mmekọ ahụ na-enyere aka Transmit Packet Steering (XPS) dịka akụkụ nke usoro pinning mgbe akọwapụtara nhọrọ -x. Mgbe enyere XPS aka, Intel na-atụ aro ka ị gbanyụọ irqbalance, n'ihi na kernel balancer na XPS nwere ike ibute arụmọrụ enweghị atụ. Edemede mmekọ ahụ na-ewepụ XPS mgbe akọwapụtara nhọrọ -X. Ịkwụsị XPS na ịkwado ahịrị symmetrical bara uru maka ibu ọrụ ebe a na-arụ ọrụ kacha mma mgbe a na-arụ ọrụ Tx na Rx n'otu ụzọ kwụ n'ahịrị.
Ịhazi kwụ n'ahịrị symmetric na Linux gụnyere ịmegharị paramita ọkwọ ụgbọ ala netwọkụ iji mee ka akara nnata symmetric (Rx) na ahịrị nnyefe symmetric (Tx) maka nkwụnye netwọkụ akwadoro.
IHE

  • Ahịrị ndị Symmetric bụ njirimara ịkparịta ụka n'igwe dị elu, ọ bụghịkwa ihe nkwụnye netwọkụ usoro 700 ma ọ bụ ndị ọkwọ ụgbọ ala na-akwado ha.
  • Gbaa mbọ hụ na ị nwere nkwado ọkwọ ụgbọ ala na ngwaike dị mkpa tupu ị nwaa ịhazi ahịrị symmetric.

Iji hazie ahịrị symmetric, soro usoro izugbe ndị a:

  1. Dezie nhazi ihu netwọkụ File: Jiri editọ ederede (maka example, vi, nano, ma ọ bụ gedit) iji dezie nhazi ihu netwọkụ file. Nke file dị n'okpuru /etc/sysconfig/network-scripts/ directory ma nwee aha dị ka ifcfg-ethX, ebe ethX bụ aha netwọk netwọk gị.
  2. Tinye Symmetric Queue Parameters. Tinye ahịrị ndị a na nhazi interface netwọk file: ETHTOOL_OPTS=”rx-queues 8 tx-queues 8″
  3. Malitegharịa ọrụ netwọk.
    Mgbe ịmechara mgbanwe ndị ahụ, malitegharịa ọrụ netwọk ka itinye nhazi ọhụrụ ahụ. sudo systemctl malitegharịa netwọkụ

Iji aka:

  • Chọta ndị nhazi agbakwunyere na ọnụ ọ bụla site na iji: nuactl -hardware lscpu
  • Chọta ihe mkpuchi bit maka onye nrụpụta nke ọ bụla:
  • Na-eche na cores 0-11 maka ọnụ 0: [1,2,4,8,10,20,40,80,100,200,400,800]
  • Chọta IRQ ndị e kenyere n'ọdụ ụgbọ mmiri a na-ekenye: grep ethX /proc/interrupts wee rịba ama ụkpụrụ IRQ maka ex.ample, 181-192 maka vector iri na abụọ eburu.
  • Kpebie uru mmekọrịta SMP n'ime ntinye IRQ kwekọrọ. Rịba ama na ekwesịrị ime nke a maka ntinye IRQ ọ bụla: echo 1> /proc/irq/181/smp_affinity echo 2> /proc/irq/182/smp_affinity echo 4> /proc/irq/183/smp_affinity Show IRQ affinity:
  • Iji gosi njikọ IRQ maka cores niile: /scripts/set_irq_affinity -s ethX
  • Ka igosi naanị cores na oghere NUMA mpaghara: /scripts/set_irq_affinity -s local ethX
  • Ị nwekwara ike họrọ oke nke cores: /scripts/set_irq_affinity -s 40-0-8,16 ethX

IHE
Edemede set_irq_affinity na-akwado ọkọlọtọ -s na ụdị ọkwọ ụgbọ ala i40e 2.16.11 na emesia.
4.2 Tx/Rx kwụ n'ahịrị
Ọnụ ọgụgụ ndabara nke kwụ n'ahịrị enyere maka ọdụ ụgbọ mmiri Ethernet nke ọ bụla site n'aka onye ọkwọ ụgbọ ala na mmalite ha nhata ngụkọta ọnụọgụ CPU dị na ikpo okwu. Nke a na-arụ ọrụ nke ọma maka ọtụtụ nyiwe na nhazi ọrụ ọrụ. Agbanyeghị, na nyiwe nwere ọnụ ọgụgụ isi dị elu yana / ma ọ bụ njupụta ọdụ ụgbọ mmiri Ethernet dị elu, nhazi a nwere ike ibute esemokwu akụrụngwa. Ya mere, ọ nwere ike ịdị mkpa n'ọnọdụ ụfọdụ iji gbanwee ndabara maka ọdụ ụgbọ mmiri ọ bụla na sistemụ.
Nọmba ndabara nke kwụ n'ahịrị Tx/Rx nwere ike ịdịgasị iche dabere na ụdịdị na ụdị ọkwọ ụgbọ ala. Enwere ike ịhazi ọnụọgụ nke kwụ n'ahịrị site na iji iwu ethtool -L edepụtara n'okpuru.
IHE
N'okwu ndị a, Intel na-atụ aro ka ị belata ọnụ ọgụgụ ndabara maka ọdụ ụgbọ mmiri ọ bụla karịa ọnụ ọgụgụ CPU dị na mpaghara NUMA node na ọdụ ụgbọ mmiri. N'ọnọdụ ụfọdụ, mgbe ị na-agbalị ịhazi akụrụngwa na mmejuputa ọnụ ọgụgụ ọdụ ụgbọ mmiri dị elu, ọ nwere ike ịdị mkpa ibelata ọnụ ọgụgụ a ọbụna n'ihu.
Ka ịgbanwee nhazi kwụ n'ahịrị:
Ndị na-esonụ example na-edozi ọdụ ụgbọ mmiri na 32 Tx/Rx kwụ n'ahịrị: ethtool -L ethX jikọtara 32
Exampmmepụta ihe:
ethtool - ethX
Parampat ọwa maka ethX: ebuteburu ụzọ kacha:
RX: 96
TX: 96
Ndị ọzọ: 1
Ejikọtara: 96
Ntọala ngwaike dị ugbu a:
RX: 0
TX: 0
Ndị ọzọ: 1
Ejikọtara: 32
4.3 nkwụsịtụ imezi ihe
Mgbanwe nkwụsịtụ na-agbanwe agbanwe bụ na ndabara, ma emebere ya iji nye ụzọ ziri ezi n'etiti iji CPU dị ala na arụmọrụ dị elu. Agbanyeghị, ị nwere ike ịnwa iji aka na-emegharị ntọala nkwụsịtụ ka ọ dabara n'ọnọdụ ojiji gị.
Oghere nke 0-235 microseconds na-enye ezigbo nkwụsị nke 4,310 ruo 250,000 kwa nkeji. Enwere ike ịtọ uru nke rx-μsecs-high na-adabereghị na rx-μsecs na tx-μsecs n'otu iwu ethtool, ma na-adaberekwa na ngbanwe nkwụsịtụ moderation algorithm. Ngwaike dị n'okpuru na-akwado granularity n'ime nkeji nkeji nkeji abụọ, yabụ ụkpụrụ ndị dị n'akụkụ nwere ike ibute otu ọnụego nkwụsịtụ.

  • Ka gbanyụọ nkwụsị nkwụsịtụ ngbanwe: ethtool -C ethX adaptive-rx off adaptive-tx off
  • Ka ịgbanwuo ngbanwe nkwụsịtụ mgbanwe: ethtool -C ethX adaptive-rx na adaptive-tx na

Ebe dị mma ịmalite maka nlegharị anya n'ozuzu bụ 84 μs, ma ọ bụ ~ 12000 nkwụsị/s. Ọ bụrụ n'ịhụ ka rx_dropped counters na-agba ọsọ n'oge okporo ụzọ (iji ethtool -S ethX) mgbe ahụ ị nwere ike ịnwe CPU ngwa ngwa, ezughị oke nchekwa site na nha mgbanaka nkwụnye (ethtool -G) iji jide ngwugwu maka 84 μs ma ọ bụ belata ọnụego nkwụsịtụ.

  • Iji tọọ ngbanwe nkwụsịtụ na ọnụego nkwụsịtụ nke 84 μs n'etiti nkwụsịtụ (12000 nkwụsị / s): ethtool -C ethX adaptive-rx off adaptive-tx off rx-usecs 84 tx-usecs 84 Uru ọzọ ị ga-anwale, ma ọ bụrụ na ị naghị abawanye na iji CPU, bụ 62 μs. Nke a na-eji CPU karịa, mana ọ na-ebufe ngwa ngwa, ma na-achọ nkọwa nkọwa ole na ole (nha mgbanaka, ethtool -G).
  • Ka ịtọọ ọnọdụ nkwubi ka ọ bụrụ ọnụego nkwụsịtụ kwụsịrị nke 62 usecs n'etiti nkwụsịtụ (16000 nkwụsị/s). ethtool -C ethX adaptive-rx gbanyụọ adaptive-tx gbanyụọ rx-usecs 62 tx-usecs 62
    Ọ bụrụ na ọnụ ọgụgụ rx_dropped na-abawanye n'oge okporo ụzọ (iji ethtool -S ethX), ị nwere ike ịnwe CPU ngwa ngwa, ezughị oke nchekwa site na nha mgbanaka nkwụnye (ethtool -G), ma ọ bụ obere nkwụsịtụ. Ọ bụrụ na ị nwetaghị oke na iji CPU, ị nwere ike ịbawanye ọnụego nkwụsịtụ site na iwetuta uru ITR. Nke a na-eji CPU karịa, mana ọrụ na-ebufe ngwa ngwa, ma chọọ nkọwa nkọwa ole na ole (nha mgbanaka, ethtool -G).
    Ọ bụrụ na CPU gị nọ na 100%, a naghị atụ aro ịbawanye ọnụego nkwụsịtụ. N'ọnọdụ ụfọdụ dị ka ibu ọrụ na-ejikọta CPU, ị nwere ike ịbawanye uru μs iji mee ka oge CPU dịkwuo maka ngwa ndị ọzọ.
    Ọ bụrụ na ịchọrọ ịrụ ọrụ latency dị ala na / ma ọ bụ nwee ọtụtụ CPU iji tinye aka na nhazi netwọkụ, ị nwere ike gbanyụọ nkwụsịtụ kpamkpam, nke na-enyere nkwụsịtụ aka ịgba ọkụ ngwa ngwa o kwere mee.
  • Iji gbanyụọ nkwụsịtụ moderation ethtool -C ethX adaptive-rx off adaptive-tx off rx-usecs 0 tx-usecs 0

IHE
Mgbe ị na-agba ọsọ na nkwụsị nkwụsịtụ, ọnụego nkwụsịtụ na kwụ n'ahịrị ọ bụla nwere ike ịdị elu. Tụlee ịgụnye paramita rx-usec-high iji tọọ oke oke na ọnụego nkwụsịtụ. Iwu na-esote na-ewepụ ngbanwe nkwụsịtụ ngbanwe ma na-enye ohere kacha nke 5 microsecond tupu egosi na nnata ma ọ bụ mbufe agwụla. Kama ịkpata nkwụsị ihe ruru 200,000 kwa sekọnd, ọ na-amachi nkwụsịtụ nkwụsị kwa nkeji ruo 50,000 site na paramita rx-usec-high. # ethtool -C ethX adaptive-rx off adaptive-tx off rx-usecs-high 20 rx-usecs 5 txusecs 5 Gbalịa gbanwee transmit/nata/na-ebute ụzọ coalescing ngụ oge dị elu (80/100/150/200) ma ọ bụ dị ala (25/20) iji chọta ọrụ opt.
4.4 Nha mgbanaka
Ọ bụrụ na ị na-ahụ rx_dropped counters na ethtool -S ethX (rx_dropped, rx_dropped.nic), ma ọ bụ chere na nrụgide cache nwere ọtụtụ ahịrị kwụ n'ahịrị na-arụ ọrụ, ị nwere ike ịnwale ịhazi nha mgbanaka site na uru ndabara. Uru ndabara bụ 512, max bụ 4096.

  • Ka ịlele ụkpụrụ dị ugbu a: ethtool -g ethX
    Ọ bụrụ na a na-enyo enyo na enweghị nchekwa na-ebute ọdịda na ọnụego nkwụsịtụ ugbu a, ị nwere ike ịnwale nke kachasị na mbụ, emesia nke kacha nta, wee gaa n'ihu na nchọ ọnụọgụ abụọ ruo mgbe ị ga-ahụ arụmọrụ kacha mma.
    Ọ bụrụ na a na-enyo nrụgide cache (ọtụtụ kwụ n'ahịrị na-arụ ọrụ) ibelata ihe nchekwa site na ndabara nwere ike inyere Intel ® Data Direct I/O (Intel DDIO) rụọ ọrụ nke ọma. Intel na-atụ aro ịnwale 128 ma ọ bụ 256 kwa kwụ n'ahịrị, ebe ịmara na mmụba nke nkwụsị nkwụsị site na ethtool -C nwere ike ịdị mkpa iji zere mmụba na rx_dropped.
  • Iji tọọ nha mgbanaka ka ọ bụrụ uru a kapịrị ọnụ: ethtool -G eth12 rx 256 tx 256

IHE
Iji dozie ngwungwu Rx nke achọtara na ethtool -S ethX|grep drop, tụlee ịbawanye nha mgbanaka ahụ na 4096. Nnwale ịchọta ntọala kachasị mma maka ọrụ ọrụ mana kpachara anya maka iji ebe nchekwa buru ibu na ụkpụrụ dị elu.
4.5 Njikwa usoro
Njikwa mgbaba Layer 2 nwere ike imetụta arụmọrụ TCP nke ukwuu ma na-atụ aro ka ọ bụrụ nkwarụ maka ọtụtụ ọrụ. Mwepu nwere ike ịbụ okporo ụzọ gbawara agbawa ebe mgbawa na-adịghị adịte aka.
Akwụsịghị njikwa usoro na ndabara.

  • Iji mee ka njikwa ọsọ ọsọ: ethtool -A ethX rx na tx on
  • Iji gbanyụọ njikwa eruba: ethtool -A ethX rx off tx off

IHE
Ị ga-enwerịrị onye mmekọ ga-enwe ike ijikwa usoro ịgba ọsọ iji mee ka njikwa mmiri dị nke ọma.
4.6 Jumbo Frames
Mgbe gburugburu okporo ụzọ a na-atụ anya ya nwere nnukwu ngọngọ nke data na-ebufe, ọ nwere ike ịba uru iji mee ka atụmatụ jumbo ahụ dị. A na-akwado nkwado Frames Jumbo site n'ịgbanwe Ngalaba Nnyefe Kachasị (MTU) ka ọ bụrụ uru kariri uru ndabara nke 1500. Nke a na-enye ngwaọrụ ahụ ohere ịnyefe data na ngwugwu buru ibu n'ime gburugburu netwọkụ. Ntọala a nwere ike melite mmepụta ma belata ojiji CPU maka nnukwu ọrụ I/O. Agbanyeghị, ọ nwere ike imetụta obere ngwugwu ma ọ bụ ibu ọrụ na-enwe mmetụta latency.
IHE
A ga-ahazirịrị okpokolo agba Jumbo ma ọ bụ ntọala MTU ka ukwuu n'ofe netwọkụ gị.
Jiri ifconfig iwu ka iwelie nha MTU. Maka example, tinye ndị a, ebe bụ nọmba interface: ifconfig ihe ruru 9000
N'aka nke ọzọ, ịnwere ike iji iwu ip dị ka ndị a: ip link set mtu 9000 dev ip njikọ melite dev

Ntugharị Platform (i40e na-abụghị nke akọwapụtara)

5.1 Ntọala BIOS

  • Kwado Intel® VT-d maka ibu ọrụ nke ọma.
  • Hyper-threading (ihe nhazi ezi uche) nwere ike imetụta arụmọrụ. Gbalịa ya ma ọ bụ gbanyụọ ya maka ibu ọrụ gị.
  • Intel® Turbo Boost na-enye ohere ka cores CPU rụọ ọrụ n'ogo dị elu karịa ugboro ugboro nke CPU. Ịkwalite Intel® Turbo Boost nwere ike imeziwanye arụmọrụ maka ọtụtụ ọrụ ọrụ mana ọ na-erikwu ike iji dobe cores na ugboro ole dị elu. Nnwale na Turbo Boost gbanyụọ / gbanyụọ maka ibu ọrụ gị.

IHE
A naghị ekwe nkwa ugboro Turbo ma ọ bụrụ na ikpo okwu na-enwe oke ojiji CPU n'ozuzu ya. A na-ebelata ugboro turbo isi dị elu ka ojiji CPU n'ozuzu na-abawanye.
5.2 Njikwa ike
Ijikwa ike nwere ike imetụta arụmọrụ, ọkachasị n'arụ ọrụ dị ala. Ọ bụrụ na arụmọrụ dị elu karịa iwetulata oriri ike, Intel na-atụ aro ka ị nwalee na ịmachi mmetụta nke njikwa ike. Enwere ọtụtụ ụzọ dị iche iche iji gbochie njikwa ike, site na ngwaọrụ sistemụ arụmọrụ, ntọala BIOS, na parampat boot kernel. Họrọ usoro na ọkwa kachasị mma iji kwado gburugburu gị.
5.2.1 C-State Control
Ịmachi ntinye steeti C na CO ma ọ bụ C1 na-eme ka arụ ọrụ dịkwuo mma ma na-abawanye ojiji ike.
Ịkwụsị ntinye steeti CPU ngwugwu C6 nwere ike melite arụmọrụ netwọk. Agbanyeghị, nke a na-abawanye ojiji ike.
Nhọrọ ndị a dị:

  • Jikwaa ntinye steeti C nke ọma:
    Mepee
    /dev/cpu_dma_latency wee dee oke latency kwere na ya.

IHE
Enwere obere mmemme a na-akpọ cpudmalatency.c nke enwere ike ibudata site na obodo mepere emepe, chịkọta ya, wee si na ahịrị iwu mee nke a.
Ndị na-esonụ example na-enye ohere μs ise nke oge edemede, ma si otú a na-enye ohere ntinye C1: cpudmalatency 5 &

  • Machie steeti C kachasị na ntọala buut kernel:
    Maka Intel CPUs: intel_idle.max_cstates=1
    Maka CPU ndị na-abụghị Intel: processor.max_cstates=1
  • Jiri cpupower iwu ịlele ma gbanyụọ CPU C6 steeti: Lelee: cpupower Monitor ma ọ bụ cpupower idle-info
    Gbanyụọ C6: cpupower enweghị ọrụ-set-d3 ma ọ bụ
    Gbanyụọ C-States: cpupower enweghị ọrụ-set-D0

ndetu:

  1. Gbanyụọ steeti C na CPU ma ọ bụrụ na ihe nkesa nwere Intel® 4th Gen Intel® Xeon® Scalable Processor(s). Mgbe enyere ma ọ bụ nwee nkwarụ Hyper Threading, gbanyụọ steeti na-adịghị arụ ọrụ (-D0) na-egbochi cores ịbanye na steeti ndị nwere obere ike n'oge oge ọrụ ma na-ebelata latency maka CPU ka ọ gbanwee n'etiti steeti ndị na-abaghị uru na ndị na-arụ ọrụ.
  2. Njikwa ike nke Intel® 4th Gen Intel® Xeon® Scalable Processor dị oke egwu. Iji zere cores ịbanye na steeti ndị nwere obere ike, gbalịa ibelata ọnụọgụ cores eji mee ka ha mụrụ anya ogologo oge (ethtool -L). jikọtara ). Ọzọkwa, kechie nkwụsịtụ na cores a kapịrị ọnụ site na iji njikọ irq setịpụrụ (ọtụtụ mgbe yana mpaghara -x ma ọ bụ ndepụta nke cores CPU), wee hụ na ibu ọrụ na-arụ n'otu cores ndị ahụ nwere taskset ma ọ bụ numactl. Nke a na-eme ka arụmọrụ dịkwuo mma site na idobe cores na-arụ ọrụ yana na-ebuli njikwa nkwụsịtụ.

Kwado C6:
cpupower arụghị ọrụ-set -d3
Kwado C-Stati:
cpupower enweghị ọrụ-set -E

  • Ụzọ ọzọ bụ iji ngwá ọrụ a na-ege ntị (gụnyere ọtụtụ nkesa Linux) iji tọọ pro arụmọrụfile. Ndị a profiles gbanwee ọtụtụ ntọala OS nwere ike imetụta arụmọrụ n'ofe ọtụtụ ngwa. Achọpụtara na netwọk-throughput profile na-enye nkwalite n'ọtụtụ ọrụ.
    Lelee:
    tuned-adm nọ n'ọrụ
    Tọọ:
    tuned-adm profile ntinye netwọk
    IHE
    Ọrụ elele ga-abụrịrị na-agba ọsọ maka iwu ndị dị n'elu. Ka ịlele/malitegharịa ekwentị, gee ntị: systemctl ọnọdụ na-ege ntị systemctl malitegharia nke ọma
    Ị nwekwara ike jụ ịbanye C-steeti ọ bụla site na ịgbakwunye ihe ndị a na ahịrị buut kernel:
    arụghị ọrụ = ntuli aka
  • Machie steeti C site na ntọala njikwa ike BIOS nke sistemụ, nke nwere ike ịnwe pro arụmọrụfile dị.
    Enwere ike iji ngwaọrụ dị ka turbostat ma ọ bụ x86_energy_perf_policy iji lelee ma ọ bụ tọọ ntọala njikwa ike.

5.2.2 PCIe ike njikwa
Njikwa ike steeti na-arụ ọrụ (ASPM) na-enyere steeti ike dị ala maka njikọ PCIe mgbe ha anaghị arụ ọrụ. Nke a nwere ike ibute latency dị elu na ngwaọrụ netwọọdụ PCIe, yabụ Intel na-atụ aro ka ị gbanyụọ ASPM maka ibu ọrụ nwere mmetụta latency. Gbanyụọ ASPM site na ịgbakwunye ihe ndị a na ahịrị buut kernel: pcie_aspm= gbanyụọ
5.2.3 CPU Ntụle ugboro
CPU ugboro scaling (ma ọ bụ CPU speed scaling) bụ usoro njikwa ike Linux nke a na-edozi ọsọ elekere sistemụ na ofufe iji chekwaa ike na okpomọkụ. Dịka steeti C, nke a nwere ike bute latency achọghị na njikọ netwọkụ.
Enwere ike iji ngwa cpupower iji lelee ma gbanwee ndabara arụmọrụ CPU yana oke:

  • Lelee: cpupower Monitor ma ọ bụ
  • Tọọ CPU na ọnọdụ arụmọrụ: cpupower ugboro-set-g arụmọrụ

IHE
Mgbanwe na oke ugboro ugboro CPU nwere ike imetụta ọtụtụ ibu ọrụ ma nwee ike gbanyụọ atụmatụ ndị ọzọ, dị ka ọnọdụ turbo CPU.
Iji gbanyụọ ntule ugboro ugboro CPU, gbanyụọ ọrụ ike CPU site na iwu ndị a:
systemctl kwụsị cpupower.service
systemctl gbanyụọ cpupower.service
5.2.4 Ntuziaka njikwa ike ọzọ
A na-enye nkọwa ndị ọzọ na ọkwa dị elu aview nke ọtụtụ njirimara njikwa ike na 3rd Generation Intel® Xeon® Scalable processors, yana ntuziaka maka otu esi ejikọta atụmatụ ndị a na ọkwa ikpo okwu: https://networkbuilders.intel.com/solutionslibrary/power-management-technologyoverview-technology-guide
5.3 Intel® Turbo Boost
Intel® Turbo Boost na-eme ka onye nrụpụta ngwa ngwa mgbe achọrọ ya mana ọ nwere ike iri ike ọzọ. Ịgbanyụ Turbo Boost na-eme ka onye nrụpụta ahụ na-agba ọsọ ọsọ, na-enye gị ọkwa arụmọrụ na-agbanwe agbanwe maka ọrụ ụfọdụ.
5.4 Firewall
Firewalls nwere ike imetụta arụmọrụ, ọkachasị arụmọrụ latency.
Gbanyụọ iptables/firewalld ma ọ bụrụ na achọrọghị ya.
5.5 Ntọala ngwa
Ọtụtụ mgbe, otu eriri (nke dabara na otu eriri netwọkụ) ezughị ezu iji nweta bandwit kacha. Ụfọdụ ihe owuwu ikpo okwu, dị ka AMD, na-atụba ọtụtụ ngwugwu Rx na otu eri ma e jiri ya tụnyere nyiwe nwere ndị nrụpụta Intel.
Tụlee iji ngwaọrụ dị ka taskset ma ọ bụ numactl iji pinye ngwa na oghere NUMA ma ọ bụ cores CPU mpaghara na ngwaọrụ netwọk. Maka ụfọdụ ibu ọrụ dị ka nchekwa I/O, ibuga ngwa ahụ na ọnụ na-abụghị mpaghara na-enye uru.
Nwalee na ịbawanye ọnụọgụ eri nke ngwa gị na-eji ma ọ bụrụ na ọ ga-ekwe omume.
Ụdị kernel 5.6
Ọtụtụ kernel igbe ọgbara ọhụrụ bụ nke a na-ahazi nke ọma maka ịrụ ọrụ mana, dabere n'ọnọdụ ojiji gị, imelite kernel nwere ike inye arụmọrụ ka mma. Ịbudata isi iyi na-enyekwara gị aka ime ka/gbanyụọ ụfọdụ atụmatụ tupu ị wuo kernel.
5.7 Sistemụ arụ ọrụ/Ntọala kernel
Gaa na ntuziaka nlegharị anya sistemụ arụmọrụ, dị ka Red Hat Enterprise Linux Network Performance Tuning Guide, maka nghọta ndị ọzọ gbasara nlegharị anya sistemụ arụmọrụ izugbe.
Edepụtara ụfọdụ parampat ndị a na-akụkarị na tebụl na-esonụ. Rịba ama na ndị a bụ naanị mmalite mmalite, na ịgbanwe ha site na ndabara nwere ike ịbawanye akụrụngwa eji na sistemụ. Ọ bụ ezie na ịba ụba ụkpụrụ nwere ike inye aka melite arụmọrụ, ọ dị mkpa ịnwale ụkpụrụ dị iche iche iji chọpụta ihe na-arụ ọrụ kacha mma maka usoro enyere, ibu ọrụ na ụdị okporo ụzọ.
A na-ahazi paramita kernel site na iji sysctl utility na Linux dị ka egosiri n'okpuru.
Iji view ụkpụrụ ndabara maka rmem na wmem na sistemụ:
sysctl net.core.rmem_default
sysctl net.core.wmem_default
Tọọ ụkpụrụ ka ukwuu (16 MB):
sysctl -w net.core.rmem_max=16777216
sysctl -w net.core.wmem_max=16777216
Nha nchekwa oghere, nke a makwaara dị ka ihe nchekwa (rmem) na nnyefe ihe nchekwa (wmem), bụ usoro sistemụ na-akọwapụta ọnụọgụ ebe nchekwa echekwara maka okporo ụzọ netwọkụ na-abata na nke na-apụ apụ.
Na-agba ọsọ sysctl na-enweghị arụmụka -w depụtara paramita na ntọala ya ugbu a.

Ntọala nchịkọta Nkọwa
net.core.rmem_default Ọdịmma nata nha mpio
net.core.wmem_default Nha mpio Nyefee ndị an-kpọ
net.core.rmem_max Oke mpio nnata kacha
net.core.wmem_max Oke Ohere Nyefee kacha
net.core.optmem_max Nhọrọ ebe nchekwa kacha
net.core.netdev_max_backlog Ihe ndekọ nke ngwugwu ndị anaghị arụ ọrụ tupu kernel amalite ịdaba
net.ipv4.tcp_rmem Nchekwa ebe nchekwa maka nchekwa ọgụgụ TCP
net.ipv4.tcp_wmem Nchekwa ebe nchekwa maka TCP zipu ihe nchekwa

Kernel, nchịkọta netwọkụ, onye na-ahụ maka ebe nchekwa, ọsọ CPU, na usoro njikwa ike nwere ike inwe nnukwu mmetụta na arụmọrụ netwọk. Ndụmọdụ a na-ahụkarị bụ itinye n'ọrụ na netwọk throughput profile na-eji iwu emegharịrị. Nke a na-agbanwe ntọala OS ole na ole iji nye mmasị na ngwa ịkparịta ụka n'Ịntanet.
Lelee:
tuned-adm nọ n'ọrụ
Tọọ:
tuned-adm profile ntinye netwọk
5.8 Ndekọ ngwaọrụ netwọkụ
Njirimara a na-enyere aka melite arụmọrụ netwọkụ site na ijikwa okporo ụzọ na-abata nke ọma, ibelata mfu ngwugwu, iwetulata latency, yana ịkwalite mmepụta. Nke a na-eduga na ahụmịhe onye ọrụ ka mma yana nzaghachi sistemụ ngwa ngwa.
Site na ndabara, enyere ya aka n'ọtụtụ sistemụ arụmọrụ Linux. Ka ịlele uru ndabara:
sysctl net.core.netdev_max_backlog
Uru kachasị maka netdev_max_backlog nwere ike ịdịgasị iche dabere n'ihe dị ka ụdị kernel, ngwaike, ebe nchekwa na ibu ọrụ. N'ọtụtụ ọnọdụ, a na-ahụ 8192 dị ka ezigbo uru. sysctl -w net.core.netdev_max_backlog=8192
5.9 Nhazi na ntughari akọwapụtara nke ọma
5.9.1 Ọgbọ nke anọ Intel® Xeon® Scalable Processors

Njikwa ike nke Intel® 4th Generation Intel® Xeon® Scalable processor dị oke egwu ma e jiri ya tụnyere ọgbọ nke atọ Intel® Xeon® Scalable processors. Iji zere cores ịbanye na steeti ndị nwere obere ike, gbalịa ibelata ọnụọgụ cores eji mee ka ha mụrụ anya ogologo oge.
Ntọala Bios akwadoro maka ịrụ ọrụ kachasị elu

  1. Hyper-threading na-enyere / gbanyụọ (dabere na oke ọrụ chọrọ na ebumnuche arụmọrụ) na CPU.
  2. Tọọ usoro profile ka Performance maka kacha arụmọrụ.
    IHE
    Nke a na-ebute oriri ike dị elu
  3. Tọọ njikwa ike CPU ka ọ bụrụ arụmọrụ kachasị elu iji bute arụmọrụ CPU kacha elu karịa ịrụ ọrụ ike.
  4. Kwado nkwalite Turbo. Ịkwụsị Turbo Boost na sistemụ BIOS ntọala na-egbochi CPU ka ọ na-abawanye ọsọ elekere ya karịa ugboro ugboro.
  5. IHE
    Ịkwụsị Turbo Boost nwere ike dabara maka ụfọdụ ojiji ebe arụ ọrụ na-agbanwe agbanwe, arụmọrụ ike, ma ọ bụ njikwa ọkụ na-ebute ụzọ karịa arụmọrụ kacha.
  6. Gbanyụọ Single Root I/O Virtualization feature (SR-IOV), ma ọ bụrụ na usoro anaghị etinye n'ọrụ virtualization teknụzụ.
  7. Gbanyụọ steeti C iji kụziere CPU ka ọ nọgide na-arụ ọrụ ma gbochie ịbanye n'ime steeti ndị na-abaghị uru.
  8. Gbanyụọ C1E, iji hụ na CPU ka na-arụ ọrụ na ọ dịghị abanye na steeti C1E na-abaghị uru.
  9. Tọọ ugboro ugboro na-enweghị isi na nke kachasị iji kụziere sistemụ ka ọ rụọ ọrụ n'ogo kachasị elu dị.
  10. Na nyiwe Dell, tọọ tebụl nkọwapụta Multiple APIC (MADT) na Linear (ma ọ bụ Round-Robin dabere na BIOS) iji nye eserese doro anya na amụma amụma nke cores CPU.

Ntụgharị Ọkwa OS akwadoro maka arụrụ arụ ọrụ

  1. Tọọ Gọvanọ na-enyocha ugboro ugboro ka ọ rụọ ọrụ. ugboro ugboro-set-g arụmọrụ cpupower ugboro-ozi
  2. Gbanyụọ C-State. cpupower enweghị ọrụ-set -D0
  3. Tọọ ihe nchekwa isi Rx (rmem) na Tx (wmem) na oke uru. sysctl -w net.core.rmem_max=16777216 sysctl -w net.core.wmem_max=16777216
  4. Tọọ ndekọ ndabere ngwaọrụ netwọk. sysctl -w net.core.netdev_max_backlog=8192
  5. Tọọ onye na-ege ntị profile (Oru ọrụ dabere maka ntinye/latency).
    tuned-adm profile ntinye netwọk

Ntụgharị Ọkwa nkwụnye akwadoro maka ịrụ ọrụ kachasị

  1. Machie ọnụọgụ kwụ n'ahịrị iji maka okporo ụzọ ngwa. Jiri ọnụ ọgụgụ kacha nta nke kwụ n'ahịrị achọrọ iji mee ka cores CPU na-arụ ọrụ iji gbochie ha ịbanye na steeti ndị na-abaghị uru (gbanwee maka ibu ọrụ): ethtool -L jikọtara 32
  2. Tọọ ọnụego nkwụsịtụ. ethtool -C adaptive-rx gbanyụọ adaptive-tx kwụsịrị rx-usecs-elu 50 rx-usecs 50 tx-usecs 50
    Gbalịa ịhazigharị oge mbufe/nata/na-ebu ụzọ dị elu karịa (80/100/150/200) ma ọ bụ ala (25/20/10/5) iji chọta uru kacha mma maka ibu ọrụ.
  3. Tọọ nha mgbanaka Rx/Tx. ethtool -G rx 4096 tx 4096
    IHE
    Ọ bụrụ na ị hụ ngwugwu Rx na ethtool -S| grep drop, nwaa ibelata nha mgbanaka ka ọ bụrụ <4096. Gbalịa ịchọta uru kacha mma maka ibu ọrụ ebe a naghị atụba ngwugwu.
  4. Tọọ mmekọrịta IRQ. Jiri cores local gaa na NIC, ma ọ bụ nkewa isi kpọmkwem (ebe # cores hà nhata na ọnụọgụ kwụ n'ahịrị na 1 na ibe 26. systemctl stop irqbalance set_irq_affinity -X local MA ọ bụ set_irq_affinity -X

5.9.2 AMD EPYC
Ndị na-emepụta AMD EPYC bụ CPU dị ike emere maka sava na ebe data, nke e wuru na AMD's Zen architecture. Ntọala ndị dị n'okpuru sitere na usoro EPYC nke AMD nke anọ.
Ntọala BIOS akwadoro maka ịrụ ọrụ kachasị elu

  1. Kwado ụdị omenala iji nye ndị ọrụ ohere ịhazigharị arụmọrụ CPU, oriri ike na ntọala ndị ọzọ. Nke a na-enyere aka n'imezigharị usoro ahụ maka nguzozi kachasị mma n'etiti arụmọrụ na ike ike.
  2. Kwado nkwalite arụmọrụ isi ka CPU mee ka ọsọ ya na-akpaghị aka iji jikwaa ọrụ ndị siri ike karị, na-emewanye arụmọrụ n'ozuzu ya.
  3. Gbanyụọ njikwa steeti C zuru ụwa ọnụ, iji gbochie CPU ịbanye steeti nchekwa ike miri emi nke a maara dị ka steeti C, nke nwere ike ịnọgide na-anabata ya.
    IHE
    Ịkwụsị steeti C nwere ike bute oriri ọkụ ọzọ yana ịbawanye okpomọkụ. Nyochaa ha abụọ maka oke ọrụ.
  4. Kwado/gbanyụọ Multithreading otu oge (SMT) na CPU, dabere na oke ọrụ chọrọ yana ebumnuche arụmọrụ. SMT dakọtara na Hyper Threading na Intel CPUs.
    IHE
    Maka ịrụ ọrụ kachasị mma, rụtụ aka na Tuning i40e Driver Settings na ibe 13 na Platform Tuning (i40e Non-Specific) na ibe 19 maka nhazi ọkwa OS na nkwụnye nkwụnye akwadoro.

Nkwekọrịta ihe nkwụnye

Njikọ Linux bụ akụkụ dị ike nke nwere ike imeziwanye arụmọrụ netwọkụ, arụ ọrụ, na nnabata mmejọ na gburugburu sava. Otú ọ dị, ọ dị mkpa iburu n'obi na ọ chọrọ ngwaike netwọk dakọtara na nhazi kwesịrị ekwesị na ma ihe nkesa na mgba ọkụ ka ọ rụọ ọrụ nke ọma.
Onye na-anya njikọ na Linux na-enye gị ohere ijikọta ọtụtụ oghere netwọkụ anụ ahụ n'ime interface jikọtara ọnụ. Nke a bonded interface na-egosi dị ka otu mebere netwọk interface na sistemụ na ngwa.
IHE
Njikọ ahụ bụ ihe ezi uche dị na ya, yabụ na ọ gaghị ekwe omume ịtọ njikọ CPU ozugbo na njikọ njikọ (maka example, bond0). Ya bụ, ọ nweghị njikwa ozugbo maka njikwa nkwụsịtụ ma ọ bụ mmekọ CPU. A ghaghị ahazi njikọ CPU maka oghere ndị dị n'okpuru bụ akụkụ nke njikọ.
Nkwekọrịta na-enye ọtụtụ ụdị ọrụ, nke ọ bụla nwere njirimara nke ya.

Ụdị  Ụdị
0 Gburugburu Robin
1 Ndabere na-arụ ọrụ
2 XOR
3 Mgbasa ozi
4 LACP
5 Nyefee nha nha nha
6 Ntụkọba Ibu Ibu Ndagharị

Enwere ụzọ dị iche iche iji mepụta njikọ na Linux. Otu ụzọ a na-ahụkarị bụ site na iji nhazi netwọkụ files (maka example, /etc/network/ interfaces ma ọ bụ /etc/sysconfig/network-scripts/ifcfg-bondX).
Nhazi Iji Nhazi netwọkụ Files
Usoro ndị a na-emepụta njikọ site na nhazi netwọkụ files.

  1. Họrọ ọdụ ụgbọ mmiri abụọ ma ọ bụ karịa NIC maka njikọta (maka example, ethX na ethY)
  2. Mepee Nhazi NIC Files n'okpuru /etc/sysconfig/network-scripts/ maka NIC Interface achọrọ (maka example, vi ifcfg-ethX na vi ifcfg-ethY) ma tinye ederede na-esonụ:
    MASTER= bondN [Rịba ama: N bụ ọnụọgụ iji kpọtụrụ nọmba nkekọ.] SLAVE=ee
  3. Mepụta edemede netwọkụ nkekọ file iji vi /etc/sysconfig/networkscripts/ifcfg-bondN ma tinye ederede na-esonụ:
    Ngwaọrụ = bondN [Rịba ama: N bụ ọnụọgụ iji kpọtụrụ nọmba nkekọ] ONBOOT = ee USERCTL = enweghị BOOTPROTO = dhcp (ma ọ bụ) ọ nweghị.
    IPADDR = 200.20.2.4 [chọrọ ma ọ bụrụ BOOTPROTO = ọ dịghị onye] NETMASK = 255.255.255.0 [chọrọ ma ọ bụrụ BOOTPROTO = ọ dịghị onye] NETWORK = 200.20.2.0 BOOTPROTO=ọ dịghị onye] BONDING_OPTS=”mode=200.20.2.255 miimon=1″
    IHE
    Ụdị nwere ike ịbụ ọnụọgụ ọ bụla sitere na 0 ruo 6 dabere na ihe achọrọ.
  4. Malitegharịa ekwentị ọrụ netwọk site na iji netwọk ọrụ Malitegharịa ekwentị ma ọ bụ systemctl malitegharịa NetworkManager.service

Nchọpụta nsogbu arụmọrụ

7.1 CPU ojiji
Lelee ojiji CPU kwa isi ka ibu ọrụ na-aga.
Rịba ama na itinye n'ọrụ kwa isi dị mkpa maka ịrụ ọrụ karịa ojiji CPU n'ozuzu ya ebe ọ na-enye echiche nke ojiji CPU n'ahịrị netwọkụ ọ bụla. Ọ bụrụ na ị nwere naanị eriri ole na ole na-agba ọsọ netwọkụ, mgbe ahụ ị nwere ike ịnwe naanị cores ole na ole ka a na-eji. Otú ọ dị, ọ bụrụ na cores ndị ahụ dị na 100%, mgbe ahụ, ọ ga-abụ na iji CPU na-ejedebe ntinye netwọk gị ma ọ bụ oge iji mee ihe ndị a:

  1. Tụgharịa nha nha/mgbanaka IRQ dị ka akọwara ya na nkwụsịtụ moderation.
  2. Mụbaa ọnụ ọgụgụ nke eriri ngwa iji gbasaa ibu CPU n'elu ọtụtụ cores. Ọ bụrụ na cores niile na-agba ọsọ na 100% mgbe ahụ ngwa gị nwere ike ijikọ CPU kama ijikọ netwọkụ.

Ngwa ndị a na-enwekarị:

  • n'elu
    - Pịa 1 ka ịgbasa ndepụta CPU wee lelee nke a na-eji.
    - Rịba ama ọkwa nke itinye n'ọrụ.
    - Rịba ama usoro ndị edepụtara dị ka ndị kachasị arụ ọrụ (n'elu ndepụta).
  • mpstat
    Ndị na-esonụ exampA nwalere ahịrị iwu na Red Hat Enterprise Linux 7.x.
    Ọ na-egosiputa ojiji CPU kwa isi (site n'ịchọta ngụkọta pasentị na-abaghị uru na iwepụ na 100) wee gosipụta ụkpụrụ dị n'elu 80% na-acha uhie uhie. mpstat -P ALL 1 1 | grep -v Nkezi | ọdụ -n +5 | isi -n -1 | awk '{bipụta (100-$13)}' | egrep -color=always '[^\.][8-9][0-9][\.]?.*|^[8-9][0-9][\.]?.*| 100|' | kọlụm
  • perf top Chọọ ebe a na-eji cycles.

7.2 i40e Counters
Onye ọkwọ ụgbọ ala i40e na-enye ndepụta ogologo nke counters maka mwepu interface na nlekota site na iwu ethtool -S ethX. Ọ nwere ike inye aka na-ekiri mmepụta mgbe ọrụ na-arụ ọrụ na / ma ọ bụ tụnyere ụkpụrụ counter tupu na mgbe arụchara ọrụ.

  • Iji nweta mkpofu i40e counters: ethtool -S ethX
  • Ka ilele naanị ọnụ ọgụgụ na-abụghị efu: watch -d (ethtool -S ethX) | egrep -v :\ 0 | kọlụm
    Ụfọdụ ihe ị ga-achọ:
  • rx_dropped pụtara na CPU anaghị arụ ọrụ nchekwa ngwa ngwa.
  • port.rx_dropped pụtara na ihe adịghị ngwa ngwa na oghere / ebe nchekwa / usoro.

7.3 netwọkụ Counters
Lelee netstat-s tupu/mgbe arụchara ọrụ.
Netstat na-anakọta ozi netwọkụ na ngwaọrụ netwọkụ niile dị na sistemụ. Ya mere, enwere ike imetụta nsonaazụ sitere na netwọkụ ndị ọzọ karịa netwọk a na-anwale. Nsonaazụ sitere na netstat -s nwere ike ịbụ ezigbo ngosipụta nke okwu arụmọrụ na sistemụ arụmọrụ Linux ma ọ bụ kernel. Gaa na ntuziaka nlegharị anya sistemụ arụmọrụ, dị ka Red Hat Enterprise Linux Network Performance Tuning Guide, maka nghọta ndị ọzọ gbasara nlegharị anya sistemụ arụmọrụ izugbe.
7.4 ndekọ usoro
Lelee ndekọ sistemụ maka njehie na ịdọ aka ná ntị (/var/log/messages, dmesg).
7.5 Intel svr-Info Ngwá Ọrụ
Intel na-enye ngwaọrụ ozi svr (lee https://github.com/intel/svr-info) maka Linux nke na-ewepụta nkọwa ngwaike na ngwanrọ dị mkpa sitere na sava. Mmepụta svr-info nwere ike inye aka nke ukwuu ịchọpụta mkpọmkpọ sistemu ma ọ bụ ntọala / nrụgharị na-adịghị mma maka ibu ọrụ. Mgbe ị na-emepe ikpe nkwado na Intel maka okwu arụmọrụ metụtara Ethernet, jide n'aka na ị ga-agụnye mmepụta svr-info (ederede file) maka nkesa Linux ọ bụla na nhazi ule.

  1. Budata ma wụnye svr-ozi:
    wget -qO- https://github.com/intel/svr-info/releases/latest/download/svrinfo.tgz| tar xvz cd svr-ozi
    ./svr-ozi
    > aha nnabata.txt
  2. Chịkọta mmepụta:
    ./svr-info > hostname.txt
  3. Tinye otu ederede (.txt) file maka nkesa ọ bụla na ikpe nkwado Intel gị maka nyocha.

Nkwanye maka ndapụta arụmọrụ nkịtị

8.1 IP ebugharị

  • Melite kernel.
    Ụfọdụ kernels in-distro n'oge na-adịbeghị anya emebiela arụmọrụ ntụgharị n'ihi mgbanwe kernel na koodu ntụgharị na-amalite na mwepụ nke cache routing n'ihi nchekwa. Mkpụrụ ndụ ndị na-apụ apụ na nso nso a kwesịrị inwe patches nke na-ebelata mmetụta arụ ọrụ nke mgbanwe ndị a ma nwee ike ịnye arụmọrụ ka mma.
  • Gbanyụọ hyper-threading (isi ihe ezi uche dị na ya).
  • Dezie paramita buut kernel.
    - Kwado iommu gbanyụọ (intel_iommu = gbanyụọ ma ọ bụ iommu = gbanyụọ) site na ahịrị buut kernel ọ gwụla ma achọrọ ya maka ịmegharị anya.
    - Gbanyụọ njikwa ike: processor.max_cstates = 1 enweghị ọrụ = ntuli aka pcie_aspm = gbanyụọ
  • Machie ọnụ ọgụgụ ndị kwụ n'ahịrị ka ha nhata na ọnụọgụ cores dị na oghere mpaghara (12 na ex aample). ethtool -L ethX jikọtara 12
  • Pin na-akwụsị naanị oghere mpaghara. set_irq_affinity -X local ethX OR set_irq_affinity -X local ethX
    IHE
    Enwere ike iji -X ma ọ bụ -x dabere na oke ọrụ.
  • Gbanwee nha Tx na Rx dịka achọrọ. Ọnụ ahịa buru ibu na-ewe ọtụtụ akụrụngwa mana ọ nwere ike ịnye ọnụego mbugharị ka mma. ethtool -G ethX rx 4096 tx 4096
  • Gbanyụọ GRO mgbe ị na-ebugharị.
    N'ihi okwu kernel amara, GRO ga-agbanyụrịrị mgbe ị na-ebugharị/ebugharị. ethtool -K ethX gro off ebe ethX bụ Ethernet interface ga-agbanwe.
  • Gbanyụọ mmezi nkwụsịtụ ma tọọ uru kwụ ọtọ. ethtool -C ethX adaptive-rx off adaptive-tx off ethtool -C ethX rx-usecs 64 tx-usecs 64

IHE
Dabere n'ụdị nhazi na ibu ọrụ, enwere ike ịhazigharị paramita coalescing maka RX na TX maka arụmọrụ emelitere (ma ọ bụ obere mfu etiti).

  • Gbanyụọ firewall. sudo systemctl gbanyụọ firewalld sudo systemctl kwụsị firewalld
  • Kwado mbugharị IP. sysctl -w net.ipv4.ip_forward=1
  • Hazie ụkpụrụ kacha maka nnata wee zipu nha ihe nchekwa oghere. sysctl -w net.core.rmem_max=16777216 sysctl -w net.core.wmem_max=16777216

IHE
Dabere na ibu ọrụ ma ọ bụ ihe achọrọ, ụkpụrụ ndị a nwere ike gbanwee site na ndabara.
8.2 Ọdịda ala

  • Gbanyụọ hyper-threading (cores ezi uche) Gbanyụọ.
  • Gbaa mbọ hụ na ngwaọrụ netwọk bụ mpaghara ruo numa core 0.
  • Jiri taskset-c 0 tinye akara nrịbama na isi 0.
  • Gbanyụọ irqbalance site na iji systemctl stop irqbalance ma ọ bụ systemctl gbanyụọ irqbalance
  • Gbaa ederede mmekọ ka ọ gbasaa n'ofe isi. Gbalịa ma mpaghara ma ọ bụ niile.
  • Gbanyụọ nkwụsịtụ nkwụsị. ethtool -C ethX rx-usecs 0 tx-usecs 0 adaptive-rx off adaptive-tx off rxusecs- elu 0
  • Oke ọnụ ọgụgụ nke kwụ n'ahịrị ka ọ ha nhata na ọnụọgụ cores dị na oghere mpaghara (32 na ex aample). ethtool -L ethX jikọtara 32
  • Pin na-akwụsị naanị oghere mpaghara (edemede nwere isi iyi ọkwọ ụgbọ ala i40e). set_irq_affinity -X mpaghara ethX
  • Jiri benchmark guzosiri ike dị ka netperf -t TCP_RR, netperf -t UDP_RR, ma ọ bụ NetPipe. netperf -t TCP_RR ma ọ bụ netperf -t UDP_RR
  • Tinye akara n'otu isi na ọnụ NUMA mpaghara. arụ ọrụ -c

Intel® Ethernet 700 Series
Ntuziaka Ntugharị arụmọrụ Linux
Disemba 2024
Doc. Nọmba: 334019, Mkpu: 1.2

Akwụkwọ / akụrụngwa

Intel Ethernet 700 Series Linux Performance Tuning [pdf] Ntuziaka onye ọrụ
334019, Ethernet 700 Series Linux Performance Tuning, Ethernet 700 Series, Linux Performance Tuning, Performance Tuning, Tuning

Ntụaka

Hapụ ikwu

Agaghị ebipụta adreesị ozi-e gị. Akara mpaghara achọrọ akara *