Intel LogoIntel® Ethernet Serje 700
Gwida għall-Irfinar tal-Prestazzjoni tal-Linux
Grupp tan-Netwerking tas-Sħab NEX (NCNG)
Rev 1.2
Diċembru 2024

Storja tar-Reviżjoni

Reviżjoni Data Kummenti
1.2 Diċembru 2024 · Żidt Gwida Addizzjonali dwar il-Ġestjoni tal-Enerġija.
· Żied l-Intel* Turbo Boost.
· Żied l-Arretrat tal-Apparat tan-Netwerk.
· Żidna Konfigurazzjonijiet u Irfinar Speċifiċi għall-Pjattaforma.
· Żidna Proċessuri Skalabbli Intel* %eon* tar-4 Ġenerazzjoni.
· Żied l-AMD EPYC.
· Kapaċitajiet tal-Ħardwer tas-Sistema ta' Kontroll Aġġornati.
· Aġġorna l-iPerf2.
· Aġġorna l-iPerf3.
· Kjuwijiet Tx/Rx aġġornati.
· Moderazzjoni tal-Interruzzjoni aġġornata.
· Daqs taċ-Ċirku Aġġornat.
· Aġġornament tal-Irfinar tal-Pjattaforma (i40e Mhux Speċifiku).
· Is-Settings tal-BIOS ġew aġġornati.
· Kontroll tal-Istat C aġġornat.
· Skalar tal-Frekwenza tas-CPU aġġornat.
· Is-Settings tal-Applikazzjoni ġew aġġornati.
· Is-Settings tas-Sistema Operattiva/Kernel aġġornati.
· Aġġornat it-Trażmissjoni tal-IP.
· Latenza Baxxa Aġġornata.
Awwissu 2023 Tibdil f’dan id-dokument jinkludi:
· Żidna Referenzi Relatati.
· Żied Kun żgur li l-Pakkett DDP qed Jitgħabba Sewwa.
· Żied iPerf2.
· Żied iPerf3.
· Żied netperf.
· Affinità tal-IRQ aġġornata.
· Żidna Kjuwijiet Tx/Rx.
· Daqs taċ-Ċirku Aġġornat.
· Żidna Frejms Jumbo.
· Żied it-Twaħħil tal-Adapter.
· Żidna l-Għodda Intel svr-info.
1.0 Marzu 2016 Rilaxx Inizjali (Intel Public).

Introduzzjoni

Din il-gwida hija maħsuba biex tipprovdi gwida għall-irfinar tal-ambjenti għal prestazzjoni ottimali tan-netwerking bl-użu ta' Intel ® Ethernet 700 Series NICs f'ambjenti Linux. Tiffoka fuq il-kundizzjonijiet u s-settings tal-ħardwer, id-drajver, u s-sistema operattiva li jistgħu jtejbu l-prestazzjoni tan-netwerk. Ta' min jinnota li l-prestazzjoni tan-netwerking tista' tiġi affettwata minn diversi influwenzi esterni, u f'din il-gwida huma koperti biss l-aktar komuni u drammatiċi.
1.1 Referenzi Relatati

Lista ta' Kontroll Inizjali

2.1 Aġġorna l-Verżjonijiet tas-Sewwieq/Firmware
Iċċekkja l-verżjonijiet tas-sewwieq/firmware billi tuża ethtool -i ethx.
Aġġorna dan li ġej kif meħtieġ:

2.2 Aqra r-README
Iċċekkja għal kwistjonijiet magħrufa u ikseb l-aħħar struzzjonijiet ta' konfigurazzjoni mir-README file inkluż fil-pakkett tas-sors tal-i40e.
2.3 Iċċekkja li s-Slott PCI Express (PCIe) tiegħek huwa x8
Xi slots PCIe x8 huma fil-fatt ikkonfigurati bħala slots x4. Dawn is-slots m'għandhomx biżżejjed bandwidth għal rata sħiħa tal-linja b'apparati b'port doppju u b'port kwadru. Barra minn hekk, jekk tpoġġi adapter kapaċi għall-PCIe v3.0 fi slott PCIe v2.x, ma tistax tikseb bandwidth sħiħ. Is-sewwieq tal-apparat tas-softwer jinduna b'din is-sitwazzjoni u jikteb il-messaġġ li ġej fil-log tas-sistema:
Il-bandwidth tal-PCI-Express disponibbli għal din il-kard mhuwiex biżżejjed għal prestazzjoni ottimali. Għal prestazzjoni ottimali huwa meħtieġ slott x8 PCI-Express.
Jekk iseħħ dan l-iżball, iċċaqlaq l-adapter tiegħek għal slot PCIe v3.0 x8 veru biex issolvi l-problema.
2.4 Iċċekkja l-Kapaċitajiet tal-Ħardwer tas-Sistema
B'10 Gbps, 25 Gbps, u 40 Gbps Ethernet, hemm xi rekwiżiti minimi tas-CPU u tas-sistema. B'mod ġenerali, proċessur modern tal-klassi tas-server u konfigurazzjoni ottimali tal-memorja għall-pjattaforma tiegħek għandhom ikunu biżżejjed, iżda l-ħtiġijiet ivarjaw skont l-ammont ta' xogħol tiegħek. Il-kanali tal-memorja kollha għandhom ikunu mimlija u l-modalità tal-prestazzjoni tal-memorja għandha tkun attivata fil-BIOS. Ivverifika li l-konfigurazzjoni tas-CPU u tal-memorja tiegħek huma kapaċi jappoġġjaw il-livell ta' prestazzjoni tan-netwerk li teħtieġ għall-ammont ta' xogħol tiegħek.
NOTA
L-XL710 huwa kontrollur ta' 40 GbE. L-adapter 2 x 40 GbE li juża dan il-kontrollur mhuwiex maħsub biex ikun 2 x 40 GbE iżda 1 x 40 GbE b'port ta' backup attiv. Meta tipprova tuża traffiku line-rate li jinvolvi ż-żewġ portijiet, is-swiċċ intern ikun saturat u l-bandwidth ikkombinat bejn iż-żewġ portijiet ikun limitat għal total ta' SO Gbps.
2.4.1 Parametri tal-Kernel Boot
Jekk it-Teknoloġija tal-Virtualizazzjoni Intel® għal I/O Dirett (Intel® VT-d) hija attivata fil-BIOS, Intel tirrakkomanda li l-IOMMU tkun fil-modalità pass-through għal prestazzjoni ottimali tan-netwerk tal-host. Dan jelimina l-overhead tad-DMA fuq it-traffiku tal-host filwaqt li jippermetti li l-Magni Virtwali (VMs) xorta jkollhom il-benefiċċji tal-Intel® VT-d. Dan jinkiseb billi żżid il-linja li ġejja mal-parametri tal-ibbutjar tal-kernel: fommu-pt.
2.5 Kun żgur li l-Pakkett DDP qed Jitgħabba Sewwa
Is-sewwieqa bażi 140ea u 140eb m'għandhomx appoġġ dirett għal Dynamic Device Personalization (DDP). Biex tuża DDP ma' apparati tas-Serje 700, DDP profile jista' jiġi applikat bl-applikazzjoni testpmd.
Għal aktar dettalji dwar DDP profiles, u kif tapplika DDP profile b'testpmd fuq apparati tas-Serje 700, irreferi għall-Gwida tat-Teknoloġija tal-Personalizzazzjoni Dinamika tal-Apparat (DDP) tas-Serje Intel® Ethernet 700.
Biex tivverifika jekk professjonist tad-DDPfile ġie mgħobbi b'suċċess:
testpmd> ddp ikseb lista 0 Profile in-numru huwa: 1
NOTA
Jekk il-profile Jekk in-numru huwa 0, l-ebda pakkett DDP ma jkun mgħobbi. Fil-każ ta' żball fit-tagħbija tal-pakkett DDP, l-apparat awtomatikament juża l-modalità sikura u ħafna karatteristiċi tal-prestazzjoni ma jkunux disponibbli. Jekk ikun hemm żbalji relatati mat-tagħbija tal-pakkett DDP, dan jikkawża problemi ta' prestazzjoni. Għall-passi tas-soluzzjoni tal-problemi, irreferi għall-Gwida tat-Teknoloġija tal-Personalizzazzjoni Dinamika tal-Apparat (DDP) tas-Serje Inte/* Ethernet 700.

Kejl tal-Prestazzjoni Bażika u Metodoloġija tal-Irfinar

3.1 Punti ta' Referenza tal-Prestazzjoni tan-Netwerk
Qabel ma tibda eżerċizzju ta' aġġustament, huwa importanti li jkollok kejl bażi tajjeb tal-prestazzjoni tan-netwerk tiegħek. Normalment, minbarra li tikseb kejl inizjali tal-prestazzjoni tal-applikazzjoni/tagħbija tax-xogħol speċifika tiegħek, hija idea tajba li tuża wkoll punt ta' riferiment standard tal-prestazzjoni tan-netwerk biex tivverifika li l-apparat tan-netwerk tiegħek jinsab fi stat tajjeb.
Għall-ottimizzazzjoni ta' sistema waħda, netperf jew iperf u NetPIPE huma kollha għodod solidi u open-source li jippermettulek tisforza konnessjoni u tiddijanjostika problemi ta' prestazzjoni.
Netperf huwa b'saħħtu kemm għall-ittestjar tat-throughput kif ukoll tal-latency. NetPIPE hija għodda speċifika għal-latency iżda tista' tiġi kkompilata għal kwalunkwe tip ta' ambjent.
NOTA
It-test TCP_RR f'netperf jirritorna l-latenza f'valur ta' tranżazzjonijiet/sek. Dan huwa numru ta' round-trip. Il-latenza f'direzzjoni waħda tista' tiġi kkalkulata bl-użu tal-ekwazzjoni li ġejja:
Latenza(usec) = (1⁄2) / [Tranżazzjonijiet/sek] * 1,000,000
3.1.1 iPerf2
Intel tirrakkomanda iperf2 fuq iperf3 għal ħafna sitwazzjonijiet ta' benchmarking minħabba l-faċilità tal-użu u l-appoġġ ta' threads multipli f'istanza waħda ta' applikazzjoni. Intel tirrakkomanda li taħdem bl-għażla -P b'2-4 threads għal konnessjonijiet ta' 25G u madwar 4-6 threads għal konnessjonijiet ta' 40G.

  • Biex tħaddem traffiku unidirezzjonali minn klijent għal server: Kmand tas-server eż.ample: iperf2 -s
    Eż. kmand tal-klijentample: iperf2 -c -P
  • Biex tħaddem traffiku bidirezzjonali mill-klijent għas-server (u viċi versa): Kmand tas-server eż.ample: iperf2 –s –p
    Eż. kmand tal-klijentample:
    iperf2 -c -p -P -–full-duplex JEW
    iperf2 -c -p -P –d

NOTA
Kemm l-għażliet –full-duplex kif ukoll -d f'iperf2 jippermettu lill-utent iwettaq testijiet bidirezzjonali. Madankollu, l-għażla –full-duplex tiffoka speċifikament fuq testijiet full duplex.
NOTA
Meta tkun qed tittestja iperf2 fuq diversi portijiet tas-server, il-bandiera -d tista' tiżdied mal-kmand tas-server biex tħaddem is-sessjonijiet kollha tas-server fl-isfond mill-istess tieqa tat-terminal. Il-bandiera -d tista' tintuża wkoll meta l-kmand tas-server ikun inkorporat ġewwa for-loop fi skript.
NOTA
Meta tħaddem it-test tal-fluss tan-netwerk b'fluss/ħajta waħda (eż.ampeż.: P1), il-proċessuri tal-AMD jistgħu ma jipprovdux it-throughput mistenni, partikolarment NICs b'bandwidth ogħla (jekk il-veloċità hija >= 25G bandwidth). Bħala riżultat, l-ipping tal-applikazzjoni għal qlub speċifiċi huwa meħtieġ biex jinkiseb throughput ogħla. Ara Settings tal-Applikazzjoni f'paġna 22.
3.1.2 iPerf3
Jekk jintuża iperf3, ikunu meħtieġa istanzi multipli tal-applikazzjoni biex jieħdu vantaġġtage tal-multi-threads, RSS, u kjuwijiet tal-ħardwer. Intel jirrakkomanda li taħdem b'2-4 sessjonijiet ta' applikazzjoni għal konnessjonijiet ta' 25G u madwar 4-6 sessjonijiet għal konnessjonijiet ta' 40G. Kull sessjoni għandha tispeċifika valur uniku tal-port TCP bl-użu tal-għażla -p.

  • Biex tħaddem traffiku unidirezzjonali mill-klijent għas-server:
    Eż. kmand tas-serverample:
    iperf3 -s -p
    Eż. kmand tal-klijentample:
    iperf3 -c -p
  • Biex tħaddem traffiku bidirezzjonali mill-klijent għas-server (u viċi versa):
    Eż. kmand tas-serverample:
    iperf3 –s –p
    Eż. kmand tal-klijentample: iperf3 -c -p -P –-bidir
  • Biex tibda istanzi multipli (threads) ta' iperf3, ir-rakkomandazzjoni hija li tuża for-loop biex timmappa t-threads mal-portijiet TCP u tħaddem iperf3 fl-isfond billi tuża & biex toħloq proċessi multipli b'mod parallel.
    Eż. kmand tas-serverample, ibda 4 threads: port=""; għal i f'{0..3}; do port=520$i; bash -c "iperf3 -s -p $port &"; lest; Kmand tal-klijent example, ibda 4 ħjut – Ittrażmetti l-port tat-test=""; għal i f'{0..3}; do port=520$i; bash -c "iperf3 -c $serverIP -p $port &"; lest; Kmand tal-klijent example, ibda 4 threads – Irċievi test port=""; for i in {0..3}; do port=520$i; bash -c "iperf3 -R -c $serverIP -p $port &"; done; Għal konnessjonijiet ta' 40G, żid il-for-loop biex toħloq sa 6 istanzi/threads.

NOTA
Meta tħaddem it-test tal-fluss tan-netwerk b'fluss/ħajta waħda (eż.ample: P1), il-proċessuri tal-AMD jistgħu ma jipprovdux it-throughput mistenni, partikolarment bandwidth ogħla
NICs (jekk il-veloċità hija >= 25G bandwidth). B'riżultat ta' dan, l-applikazzjoni tiġi mwaħħla ma' qlub speċifiċi biex jinkiseb throughput ogħla. Ara Settings tal-Applikazzjoni f'paġna 22 u AMD EPYC f'paġna 26.
3.1.3 netperf
L-għodda netperf hija għażla tajba kemm għall-ittestjar tat-throughput kif ukoll tal-latency.

  • It-test TCP_STREAM f'netperf ikejjel il-kapaċitajiet ta' throughput tal-apparat. Kmand tas-server eż.ample: netserver Klijent kmand example: netperf -t TCP_STREAM -l 30 -H
  • It-test TCP_RR f'netperf jirritorna l-latenza f'valur ta' tranżazzjonijiet/sekonda. Dan huwa numru ta' round-trip. Huwa rakkomandat li tuża l-għażla -T x,x, fejn x hija s-CPU lokali għall-apparat. Il-latenza f'direzzjoni waħda tista' tiġi kkalkulata bl-użu ta': Latency(usec)=(1⁄2)/ [Tranżazzjonijiet/sek]*1,000,\ Kmand tas-server example: netserver
    Eż. kmand tal-klijentample: netperf -t TCP_RR -l 30 -H -T x,x
  • Biex tibda istanzi multipli (threads) ta' netperf, ir-rakkomandazzjoni hija li tuża for-loop biex timmappa t-threads mal-portijiet TCP u tħaddem netperf fl-isfond billi tuża & biex toħloq proċessi multipli b'mod parallel.
    Eż. kmand tas-serverample, ibda 8 ħjut:
    port=""; għal i f'{0..7}; do port=520$i; bash -c "netserver -L $serverIP -p $port &"; lest;
    Eż. kmand tal-klijentample, ibda 8 threads: port=""; għal i f'{0..7}; do port=520$i; bash -c "netperf -H $serverIP -p $port -t TCP_STREAM -l 30 &"; lest;

3.2 Metodoloġija tal-Irfinar
Iffoka fuq bidla waħda fl-irfinar kull darba sabiex tkun taf x'impatt tagħmel kull bidla fuq it-test tiegħek. Iktar ma tkun metodiku fil-proċess tal-irfinar, iktar ikun faċli li tidentifika u tindirizza l-kawżi tal-ostakli fil-prestazzjoni.

Irfinar tas-Settings tas-Sewwieq tal-i40e

4.1 Affinità tal-IRQ
Il-konfigurazzjoni tal-affinità tal-IRQ sabiex l-interruzzjonijiet għal kjuwijiet tan-netwerk differenti jkunu affinizzati għal qlub tas-CPU differenti jista' jkollha impatt kbir fuq il-prestazzjoni, partikolarment testijiet ta' throughput multithread.
Biex tikkonfigura l-affinità tal-IRQ, waqqaf irqbalance u mbagħad uża l-iskritt set_irq_affinity mill-pakkett tas-sors tal-i40e jew waħħal il-kjuwijiet manwalment. Iddiżattiva l-bilanċjatur tal-IRQ fl-ispazju tal-utent biex tippermetti l-ipping tal-kju:

  • systemctl jiddiżattiva irqbalance
  • systemctl iwaqqaf irqbalance
    Bl-użu tal-iskritt set_irq_affinity mill-pakkett tas-sors tal-i40e (rakkomandat):
  • Biex tuża l-qlub kollha:
    [mogħdija-għal-i40epackage]/scripts/set_irq_affinity -X kollha ethX
  • Biex tuża biss il-qlub fuq is-sokit NUMA lokali: [path-to-i40epackage]/scripts/set_irq_affinity -X local ethX
  • Tista' wkoll tagħżel firxa ta' qlub. Evita li tuża cpu0 għax dan imexxi kompiti tat-tajmer. [path-to-i40epackage]/scripts/set_irq_affinity 1-2 ethX

NOTA
L-iskritt tal-affinità jippermetti t-Trasmissjoni tal-Pakketti tal-Istering (XPS) bħala parti mill-proċess tal-pinning meta tiġi speċifikata l-għażla -x. Meta l-XPS ikun attivat, Intel jirrakkomanda li tiddiżattiva irqbalance, peress li l-bilanċjatur tal-kernel bl-XPS jista' jikkawża prestazzjoni imprevedibbli. L-iskritt tal-affinità jiddiżattiva l-XPS meta tiġi speċifikata l-għażla -X. Id-diżattivazzjoni tal-XPS u l-attivazzjoni tal-kjuwijiet simmetriċi huma ta' benefiċċju għal tagħbijiet tax-xogħol fejn l-aħjar prestazzjoni tinkiseb meta t-traffiku Tx u Rx jiġu servuti fuq l-istess par(i) ta' kjuwijiet.
Il-konfigurazzjoni ta' kjuwijiet simmetriċi f'Linux tinvolvi l-irfinar tal-parametri tas-sewwieq tal-interfaċċja tan-netwerk biex jiġu attivati ​​kjuwijiet simmetriċi ta' riċeviment (Rx) u kjuwijiet simmetriċi ta' trasmissjoni (Tx) għall-adapters tan-netwerk appoġġjati.
NOTA

  • Il-kjuwijiet simmetriċi huma karatteristika avvanzata tan-netwerking, u mhux l-adapters jew is-sewwieqa tan-netwerk tas-serje 700 kollha jappoġġjawhom.
  • Kun żgur li għandek l-appoġġ meħtieġ għad-drajver u l-ħardwer qabel ma tipprova tikkonfigura kjuwijiet simmetriċi.

Biex tikkonfigura kjuwijiet simmetriċi, segwi dawn il-passi ġenerali:

  1. Editja l-Konfigurazzjoni tal-Interfaċċja tan-Netwerk FileUża editur tat-test (pereżempjuample, vi, nano, jew gedit) biex teditja l-konfigurazzjoni tal-interfaċċja tan-netwerk file. Il- file tipikament jinsab taħt id-direttorju /etc/sysconfig/network-scripts/ u għandu isem bħal ifcfg-ethX, fejn ethX huwa l-isem tal-interface tan-netwerk tiegħek.
  2. Żid Parametri tal-Kju Simetriku. Żid il-linji li ġejjin mal-konfigurazzjoni tal-interfaċċja tan-netwerk file: ETHTOOL_OPTS=”kjuwijiet-rx 8 kjuwijiet-tx 8″
  3. Erġa' ibda s-Servizz tan-Netwerk.
    Wara li tagħmel il-bidliet, erġa' ibda s-servizz tan-netwerk biex tapplika l-konfigurazzjoni l-ġdida. sudo systemctl restart network

Manwalment:

  • Sib il-proċessuri mwaħħlin ma' kull nodu billi tuża: numactl –hardware lscpu
  • Sib il-maskri tal-bit għal kull wieħed mill-proċessuri:
  • Jekk nassumu l-qlub 0-11 għan-nodu 0: [1,2,4,8,10,20,40,80,100,200,400,800]
  • Sib l-IRQs assenjati lill-port li qed jiġi assenjat: grep ethX /proc/interrupts u niżżel il-valuri tal-IRQ Pereżempjuampjiġifieri, 181-192 għat-12-il vettur mgħobbija.
  • Daħħal il-valur tal-affinità tal-SMP fl-entrata tal-IRQ korrispondenti. Innota li dan jeħtieġ li jsir għal kull entrata tal-IRQ: echo 1 > /proc/irq/181/smp_affinity echo 2 > /proc/irq/182/smp_affinity echo 4 > /proc/irq/183/smp_affinity Uri l-affinità tal-IRQ:
  • Biex turi l-affinità tal-IRQ għall-qlub kollha: /skripts/set_irq_affinity -s ethX
  • Biex turi biss il-qlub fuq is-sokit NUMA lokali: /skripts/set_irq_affinity -s ethX lokali
  • Tista' wkoll tagħżel firxa ta' qlub: /skripts/set_irq_affinity -s 40-0-8,16 ethX

NOTA
L-iskritt set_irq_affinity jappoġġja l-bandiera -s fil-verżjoni 40 tas-sewwieq i2.16.11e u aktar tard.
4.2 Kjuwijiet Tx/Rx
L-għadd awtomatiku ta' kjuwijiet attivati ​​għal kull port Ethernet mis-sewwieq fl-inizjalizzazzjoni huwa ugwali għan-numru totali ta' CPUs disponibbli fil-pjattaforma. Dan jaħdem tajjeb għal ħafna pjattaformi u konfigurazzjonijiet ta' tagħbija tax-xogħol. Madankollu, fi pjattaformi b'għadd għoli ta' qlub u/jew densità għolja ta' portijiet Ethernet, din il-konfigurazzjoni tista' tikkawża tilwima tar-riżorsi. Għalhekk, jista' jkun meħtieġ f'xi każijiet li jiġi modifikat l-inadempjenza għal kull port fis-sistema.
L-għadd awtomatiku ta' kjuwijiet Tx/Rx jista' jvarja skont il-mudell speċifiku u l-verżjoni tas-sewwieq. L-għadd ta' kjuwijiet jista' jiġi aġġustat bl-użu tal-kmand ethtool -L elenkat hawn taħt.
NOTA
F'dawn il-każijiet, Intel jirrakkomanda li tnaqqas l-għadd awtomatiku tal-kju għal kull port għal mhux aktar min-numru ta' CPUs disponibbli fin-nodu NUMA lokali għall-port tal-adapter. F'xi każijiet, meta tipprova tibbilanċja r-riżorsi fuq implimentazzjonijiet b'għadd għoli ta' portijiet, jista' jkun meħtieġ li tnaqqas dan in-numru aktar.
Biex timmodifika l-konfigurazzjoni tal-kju:
L-eżample jissettja l-port għal 32 kjuwijiet Tx/Rx: ethtool -L ethX ikkombinati 32
Example output:
ethtool -l ethX
Parametri tal-kanal għal ethX: Massimi stabbiliti minn qabel:
RX: 96
TX: 96
Oħrajn: 1
Magħquda: 96
Is-settings tal-ħardwer attwali:
RX: 0
TX: 0
Oħrajn: 1
Magħquda: 32
4.3 Moderazzjoni tal-Interruzzjoni
Il-moderazzjoni adattiva tal-interruzzjonijiet hija mixgħula awtomatikament, u hija mfassla biex tipprovdi approċċ bilanċjat bejn użu baxx tas-CPU u prestazzjoni għolja. Madankollu, tista' tipprova tirfina s-settings tal-interruzzjonijiet manwalment biex jaqblu mal-każ tal-użu tiegħek.
Il-medda ta' 0-235 mikrosekonda tipprovdi medda effettiva ta' 4,310 sa 250,000 interruzzjoni kull sekonda. Il-valur ta' rx-μsecs-high jista' jiġi ssettjat indipendentement minn rx-μsecs u tx-μsecs fl-istess kmand ethtool, u huwa wkoll indipendenti mill-algoritmu ta' moderazzjoni adattiva tal-interruzzjoni. Il-hardware sottostanti jappoġġja granularità f'intervalli ta' 2 mikrosekondi, għalhekk valuri biswit xulxin jistgħu jirriżultaw fl-istess rata ta' interruzzjoni.

  • Biex titfi l-moderazzjoni adattiva tal-interruzzjoni: ethtool -C ethX adaptive-rx off adaptive-tx off
  • Biex tixgħel il-moderazzjoni adattiva tal-interruzzjoni: ethtool -C ethX adaptive-rx on adaptive-tx on

Post tajjeb minn fejn tibda għal irfinar ġenerali huwa 84 μs, jew ~12000 interruzzjoni/s. Jekk tara li l-counters rx_dropped qed jaħdmu waqt it-traffiku (bl-użu ta' ethtool -S ethX) allura probabbilment għandek CPU bil-mod wisq, mhux biżżejjed buffers mid-daqs taċ-ċirku tal-adapter (ethtool -G) biex iżommu l-pakketti għal 84 μs jew rata ta' interruzzjoni baxxa wisq.

  • Biex tissettja l-moderazzjoni tal-interruzzjonijiet għal rata fissa ta' interruzzjonijiet ta' 84 μs bejn l-interruzzjonijiet (12000 interruzzjoni/s): ethtool -C ethX adaptive-rx off adaptive-tx off rx-usecs 84 tx-usecs 84 Il-valur li jmiss li għandek tipprova, jekk m'intix massimizzat fuq l-użu tas-CPU, huwa 62 μs. Dan juża aktar CPU, iżda jservi l-buffers aktar malajr, u jeħtieġ inqas deskritturi (daqs taċ-ċirku, ethtool -G).
  • Biex tissettja l-moderazzjoni tal-interruzzjonijiet għal rata fissa ta' interruzzjonijiet ta' 62 usecs bejn l-interruzzjonijiet (16000 interruzzjoni/s). ethtool -C ethX adaptive-rx off adaptive-tx off rx-usecs 62 tx-usecs 62
    Jekk il-counters ta' rx_dropped jiżdiedu waqt it-traffiku (bl-użu ta' ethtool -S ethX), probabbilment għandek CPU bil-mod wisq, mhux biżżejjed buffers mid-daqs taċ-ċirku tal-adapter (ethtool -G), jew rata ta' interruzzjoni baxxa wisq. Jekk m'intix massimizzat fl-użu tas-CPU, tista' żżid ir-rata ta' interruzzjoni billi tnaqqas il-valur tal-ITR. Dan juża aktar CPU, iżda jagħti servizz lill-buffers aktar malajr, u jeħtieġ inqas deskritturi (daqs taċ-ċirku, ethtool -G).
    Jekk is-CPU tiegħek jinsab fuq 100%, allura ż-żieda fir-rata ta' interruzzjoni mhix rakkomandata. F'ċerti ċirkostanzi bħal tagħbija tax-xogħol marbuta mas-CPU, tista' tkun trid iżżid il-valur tal-μs biex tippermetti aktar ħin tas-CPU għal applikazzjonijiet oħra.
    Jekk teħtieġ prestazzjoni b'latenza baxxa u/jew għandek ħafna CPU biex tiddedika għall-ipproċessar tan-netwerk, tista' tiddiżattiva l-moderazzjoni tal-interruzzjonijiet għalkollox, li tippermetti li l-interruzzjonijiet jaħarqu malajr kemm jista' jkun.
  • Biex tiddiżattiva l-moderazzjoni tal-interruzzjonijiet ethtool -C ethX adaptive-rx off adaptive-tx off rx-usecs 0 tx-usecs 0

NOTA
Meta taħdem bil-moderazzjoni tal-interruzzjonijiet diżattivata, ir-rata tal-interruzzjonijiet fuq kull kju tista' tkun għolja ħafna. Ikkunsidra li tinkludi l-parametru rx-usec-high biex tissettja limitu massimu fuq ir-rata tal-interruzzjonijiet. Il-kmand li ġej jiddiżattiva l-moderazzjoni adattiva tal-interruzzjonijiet u jippermetti massimu ta' 5 mikrosekondi qabel ma jindika li riċeviment jew trasmissjoni kienet kompluta. Minflok ma jirriżulta f'sa 200,000 interruzzjoni kull sekonda, jillimita l-interruzzjonijiet totali kull sekonda għal 50,000 permezz tal-parametru rx-usec-high. # ethtool -C ethX adaptive-rx off adaptive-tx off rx-usecs-high 20 rx-usecs 5 txusecs 5 Ipprova aġġusta t-tajmer tal-koalexxenza tat-trasmissjoni/riċeviment/prijorità għolja ogħla (80/100/150/200) jew aktar baxx (25/20/10/5) biex issib valur ottimali għall-ammont ta' xogħol.
4.4 Daqs taċ-Ċurkett
Jekk qed tara counters rx_dropped f'ethtool -S ethX (rx_dropped, rx_dropped.nic), jew tissuspetta pressjoni tal-cache b'ħafna kjuwijiet attivi, tista' tipprova taġġusta d-daqs taċ-ċirku mill-valur awtomatiku. Il-valur awtomatiku huwa 512, il-massimu huwa 4096.

  • Biex tiċċekkja l-valuri attwali: ethtool -g ethX
    Jekk ikun issuspettat li n-nuqqas ta' buffering qed jikkawża tnaqqis fir-rata ta' interruzzjoni attwali, tista' tipprova l-massimu l-ewwel, imbagħad il-minimu, imbagħad tkompli f'tfittxija binarja sakemm tara prestazzjoni ottimali.
    Jekk ikun hemm suspett ta' pressjoni tal-cache (ħafna kjuwijiet attivi) it-tnaqqis tal-buffers mid-default jista' jgħin lill-Intel ® Data Direct I/O (Intel ® DDIO) jopera b'mod aktar effiċjenti. Intel jirrakkomanda li tipprova 128 jew 256 għal kull kju, filwaqt li tkun konxju li żieda fir-rata ta' interruzzjoni permezz ta' ethtool -C tista' tkun meħtieġa biex tevita żieda f'rx_dropped.
  • Biex tissettja d-daqs taċ-ċurkett għal valur fiss: ethtool -G eth12 rx 256 tx 256

NOTA
Biex tirranġa t-tnaqqis fil-pakketti Rx misjuba b'ethtool -S ethX|grep drop, ikkunsidra li żżid id-daqs taċ-ċirku għal 4096. Esperimenta biex issib l-aħjar setting għall-ammont ta' xogħol iżda oqgħod attent għal użu eċċessiv tal-memorja b'valuri ogħla.
4.5 Kontroll tal-Fluss
Il-kontroll tal-fluss tas-Saff 2 jista' jkollu impatt konsiderevoli fuq il-prestazzjoni tat-TCP u huwa rakkomandat li jiġi diżattivat għal ħafna mill-workloads. Eċċezzjoni potenzjali hija t-traffiku bursty fejn il-bursts mhumiex twal fit-tul.
Il-kontroll tal-fluss huwa diżattivat awtomatikament.

  • Biex tippermetti l-kontroll tal-fluss: ethtool -A ethX rx on tx on
  • Biex tiddiżattiva l-kontroll tal-fluss: ethtool -A ethX rx off tx off

NOTA
Irid ikollok link partner kapaċi għall-kontroll tal-fluss biex tippermetti l-kontroll tal-fluss b'suċċess.
4.6 Gwarniċi Jumbo
Meta l-ambjent tat-traffiku mistenni jikkonsisti minn blokki kbar ta' dejta li qed jiġu trasferiti, jista' jkun ta' benefiċċju li tiġi attivata l-karatteristika tal-frejm jumbo. L-appoġġ għall-Frejms Jumbo huwa attivat billi l-Unità ta' Trażmissjoni Massima (MTU) tinbidel għal valur akbar mill-valur awtomatiku ta' 1500. Dan jippermetti lill-apparat jittrasferixxi d-dejta f'pakketti akbar fl-ambjent tan-netwerk. Din l-issettjar tista' ttejjeb ir-rendiment u tnaqqas l-użu tas-CPU għal tagħbijiet tax-xogħol kbar ta' I/O. Madankollu, tista' tħalli impatt fuq tagħbijiet tax-xogħol ta' pakketti żgħar jew sensittivi għal-latenza.
NOTA
Il-frejms Jumbo jew is-settings tal-MTU akbar iridu jiġu kkonfigurati kif suppost fl-ambjent tan-netwerk tiegħek.
Uża l-kmand ifconfig biex iżżid id-daqs tal-MTU. Pereżempjuample, daħħal dan li ġej, fejn huwa n-numru tal-interfaċċja: ifconfig mtu 9000 'il fuq
Inkella, tista' tuża l-kmand ip kif ġej: ip link set mtu 9000 dev twaqqif ta' konnessjoni IP dev

Irfinar tal-Pjattaforma (i40e Mhux Speċifiku)

5.1 Settings tal-BIOS

  • Ippermetti Intel® VT-d għal workloads ta' virtualizzazzjoni.
  • L-iper-threading (proċessuri loġiċi) jista' jaffettwa l-prestazzjoni. Esperimenta bih mixgħul jew mitfi għall-ammont ta' xogħol tiegħek.
  • Intel® Turbo Boost jippermetti li l-qlub tas-CPU joperaw bi frekwenza ogħla mill-frekwenza bażi tas-CPU. L-attivazzjoni ta' Intel® Turbo Boost tista' ttejjeb il-prestazzjoni għal ħafna workloads iżda tikkonsma aktar enerġija biex iżżomm il-qlub bi frekwenza ogħla. Esperimenta b'Turbo Boost mitfi/mixgħul għall-workload tiegħek.

NOTA
Il-frekwenzi turbo mhumiex garantiti jekk il-pjattaforma tkun qed tesperjenza utilizzazzjoni ġenerali għolja tas-CPU. Frekwenzi turbo tal-qalba ogħla jitnaqqsu hekk kif tiżdied l-utilizzazzjoni ġenerali tas-CPU.
5.2 Ġestjoni tal-Enerġija
Il-ġestjoni tal-enerġija tista' tħalli impatt fuq il-prestazzjoni, partikolarment f'tagħbijiet tax-xogħol b'latenza baxxa. Jekk il-prestazzjoni hija prijorità ogħla mit-tnaqqis tal-konsum tal-enerġija, Intel jirrakkomanda li tesperimenta bil-limitazzjoni tal-effetti tal-ġestjoni tal-enerġija. Hemm ħafna modi differenti kif tillimita l-ġestjoni tal-enerġija, permezz tal-għodod tas-sistema operattiva, is-settings tal-BIOS, u l-parametri tal-ibbutjar tal-kernel. Agħżel l-aħjar metodu u livell li jaqbel mal-ambjent tiegħek.
5.2.1 Kontroll tal-Istat C
Il-limitazzjoni tad-dħul tal-istat C għal CO jew C1 ittejjeb il-prestazzjoni u żżid l-użu tal-enerġija.
Id-diżattivazzjoni tad-dħul tal-istat tas-CPU Package C6 tista' ttejjeb il-prestazzjoni tan-netwerk. Madankollu, dan iżid l-użu tal-enerġija.
L-għażliet li ġejjin huma disponibbli:

  • Ikkontrolla dinamikament id-dħul fl-istat C:
    Miftuħa
    /dev/cpu_dma_latency u ikteb il-latency massima permessa fiha.

NOTA
Hemm programm żgħir imsejjaħ cpudmalatency.c li jista' jitniżżel mill-komunità open source, jiġi kkompilat, u jitħaddem mil-linja tal-kmand biex jagħmel eżattament dan.
L-eżample jippermetti ħames μs ta' ħin ta' qawmien, u għalhekk jippermetti d-dħul C1: cpudmalatency 5 &

  • Limita l-istat C massimu fis-settings tal-istartjar tal-kernel:
    Għal CPUs Intel: intel_idle.max_cstates=1
    Għal CPUs mhux Intel: processor.max_cstates=1
  • Uża l-kmand cpupower biex tiċċekkja u tiddiżattiva l-istat tas-CPU C6: Iċċekkja: cpupower monitor jew cpupower idle-info
    Iddiżattiva C6: cpupower idle-set -d3 jew
    Iddiżattiva l-Istati C: cpupower idle-set -D0

Noti:

  1. Iddiżattiva l-istati C fuq is-CPU jekk is-server għandu Proċessur(i) Skalabbli Intel® tar-4 Ġenerazzjoni Intel® Xeon®. Meta Hyper Threading ikun attivat jew diżattivat, id-diżattivazzjoni tal-istati wieqaf (-D0) tipprevjeni li l-qlub jidħlu fi stati ta' enerġija baxxa matul perjodi wieqaf u tnaqqas il-latenza għas-CPU biex tittranżizzjona bejn stati wieqaf u attivi.
  2. Il-ġestjoni tal-enerġija tal-Proċessur Skalabbli Intel® tar-4 Ġenerazzjoni Intel® Xeon® hija estremament aggressiva. Biex tevita li l-qlub jidħlu fi stati ta' enerġija baxxa, ipprova tnaqqas in-numru ta' qlub li qed jintużaw biex iżżommhom imqajmin għal aktar żmien (ethtool -L) magħquda ). Ukoll, jorbot l-interruzzjonijiet ma' qlub speċifiċi billi tuża set irq affinity (ħafna drabi b'-x local jew list of CPU cores), u żgura li l-workload jaħdem fuq dawk l-istess qlub b'taskset jew numactl. Dan itejjeb il-prestazzjoni billi jżomm il-qlub attivi u jottimizza l-immaniġġjar tal-interruzzjonijiet.

Ippermetti C6:
cpupower idle-set -d3
Ippermetti l-Istati C:
sett ta' idle tas-cpupower -E

  • Metodu ieħor huwa li tuża l-għodda sintonizzata (inkluża ma' ħafna distribuzzjonijiet tal-Linux) biex tissettja pro tal-prestazzjonifile. Dawn profilejimmodifikaw diversi settings tal-OS li jistgħu jaffettwaw il-prestazzjoni f'ħafna applikazzjonijiet. Instab li l-pro-throughput tan-netwerkfile jipprovdi titjib għall-biċċa l-kbira tat-tagħbijiet tax-xogħol.
    Iċċekkja:
    adm sintonizzat attiv
    Issettja:
    tuned-adm profile throughput tan-netwerk
    NOTA
    Is-servizz tuned irid ikun qed jaħdem għall-kmandi ta' hawn fuq. Biex tiċċekkja/terġa' tibda, tuned: systemctl status tuned systemctl restart tuned
    Tista' wkoll tipprojbixxi kwalunkwe entrata ta' stat C billi żżid dan li ġej mal-linja tal-but tal-kernel:
    inattiv=poll
  • Limita l-istat C permezz tas-settings tal-ġestjoni tal-enerġija tal-BIOS tas-sistema, li jista' jkollhom vantaġġ mill-prestazzjonifile disponibbli.
    Għodod bħal turbostat jew x86_energy_perf_policy jistgħu jintużaw biex jiġu ċċekkjati jew issettjati s-settings tal-ġestjoni tal-enerġija.

5.2.2 Ġestjoni tal-Enerġija tal-PCIe
Il-Ġestjoni tal-Enerġija fi Stat Attiv (ASPM) tippermetti stat ta' enerġija aktar baxx għal-links PCIe meta ma jkunux qed jintużaw b'mod attiv. Dan jista' jikkawża latency ogħla fuq apparati tan-netwerk PCIe, għalhekk Intel jirrakkomanda li tiddiżattiva l-ASPM għal workloads sensittivi għal-latency. Iddiżattiva l-ASPM billi żżid dan li ġej mal-linja tal-boot tal-kernel: pcie_aspm=off
5.2.3 Skalar tal-Frekwenza tas-CPU
L-iskalar tal-frekwenza tas-CPU (jew l-iskalar tal-veloċità tas-CPU) hija teknika ta' ġestjoni tal-enerġija tal-Linux fejn il-veloċità tal-arloġġ tas-sistema tiġi aġġustata immedjatament biex tiffranka l-enerġija u s-sħana. Bħall-istati C, dan jista' jikkawża latency mhux mixtieqa fuq il-konnessjonijiet tan-netwerk.
L-għodda cpupower tista' tintuża wkoll biex tiċċekkja u timmodifika d-defaults u l-limiti tal-prestazzjoni tas-CPU:

  • Iċċekkja: monitor tal-qawwa tas-CPU jew
  • Issettja s-CPUs għall-modalità tal-prestazzjoni: cpupower frequency-set -g performance

NOTA
Modifiki fil-limiti tal-frekwenza tas-CPU jistgħu jkollhom impatt fuq ħafna workloads u jistgħu jiddiżattivaw karatteristiċi oħra, bħall-modalità turbo tas-CPU.
Biex tiddiżattiva l-iskalar tal-frekwenza tas-CPU, iddiżattiva s-servizz tal-enerġija tas-CPU bil-kmandi li ġejjin:
systemctl iwaqqaf cpupower.service
systemctl iddiżattiva cpupower.service
5.2.4 Gwida Addizzjonali dwar il-Ġestjoni tal-Enerġija
Aktar dettalji huma pprovduti f'dan l-inkjesta ta' livell għoli.view ta' ħafna mill-karatteristiċi tal-ġestjoni tal-enerġija fil-proċessuri Intel® Xeon® Scalable tat-3 Ġenerazzjoni, kif ukoll gwida dwar kif dawn il-karatteristiċi jistgħu jiġu integrati fil-livell tal-pjattaforma: https://networkbuilders.intel.com/solutionslibrary/power-management-technologyoverview-technology-guide
5.3 Intel® Turbo Boost
Intel® Turbo Boost jagħmel il-proċessur aktar mgħaġġel meta jkun meħtieġ iżda jista' jikkonsma enerġija addizzjonali. It-tifi ta' Turbo Boost iżomm il-proċessur b'veloċità kostanti, u jagħtik livell ta' prestazzjoni konsistenti għal workloads speċifiċi.
5.4 Firewalls
Il-firewalls jistgħu jaffettwaw il-prestazzjoni, b'mod partikolari l-prestazzjoni tal-latenza.
Iddiżattiva iptables/firewalld jekk mhux meħtieġ.
5.5 Settings tal-Applikazzjoni
Spiss ħajta waħda (li tikkorrispondi għal kju wieħed tan-netwerk) mhix biżżejjed biex tikseb il-bandwidth massimu. Xi arkitetturi ta' pjattaformi, bħal AMD, għandhom it-tendenza li jwaqqgħu aktar pakketti Rx b'ħajta waħda meta mqabbla ma' pjattaformi bi proċessuri bbażati fuq Intel.
Ikkunsidra li tuża għodod bħal taskset jew numactl biex twaħħal applikazzjonijiet man-nodu NUMA jew mal-qlub tas-CPU lokali għall-apparat tan-netwerk. Għal xi tagħbijiet tax-xogħol bħall-I/O tal-ħażna, iċ-ċaqliq tal-applikazzjoni għal nodu mhux lokali jipprovdi benefiċċju.
Esperimenta billi żżid in-numru ta' threads użati mill-applikazzjoni tiegħek jekk possibbli.
Verżjoni tal-Kernel 5.6
Il-biċċa l-kbira tal-kernels moderni in-box huma raġonevolment ottimizzati għall-prestazzjoni iżda, skont il-każ ta' użu tiegħek, l-aġġornament tal-kernel jista' jipprovdi prestazzjoni mtejba. It-tniżżil tas-sors jippermettilek ukoll li tattiva/tiddiżattiva ċerti karatteristiċi qabel ma tibni l-kernel.
5.7 Is-Settings tas-Sistema Operattiva/Kernel
Ikkonsulta gwidi għall-irfinar tas-sistema operattiva, bħar-Red Hat Enterprise Linux Network Performance Tuning Guide, għal aktar għarfien dwar l-irfinar ġenerali tas-sistema operattiva.
Xi parametri komuni li għandhom jiġu aġġustati huma elenkati fit-tabella li ġejja. Innota li dawn huma biss punti tat-tluq suġġeriti, u l-bdil tagħhom mill-valuri default jista' jżid ir-riżorsi użati fis-sistema. Għalkemm iż-żieda tal-valuri tista' tgħin biex tittejjeb il-prestazzjoni, huwa meħtieġ li tesperimenta b'valuri differenti biex tiddetermina x'jaħdem l-aħjar għal sistema, tagħbija tax-xogħol u tip ta' traffiku partikolari.
Il-parametri tal-kernel jistgħu jiġu kkonfigurati bl-użu tal-utilità sysctl fil-Linux kif indikat hawn taħt.
Biex view il-valuri awtomatiċi għal rmem u wmem fis-sistema:
sysctl net.core.rmem_default
sysctl net.core.wmem_default
Issettja l-valuri għall-massimu (16 MB):
sysctl -w net.core.rmem_max=16777216
sysctl -w net.core.wmem_max=16777216
Id-daqsijiet tal-buffer tas-sokit, magħrufa wkoll bħala receive buffer (rmem) u transmit buffer (wmem), huma parametri tas-sistema li jispeċifikaw l-ammont ta' memorja riservata għat-traffiku tan-netwerk li jkun dieħel u ħiereġ.
It-tħaddim ta' sysctl mingħajr l-argument -w jelenka l-parametru bis-setting attwali tiegħu.

Issettjar tal-Munzell Deskrizzjoni
net.core.rmem_default Daqs tat-Tieqa ta' Riċeviment Predefinit
net.core.wmem_default Daqs tat-Tieqa tat-Trażmissjoni Predefinita
net.core.rmem_max Daqs Massimu tat-Tieqa ta' Riċeviment
net.core.wmem_max Daqs Massimu tat-Tieqa tat-Trażmissjoni
net.core.optmem_max Buffers tal-Memorja tal-Għażla Massima
net.core.netdev_max_backlog L-akkumulazzjoni ta' pakketti mhux ipproċessati qabel ma jibda l-kernel jaqa'
net.ipv4.tcp_rmem Riżervatur tal-memorja għal buffers tal-qari tat-TCP
net.ipv4.tcp_wmem Riżervatur tal-memorja għal buffers tat-TCP send

Il-kernel, l-istack tan-netwerk, il-memory handler, il-veloċità tas-CPU, u l-parametri tal-ġestjoni tal-enerġija jistgħu jkollhom impatt kbir fuq il-prestazzjoni tan-netwerk. Rakkomandazzjoni komuni hija li tapplika għall-programm tan-netwerk throughput pro.file bl-użu tal-kmand tuned. Dan jimmodifika ftit settings tal-OS biex jipprovdi preferenza lill-applikazzjonijiet tan-netwerking.
Iċċekkja:
adm sintonizzat attiv
Issettja:
tuned-adm profile throughput tan-netwerk
5.8 L-Akkumulazzjoni ta' Apparati tan-Netwerk
Din il-karatteristika tgħin biex ittejjeb il-prestazzjoni tan-netwerk billi timmaniġġja t-traffiku li jkun dieħel b'mod effettiv, tnaqqas it-telf tal-pakketti, tnaqqas il-latency, u żżid ir-rendiment. Dan iwassal għal esperjenza aħjar għall-utent u rispons aktar mgħaġġel tas-sistema.
B'mod awtomatiku, huwa attivat fil-biċċa l-kbira tas-sistemi operattivi Linux. Biex tiċċekkja l-valur awtomatiku:
sysctl net.core.netdev_max_backlog
Il-valur massimu għal netdev_max_backlog jista' jvarja skont fatturi bħall-verżjoni tal-kernel, il-hardware, il-memorja, u l-ammont ta' xogħol. F'ħafna każijiet, 8192 jitqies bħala valur tajjeb. sysctl -w net.core.netdev_max_backlog=8192
5.9 Konfigurazzjonijiet u Irfinar Speċifiċi għall-Pjattaforma
5.9.1 Proċessuri Skalabbli Intel® Xeon® tar-4 Ġenerazzjoni

Il-ġestjoni tal-enerġija tal-proċessur Intel® Xeon® Scalable tar-4 Ġenerazzjoni hija estremament aggressiva meta mqabbla mal-proċessuri Intel® Xeon® Scalable tat-3 Ġenerazzjoni. Biex tevita li l-qlub jidħlu fi stati ta' enerġija baxxa, ipprova tnaqqas in-numru ta' qlub li qed jintużaw biex iżżommhom imqajmin għal aktar żmien.
Is-Settings tal-BIOS Rakkomandati għall-Ogħla Prestazzjoni

  1. Attivazzjoni/diżattivazzjoni tal-hyper-threading (ibbażat fuq ir-rekwiżit tal-ammont ta' xogħol u l-għanijiet tal-prestazzjoni) fuq is-CPU.
  2. Issettja s-sistema profile għall-Prestazzjoni għall-massimu tal-prestazzjoni.
    NOTA
    Dan jirriżulta f'konsum ogħla ta' enerġija
  3. Issettja l-ġestjoni tal-enerġija tas-CPU għal Prestazzjoni Massima biex tipprijoritizza l-prestazzjoni massima tas-CPU fuq l-effiċjenza tal-enerġija.
  4. Ippermetti Turbo Boost. Id-diżattivazzjoni ta' Turbo Boost fis-settings tal-BIOS tas-sistema tipikament tipprevjeni lis-CPU milli żżid b'mod dinamiku l-veloċità tal-arloġġ tagħha lil hinn mill-frekwenza bażi tagħha.
  5. NOTA
    Id-diżattivazzjoni tat-Turbo Boost tista' tkun adattata għal ċerti każijiet ta' użu fejn il-prestazzjoni konsistenti, l-effiċjenza tal-enerġija, jew il-ġestjoni termali huma prijoritizzati fuq il-prestazzjoni massima.
  6. Itfi l-karatteristika tal-Virtualizzazzjoni Single Root I/O (SR-IOV), jekk is-sistema ma tkunx qed tutilizza teknoloġiji ta' virtualizzazzjoni.
  7. Iddiżattiva l-istati C biex tagħti struzzjonijiet lis-CPU biex tibqa' attiva u tevita li tidħol f'stati ta' inattività aktar profondi.
  8. Iddiżattiva C1E, biex tiżgura li s-CPU jibqa' attiv u ma jidħolx fl-istat wieqaf tas-C1E.
  9. Issettja l-frekwenza mhux ċentrali għall-massimu biex tagħti struzzjonijiet lis-sistema biex topera bl-ogħla frekwenza disponibbli.
  10. Fuq pjattaformi Dell, issettja l-emulazzjoni tal-qalba Multiple APIC Description Table (MADT) għal Lineari (jew Round-Robin skont il-BIOS) biex tipprovdi mmappjar ċar u prevedibbli tal-qlub tas-CPU.

Aġġustamenti Rakkomandati fil-Livell tal-OS għal Prestazzjoni Ottimizzata

  1. Issettja r-regolatur tal-iskalar tal-frekwenza tas-CPU għall-prestazzjoni. cpupower frequency-set -g performance cpupower frequency-info
  2. Iddiżattiva l-Istati C. cpupower idle-set -D0
  3. Issettja l-buffers tal-qalba Rx (rmem) u Tx (wmem) għall-valur massimu. sysctl -w net.core.rmem_max=16777216 sysctl -w net.core.wmem_max=16777216
  4. Issettja l-backlog tal-apparat tan-netwerk. sysctl -w net.core.netdev_max_backlog=8192
  5. Issettja pro sintonizzatfile (l-ammont ta' xogħol jiddependi fuq ir-rendiment/latenza).
    tuned-adm profile throughput tan-netwerk

Irfinar tal-Livell tal-Adapter Rakkomandat għal Prestazzjoni Ottimizzata

  1. Limita n-numru ta' kjuwijiet li għandhom jintużaw għat-traffiku tal-applikazzjoni. Uża n-numru minimu ta' kjuwijiet meħtieġa biex iżżomm il-qlub tas-CPU assoċjati attivi biex tevita li jidħlu fi stati ta' inattività aktar profondi (aġġusta għat-tagħbija tax-xogħol): ethtool -L 32 magħquda
  2. Issettja r-rati tal-moderazzjoni tal-interruzzjonijiet. ethtool -C adattament-rx mitfi adattament-tx mitfi rx-usecs-high 50 rx-usecs 50 tx-usecs 50
    Ipprova aġġusta t-tajmer tat-trażmissjoni/riċeviment/koalexxenza ta' prijorità għolja għal ogħla (80/100/150/200) jew aktar baxx (25/20/10/5) biex issib valur ottimali għall-ammont ta' xogħol.
  3. Issettja d-daqsijiet taċ-ċrieki Rx/Tx. ethtool -G rx 4096 tx 4096
    NOTA
    Jekk tara pakketti Rx jaqgħu b'ethtool -S| grep drop, ipprova tnaqqas id-daqs taċ-ċirku għal <4096. Ipprova sib il-valur ottimali għall-ammont ta' xogħol fejn il-pakketti ma jitħallewx.
  4. Issettja l-Affinità tal-IRQ. Uża qlub lokali għall-NIC, jew mappaġġ speċifiku tal-qlub (fejn in-numru ta' qlub huwa ugwali għan-numru ta' kjuwijiet issettjati f'1 f'paġna 26. systemctl stop irqbalance set_irq_affinity -X local JEW set_irq_affinity -X

5.9.2 AMD EPYC
Il-proċessuri tal-AMD EPYC huma CPUs qawwija magħmula għal servers u ċentri tad-dejta, mibnija fuq l-arkitettura Zen tal-AMD. Is-settings t'hawn taħt huma mis-serje EPYC tar-raba' ġenerazzjoni tal-AMD.
Settings tal-BIOS Rakkomandati għall-Ogħla Prestazzjoni

  1. Ippermetti l-modalità personalizzata biex l-utenti jkunu jistgħu jaġġustaw il-prestazzjoni tas-CPU, il-konsum tal-enerġija, u settings oħra. Dan jgħin fl-irfinar tas-sistema għall-aħjar bilanċ bejn il-prestazzjoni u l-effiċjenza tal-enerġija.
  2. Ippermetti ż-żieda fil-prestazzjoni tal-qalba biex is-CPU tkun tista' żżid il-veloċità tagħha awtomatikament biex timmaniġġja kompiti aktar intensivi, u b'hekk ittejjeb il-prestazzjoni ġenerali.
  3. Iddiżattiva l-kontroll globali tal-istat C, biex tevita li s-CPU tidħol fi stati aktar profondi ta' ffrankar tal-enerġija magħrufa bħala stati C, li jistgħu jżommu r-rispons.
    NOTA
    Id-diżattivazzjoni tal-istati C tista' tikkawża konsum addizzjonali tal-enerġija u żżid it-temperaturi termali. Immonitorja t-tnejn għall-ammont ta' xogħol.
  4. Ippermetti/iddiżattiva l-Multithreading Simultanju (SMT) fuq is-CPU, ibbażat fuq ir-rekwiżit tal-ammont ta' xogħol u l-għanijiet tal-prestazzjoni. L-SMT huwa ekwivalenti għal Hyper Threading fuq is-CPUs tal-Intel.
    NOTA
    Għal prestazzjoni ottimizzata, irreferi għal Tuning i40e Driver Settings f'paġna 13 u Platform Tuning (i40e Non-Specific) f'paġna 19 għall-irfinar rakkomandat tal-livell tal-OS u tal-adapter.

Twaħħil tal-Adapter

Il-Linux bonding hija karatteristika qawwija li tista' ttejjeb b'mod sinifikanti l-prestazzjoni tan-netwerk, ir-redundanza, u t-tolleranza għall-ħsarat f'ambjenti ta' servers. Madankollu, huwa importanti li wieħed jinnota li teħtieġ hardware tan-netwerk kompatibbli u konfigurazzjoni xierqa kemm fuq is-server kif ukoll fuq is-swiċċ biex tiffunzjona sew.
Is-sewwieq tal-bonding f'Linux jippermettilek li tiġbor flimkien diversi interfaces fiżiċi tan-netwerk f'interface magħquda. Din l-interface magħquda tidher bħala interface virtwali waħda tan-netwerk għas-sistema operattiva u l-applikazzjonijiet.
NOTA
Il-bond huwa interface loġiku, għalhekk mhux possibbli li tissettja l-affinità tas-CPU direttament fuq l-interface tal-bond (pereżempjuample, bond0). Jiġifieri, m'għandu l-ebda kontroll dirett fuq l-immaniġġjar tal-interruzzjonijiet jew l-affinità tas-CPU. L-affinità tas-CPU trid tiġi kkonfigurata għall-interfejsijiet sottostanti li huma parti mill-bond.
It-twaħħil jipprovdi diversi modi ta' operazzjonijiet, kull wieħed bil-karatteristiċi tiegħu stess.

Modalità  Tip
0 Round Robin
1 Backup Attiv
2 XOR
3 Xandira
4 LACP
5 Bilanċ tat-Tagħbija tat-Trażmissjoni
6 Bilanċ tat-Tagħbija Adattiv

Hemm metodi differenti biex toħloq bonding f'Linux. Wieħed mill-aktar metodi komuni huwa billi tuża l-konfigurazzjoni tan-netwerk files (eżample, /etc/network/ interfaces jew /etc/sysconfig/network-scripts/ifcfg-bondX).
Konfigurazzjoni bl-użu tal-Konfigurazzjoni tan-Netwerk Files
Il-passi li ġejjin joħolqu twaħħil permezz tal-konfigurazzjoni tan-netwerk files.

  1. Agħżel żewġ portijiet NIC jew aktar għall-irbit (pereżempjuample, ethX u ethY)
  2. Konfigurazzjoni Miftuħa tan-NIC Files taħt /etc/sysconfig/network-scripts/ għall-Interface NIC meħtieġa (pereżempjuample, vi ifcfg-ethX u vi ifcfg-ethY) u żid it-test li ġej:
    MASTER=bondN [Nota: N huwa numru sħiħ biex jissemma n-numru tal-bond.] SLAVE=iva
  3. Oħloq skript ta' netwerk ta' bonds file billi tuża vi /etc/sysconfig/networkscripts/ifcfg-bondN u daħħal it-test li ġej:
    DEVICE=bondN [Nota: N huwa numru sħiħ biex isemmi n-numru tal-bond] ONBOOT=iva USERCTL=le BOOTPROTO=dhcp (jew) xejn
    IPADDR=200.20.2.4 [meħtieġ jekk BOOTPROTO=xejn] NETMASK=255.255.255.0 [meħtieġ jekk BOOTPROTO=xejn] NETWORK=200.20.2.0 [meħtieġ jekk BOOTPROTO=xejn] BROADCAST=200.20.2.255 [meħtieġ jekk BOOTPROTO=xejn] BONDING_OPTS=”mode=1 miimon=100″
    NOTA
    Il-modalità tista' tkun kwalunkwe numru sħiħ minn 0 sa 6 skont ir-rekwiżit.
  4. Erġa' ibda s-servizzi tan-netwerk billi tuża service network restart jew systemctl restart NetworkManager.service

Soluzzjoni ta' Problemi ta' Prestazzjoni

7.1 Użu tas-CPU
Iċċekkja l-użu tas-CPU għal kull qalba waqt li l-workload ikun qed jaħdem.
Innota li l-utilizzazzjoni għal kull qalba hija aktar rilevanti għall-prestazzjoni milli l-utilizzazzjoni ġenerali tas-CPU peress li tipprovdi idea tal-utilizzazzjoni tas-CPU għal kull kju tan-netwerk. Jekk għandek biss ftit threads li jħaddmu t-traffiku tan-netwerk, allura jista' jkollok biss ftit qlub li qed jintużaw. Madankollu, jekk dawk il-qlub huma 100%, allura t-throughput tan-netwerk tiegħek x'aktarx huwa limitat mill-utilizzazzjoni tas-CPU u wasal iż-żmien li tagħmel dan li ġej:

  1. Aġġusta l-moderazzjoni tal-IRQ/id-daqs taċ-ċirku kif iddettaljat f'Moderazzjoni tal-Interruzzjoni.
  2. Żid in-numru ta' threads tal-applikazzjoni biex tqassam it-tagħbija tas-CPU fuq aktar qlub. Jekk il-qlub kollha qed jaħdmu b'100% allura l-applikazzjoni tiegħek tista' tkun marbuta mas-CPU aktar milli man-netwerk.

Għodod komunement disponibbli:

  • fuq
    — Agħfas 1 biex tespandi l-lista ta' CPUs u tiċċekkja liema qed jintużaw.
    — Innota l-livell ta' utilizzazzjoni.
    — Innota liema proċessi huma elenkati bħala l-aktar attivi (fil-quċċata tal-lista).
  • mpstat
    L-eżampIl-linja tal-kmand ġiet ittestjata fuq Red Hat Enterprise Linux 7.x.
    Juri l-użu tas-CPU għal kull qalba (billi jsib il-perċentwal totali ta' wieqaf u jnaqqas minn 100) u jenfasizza l-valuri 'l fuq minn 80% bl-aħmar. mpstat -P ALL 1 1 | grep -v Average | tail -n +5 | head -n -1 | awk '{ print (100-$13)}' | egrep -color=always '[^\.][8-9][0-9][\.]?.*|^[8-9][0-9][\.]?.*| 100|' | column
  • perf top Fittex fejn qed jintefqu ċ-ċikli.

7.2 Kontaturi i40e
Is-sewwieq i40e jipprovdi lista twila ta' counters għad-debug u l-monitoraġġ tal-interfaċċja permezz tal-kmand ethtool -S ethX. Jista' jkun ta' għajnuna li wieħed jara l-output waqt li jkun qed jaħdem workload u/jew iqabbel il-valuri tal-counter qabel u wara tħaddim ta' workload.

  • Biex tikseb dump sħiħ tal-counters tal-i40e: ethtool -S ethX
  • Biex tara biss il-counters mhux żero: watch -d (ethtool -S ethX) | egrep -v :\ 0 | column
    Xi affarijiet li għandek tfittex:
  • rx_dropped tfisser li s-CPU mhux qed iservi l-buffers malajr biżżejjed.
  • port.rx_dropped tfisser li xi ħaġa mhix veloċi biżżejjed fis-slott/memorja/sistema.

7.3 Kontaturi tan-Netwerk
Iċċekkja netstat -s qabel/wara tħaddim ta' tagħbija tax-xogħol.
Netstat jiġbor informazzjoni dwar in-netwerk mill-apparati kollha tan-netwerk fis-sistema. Għalhekk, ir-riżultati jistgħu jiġu affettwati minn netwerks oħra għajr in-netwerk li qed jiġi ttestjat. L-output minn netstat -s jista' jkun indikatur tajjeb ta' kwistjonijiet ta' prestazzjoni fis-sistema operattiva Linux jew fil-kernel. Ikkonsulta gwidi għall-irfinar tas-sistema operattiva, bħar-Red Hat Enterprise Linux Network Performance Tuning Guide, għal aktar għarfien dwar l-irfinar ġenerali tas-sistema operattiva.
7.4 Reġistri tas-Sistema
Iċċekkja l-logs tas-sistema għal żbalji u twissijiet (/var/log/messages, dmesg).
7.5 Għodda Intel svr-info
Intel jipprovdi għodda svr-info (ara https://github.com/intel/svr-info) għal Linux li jaqbad dettalji rilevanti tal-ħardwer u s-softwer minn server. L-output ta' svr-info jista' jkun estremament utli biex jiġu identifikati l-konġestjonijiet tas-sistema jew is-settings/irfinar li mhumiex ottimizzati għall-ammont ta' xogħol. Meta tiftaħ każ ta' appoġġ ma' Intel għal kwistjonijiet ta' prestazzjoni relatati mal-Ethernet, kun żgur li tinkludi l-output ta' svr-info (test file) għal kull server Linux fil-konfigurazzjoni tat-test.

  1. Niżżel u installa svr-info:
    wget -qO- https://github.com/intel/svr-info/releases/latest/download/svrinfo.tgz| tar xvz cd svr-info
    ./svr-info
    > isem tal-host.txt
  2. Iġbor l-output:
    ./svr-info > isem tal-host.txt
  3. Waħħal test wieħed (.txt) file għal kull server għall-każ ta' appoġġ Intel tiegħek għall-analiżi.

Rakkomandazzjonijiet għal Xenarji ta' Prestazzjoni Komuni

8.1 It-Trasmissjoni tal-IP

  • Aġġorna l-kernel.
    Xi kernels reċenti fid-distro ddegradaw il-prestazzjoni tar-rottaġġ minħabba bidliet fil-kernel fil-kodiċi tar-rottaġġ li jibdew bit-tneħħija tal-cache tar-rottaġġ minħabba s-sigurtà. Kernels reċenti barra mid-distro għandu jkollhom irqajja li jtaffu l-impatt fuq il-prestazzjoni ta' dawn il-bidliet u jistgħu jipprovdu prestazzjoni mtejba.
  • Iddiżattiva l-hyper-threading (qlub loġiċi).
  • Editja l-parametri tal-ibbutjar tal-kernel.
    — Iġġiegħel lil iommu jitfi (intel_iommu=off jew iommu=off) mil-linja tal-but tal-kernel sakemm ma jkunx meħtieġ għall-virtualizzazzjoni
    — Itfi l-ġestjoni tal-enerġija: processor.max_cstates=1 idle=poll pcie_aspm=off
  • Limita n-numru ta' kjuwijiet biex ikun ugwali għan-numru ta' qlub fuq is-sokit lokali (12 f'dan l-eżempju)ample). ethtool -L ethX magħquda 12
  • Ikkonnettja l-interruzzjonijiet mas-sokit lokali biss. set_irq_affinity -X ethX lokali JEW set_irq_affinity -X ethX lokali
    NOTA
    -X jew -x jistgħu jintużaw skont l-ammont ta' xogħol.
  • Ibdel id-daqsijiet taċ-ċrieki Tx u Rx kif meħtieġ. Valur akbar jieħu aktar riżorsi iżda jista' jipprovdi rati ta' twassil aħjar. ethtool -G ethX rx 4096 tx 4096
  • Iddiżattiva l-GRO meta tkun qed tagħmel ir-rotta.
    Minħabba problema magħrufa tal-kernel, GRO għandu jintefa meta ssir ir-rottazzjoni/il-bgħit 'il quddiem. ethtool -K ethX gro off fejn ethX hija l-interface tal-Ethernet li għandha tiġi modifikata.
  • Iddiżattiva l-moderazzjoni adattiva tal-interruzzjoni u ssettja valur statiku. ethtool -C ethX adaptive-rx off adaptive-tx off ethtool -C ethX rx-usecs 64 tx-usecs 64

NOTA
Skont it-tip ta' proċessur u l-ammont ta' xogħol, il-parametri tal-koalexxenza għal RX u TX jistgħu jiġu aġġustati għal prestazzjoni mtejba (jew inqas telf ta' frejms).

  • Iddiżattiva l-firewall. sudo systemctl iddiżattiva firewalld sudo systemctl waqqaf firewalld
  • Ippermetti t-trażmissjoni tal-IP. sysctl -w net.ipv4.ip_forward=1
  • Ikkonfigura l-valuri massimi għad-daqsijiet tal-buffer tas-sokit tar-riċeviment u tal-ibgħat. sysctl -w net.core.rmem_max=16777216 sysctl -w net.core.wmem_max=16777216

NOTA
Skont l-ammont ta' xogħol jew ir-rekwiżit, dawn il-valuri jistgħu jinbidlu mill-valuri awtomatiċi.
8.2 Latenza Baxxa

  • Itfi l-hyper-threading (qlub loġiċi).
  • Kun żgur li l-apparat tan-netwerk huwa lokali għal numā core 0.
  • Waħħal il-punt ta' riferiment mal-qalba 0 billi tuża taskset -c 0.
  • Itfi irqbalance billi tuża systemctl stop irqbalance jew systemctl disable irqbalance
  • Mexxi l-iskritt tal-affinità biex tinfirex bejn il-qlub. Ipprova jew lokali jew kollha.
  • Itfi l-moderazzjoni tal-interruzzjonijiet. ethtool -C ethX rx-usecs 0 tx-usecs 0 adaptive-rx off adaptive-tx off rxusecs- high 0
  • Limitu tan-numru ta' kjuwijiet biex ikun ugwali għan-numru ta' qlub fuq is-sokit lokali (32 f'dan l-eżempju)ample). ethtool -L ethX magħquda 32
  • Ikkonnettja l-interruzzjonijiet mas-sokit lokali biss (skript ippakkjat mas-sors tas-sewwieq tal-i40e). set_irq_affinity -X ethX lokali
  • Uża punt ta' riferiment stabbilit bħal netperf -t TCP_RR, netperf -t UDP_RR, jew NetPipe. netperf -t TCP_RR jew netperf -t UDP_RR
  • Waħħal il-punt ta' riferiment ma' qalba waħda fin-nodu NUMA lokali. taskset -c

Intel® Ethernet Serje 700
Gwida għall-Irfinar tal-Prestazzjoni tal-Linux
Diċembru 2024
Numru tad-Dokument: 334019, Rev.: 1.2

Dokumenti / Riżorsi

Irfinar tal-Prestazzjoni tal-Linux tas-Serje Intel Ethernet 700 [pdfGwida għall-Utent
334019, Ethernet 700 Serje Linux Tuning tal-Prestazzjoni, Ethernet 700 Serje, Linux Tuning tal-Prestazzjoni, Tuning tal-Prestazzjoni, Tuning

Referenzi

Ħalli kumment

L-indirizz elettroniku tiegħek mhux se jiġi ppubblikat. L-oqsma meħtieġa huma mmarkati *