Intel ® Ethernet rêzefîlma 700
Rêbernameya Mîhengkirina Performansa Linuxê
Koma Tora Ewr a NEX (NCNG)
Rev. 1.2
Berfanbar 2024
Dîroka Revision
Nûxwestin | Rojek | Comments |
1.2 | Berfanbar 2024 | · Rêbernameya Rêvebiriya Hêzê ya Zêde lê zêde kir. · Intel* Turbo Boost lê zêde kir. · Paşketina Amûrên Torê lê zêde kir. · Mîhengkirin û Guherandinên Taybetî yên Platformê hatine zêdekirin. · Prosesorên Pîvanbar ên Intel* %eon* yên nifşa 4-an hatine zêdekirin. · AMD EPYC lê zêde kir. · Kapasîteyên Amûrên Sîstemê yên Kontrolê yên Nûvekirî. · iPerf2 nûvekirî ye. · iPerf3 nûvekirî ye. · Rêzên Tx/Rx yên nûvekirî. · Moderasyona Navberdanê ya Nûvekirî. · Mezinahiya Zengilê ya Nûvekirî. · Mîhengkirina Platformê ya Nûvekirî (i40e Ne Taybet). · Mîhengên BIOS-ê yên nûvekirî. · Kontrola Rewşa C-yê ya nûvekirî. · Pîvana Frekansa CPU-yê ya nûvekirî. · Mîhengên Serlêdanê yên Nûvekirî. · Mîhengên Pergala Xebitandinê/Kernelê yên Nûvekirî. · Pêşvebirina IP-yê ya nûvekirî. · Latency Kêm Hatiye Nûvekirin. |
Tebax 2023 | Guhertinên vê belgeyê ev in: · Referansên Têkildar lê zêde kirin. · Piştrastkirina ku pakêta DDP bi rêkûpêk tê barkirin lê zêde kir. · iPerf2 lê zêde kir. · iPerf3 lê zêde kir. · Netperf lê zêde kir. · IRQ Affinity nûvekirî. · Rêzên Tx/Rx hatine zêdekirin. · Mezinahiya Zengilê ya Nûvekirî. · Çarçoveyên Jumbo hatine zêdekirin. · Girêdana Adapterê lê zêde kir. · Amûra Intel svr-info lê zêde kir. |
|
1.0 | Adar 2016 | Guhertoya Destpêkê (Intel Public). |
Pêşkêş
Ev rêbername armanc dike ku rêbernameyek ji bo mîhengkirina jîngehên ji bo performansa torê ya çêtirîn bi karanîna NIC-ên Intel ® Ethernet 700 Series di jîngehên Linux-ê de peyda bike. Ew li ser şert û mercên hardware, ajokar û pergala xebitandinê û mîhengên ku dikarin performansa torê baştir bikin disekine. Divê were zanîn ku performansa torê dikare ji hêla hejmarek bandorên derveyî ve bandor bibe, tenê yên herî gelemperî û dramatîk di vê rêbernameyê de têne vegotin.
1.1 Referansên Têkildar
- Rêbernameya Bikarhêner ji bo hemî adapter û cîhazên Intel ® Ethernet, ku Windows û Linux piştgirî dikin:
Rêbernameya Bikarhêner a Adaptêr û Amûrên Ethernet ên Intel ® - Daneyên Teknîkî:
Pelê Daneyên Kontrolkera Ethernetê ya Intel ® X710/XXV710/XL710 - Pakêta SW ya temam ji bo hemî hilberên Intel ® Ethernet (hemû ajokar, NVM, amûr, hwd. dakêşin):
Pakêta Ajokarên Temam a Adaptora Ethernet a Intel ® - Pakêta Nûvekirina NVM (Bîra Neguhêrbar):
Amûra Nûvekirina Bîra Neguhêrbar (NVM) ji bo Adaptora Tora Ethernet a Intel ® rêzenivîsa 700 - Amûra svr-info ji bo Linuxê ku hûrguliyên nermalav û alavên têkildar ji serverekê digire: https://github.com/intel/svr-info
- Rêbernameya Teknolojiya DDP:
Rêbernameya Teknolojiya Kesanekirina Amûrên Dînamîk (DDP) ya Intel ® Ethernet 700 Series
Lîsteya kontrolê ya destpêkê
2.1 Guhertoyên Ajokar/Firmware Nûve Bike
Guhertoyên ajokar/firmware bi karanîna ethtool -i ethx kontrol bikin.
Li gorî pêwîstiyê yên jêrîn nûve bikin:
- Ajokarê i40e nûve bike
http://sourceforge.net/projects/e1000/files/i40e%20stable/ or https:// downloadcenter.intel.com/ download/24411/Network-Adapter-Driver-for-PCI-E-40- Gigabit-Network-Connections-under-Linux - Firmware nûve bikin
https: //downloadcenter.intel.com/download/24769/NVM-Update-Utility-for-Intel- Ethernet-ConvergedNetwork-Adapter-XL710-X710-Series
2.2 README bixwîne
Ji bo pirsgirêkên naskirî kontrol bike û rêwerzên mîhengkirinê yên herî dawî ji README bistîne file di pakêta çavkaniya i40e de heye.
2.3 Kontrol bike ka hêlîna te ya PCI Express (PCIe) x8 e
Hin hêlînên PCIe x8 bi rastî wekî hêlînên x4 hatine mîheng kirin. Van hêlînan ji bo rêjeya xeta tevahî bi cîhazên du port û çar portan re bandfirehiya wan têrê nake. Wekî din, heke hûn adaptorek PCIe v3.0-yê ku dikare were bikar anîn têxin nav hêlînek PCIe v2.x, hûn nekarin bandfirehiya tevahî bistînin. Ajokara cîhaza nermalavê vê rewşê tespît dike û peyama jêrîn di têketina pergalê de dinivîse:
Girêdana fireh a PCI-Express ya berdest ji bo vê kartê ji bo performansa çêtirîn têrê nake. Ji bo performansa çêtirîn hêlînek PCI-Express a x8 hewce ye.
Eger ev çewtî çêbibe, adaptora xwe veguhezînin hêlînek PCIe v3.0 x8 ya rastîn da ku pirsgirêkê çareser bikin.
2.4 Kapasîteyên Amûrên Sîstemê Kontrol Bike
Li Ethernet-a 10 Gbps, 25 Gbps, û 40 Gbps, hin hewcedariyên herî kêm ên CPU û pergalê hene. Bi gelemperî, pêvajoyek çîna serverek nûjen û mîhengkirina bîranînê ya çêtirîn ji bo platforma we divê bes be, lê hewcedarî li gorî karê we diguherin. Divê hemî kanalên bîranînê werin dagirtin û moda performansa bîranînê divê di BIOS-ê de çalak be. Piştrast bikin ku CPU û mîhengkirina bîranînê ya we dikarin asta performansa torê ya ku hûn ji bo karê we hewce dikin piştgirî bikin.
NOT
XL710 kontrolkerek 40 GbE ye. Adaptora 2 x 40 GbE ya ku vê kontrolkerê bikar tîne ne wekî 2 x 40 GbE ye, lê wekî 1 x 40 GbE ye ku porta emanetê wê çalak e. Dema ku hewl tê dayîn ku trafîka rêjeya xetê ya ku her du portan jî dihewîne were bikar anîn, guhêrbarê navxweyî têr dibe û bandfirehiya hevgirtî ya di navbera her du portan de bi tevahî SO Gbps ve sînorkirî ye.
2.4.1 Parametreyên Bootkirina Kernel
Eger Teknolojiya Virtualîzasyona Intel® ji bo I/O ya Derbasdar (Intel® VT-d) di BIOS-ê de çalak be, Intel pêşniyar dike ku IOMMU ji bo performansa tora mêvandar a çêtirîn di moda derbasbûnê de be. Ev yek serbarê DMA-yê li ser trafîka mêvandar ji holê radike di heman demê de dihêle ku Makîneyên Virtual (VM) hîn jî sûdên Intel® VT-d werbigirin. Ev bi zêdekirina rêza jêrîn li parametreyên bootkirina kernel tê bidestxistin: fommu-pt.
2.5 Piştrast bike ku pakêta DDP bi rêkûpêk tê barkirin
Ajokarên bingehîn ên 140ea û 140eb piştgiriya rasterast ji bo Kesanekirina Amûrê ya Dînamîk (DDP) nînin. Ji bo karanîna DDP bi cîhazên rêzeya 700 re, ajokarek DDP-ê ya profesyonel heye.file dikare bi sepana testpmd re were sepandin.
Ji bo hûragahiyan li ser DDP profiles, û çawa pro-yek DDP-ê tê sepandinfile Bi testpmd li ser cîhazên rêzeya 700, li Rêbernameya Teknolojiya Kesanekirina Amûra Dînamîk (DDP) ya Intel® Ethernet 700 Series binêrin.
Ji bo verastkirina ka profîlek DDP-ê yefile bi serkeftî hate barkirin:
testpmd> ddp lîsteya wergirtina 0 Profile hejmar ev e: 1
NOT
Ger profile Hejmar 0 e, pakêta DDP nehatiye barkirin. Di rewşa xeletiya barkirina pakêta DDP de, cîhaz bi xweber vedigere moda ewle û gelek taybetmendiyên performansê ne berdest in. Ger xeletiyên têkildarî barkirina pakêta DDP hebin, ew ê bibe sedema pirsgirêkên performansê. Ji bo gavên çareserkirina pirsgirêkan, li Rêbernameya Teknolojiya Kesanekirina Amûra Dînamîk a Rêzeya Ethernet 700 (DDP) ya Inte/* binêrin.
Pîvandina Performansa Bingehîn û Rêbaza Mîhengkirinê
3.1 Pîvanên Performansa Torê
Berî destpêkirina rahênanekê, girîng e ku pîvanek bingehîn a baş a performansa tora we hebe. Bi gelemperî, ji bilî pîvandina destpêkê ya performansa sepana/barê karê we yê taybetî, fikrek baş e ku hûn pîvanek performansa torê ya standard jî bikar bînin da ku piştrast bikin ku cîhaza we ya tora di rewşek baş de ye.
Ji bo baştirkirina yek pergalê, netperf an iperf û NetPIPE hemî amûrên çavkaniya vekirî yên belaş û zexm in ku dihêlin hûn li ser pêwendiyekê zextê bikin û pirsgirêkên performansê teşhîs bikin.
Netperf hem ji bo ceribandina rêjeya derbasbûnê û hem jî ji bo ceribandina derengmayînê bihêz e. NetPIPE amûrek taybetî ya derengmayînê ye lê dikare ji bo her cûre jîngehê were berhev kirin.
NOT
Testa TCP_RR di netperf de latency di nirxek danûstandin/saniye de vedigerîne. Ev hejmareke çûnûhatinê ye. Latency-ya yekalî dikare bi karanîna hevkêşeya jêrîn were hesibandin:
Derengî (bikarhêner) = (1⁄2) / [Danûstandin/çirke] * 1,000,000
3.1.1 iPerf2
Intel ji bo piraniya rewşên benchmarkingê iperf2 li şûna iperf3 pêşniyar dike ji ber ku ew hêsan tê bikaranîn û piştgiriya gelek têlan di yek mînaka sepanê de heye. Intel pêşniyar dike ku bi vebijarka -P bi 2-4 têlan ji bo girêdanên 25G û bi qasî 4-6 têlan ji bo girêdanên 40G were xebitandin.
- Ji bo xebitandina trafîka yekalî ji xerîdar ber bi serverê: Fermana serverê example: iperf2 -s
Fermana xerîdar example: iperf2 -c -P - Ji bo xebitandina trafîka du-alî ji xerîdar ber bi serverê (û berevajî): Fermana serverê example: iperf2 –s –p
Fermana xerîdar example:
iperf2 -c -p -P --duqatî ya tevahî AN
iperf2 -c -p -P –d
NOT
Hem vebijarkên –full-duplex û hem jî -d di iperf2 de dihêle ku bikarhêner ceribandina dualî pêk bîne. Lêbelê, vebijarka –full-duplex bi taybetî li ser ceribandina dualî ya tevahî disekine.
NOT
Dema ku iperf2 li ser gelek portên serverê tê ceribandin, ala -d dikare li fermana serverê were zêdekirin da ku hemî danişînên serverê di paşperdeyê de ji heman pencereya termînalê werin xebitandin. Ala -d dikare dema ku fermana serverê di hundurê çerxek for de di skrîptekê de hatî bicîhkirin jî were bikar anîn.
NOT
Dema ku testa rêjeya derbasbûna torê bi yek herik/telekê (mînak) tê meşandinample: P1), dibe ku pêvajoykerên AMD-ê rêjeya derbasbûnê ya bendewar peyda nekin, nemaze NIC-ên bi bandfirehiya bilindtir (eger leza >= bandfirehiya 25G be). Di encamê de, ji bo bidestxistina rêjeya derbasbûnê ya bilindtir, pêdivî bi girêdana sepanê bi coreyên taybetî heye. Li rûpel 22-an li Mîhengên Serlêdanê binêre.
3.1.2 iPerf3
Ger iperf3 were bikar anîn, ji bo bikaranîna advan gelek mînakên serîlêdanê hewce ne.tagrêzên pir-telan, RSS, û hardware. Intel pêşniyar dike ku ji bo girêdanên 2G bi 4-25 danişînên serîlêdanê û ji bo girêdanên 4G bi qasî 6-40 danişînan bixebitin. Divê her danişîn nirxek porta TCP-ya bêhempa bi karanîna vebijarka -p diyar bike.
- Ji bo xebitandina trafîka yekalî ji xerîdar ber bi serverê:
Fermana serverê mînakample:
iperf3 -s -p
Fermana xerîdar example:
iperf3 -c -p - Ji bo xebitandina trafîka du-alî ji xerîdar ber bi serverê (û berevajî):
Fermana serverê mînakample:
iperf3 –s –p
Fermana xerîdar example: iperf3 -c -p -P –bidir - Ji bo destpêkirina gelek mînakan (têlan) ên iperf3, pêşniyar ev e ku meriv ji bo girêdana têlan bi portên TCP-ê re çerxek for-ê bikar bîne û iperf3-ê di paşperdeyê de bi karanîna &-ê bixebitîne da ku gelek pêvajoyan bi hev re biafirînin.
Fermana serverê mînakample, 4 têlan dest pê bike: port=""; ji bo i di {0..3} de; port=520$i bike; bash -c "iperf3 -s -p $port &"; qediya; Fermana xerîdar example, 4 têlan dest pê bike - Test port="" bişîne; ji bo i di {0..3} de; port=520$i bike; bash -c "iperf3 -c $serverIP -p $port &"; qediya; Fermana xerîdar example, 4 têlan dest pê bike - Test port="" bistîne; for i di {0..3} de; do port=520$i; bash -c "iperf3 -R -c $serverIP -p $port &"; qediya; Ji bo girêdanên 40G, for-loop zêde bike da ku heta 6 mînak/têlan biafirîne.
NOT
Dema ku testa rêjeya derbasbûna torê bi yek herik/telekê (mînak) tê meşandinample: P1), dibe ku pêvajoykerên AMD-ê rêjeya derketinê ya bendewar, nemaze bandwidth-a bilindtir, peyda nekin.
NIC (eger leza >= bandwidth 25G be). Di encamê de, ji bo bidestxistina rêjeya veguhastinê ya bilindtir, pêdivî bi girêdana sepanê bi coreyên taybetî heye. Li rûpel 22an li Mîhengên Serlêdanê û li rûpel 26an li AMD EPYC binêre.
3.1.3 netperf
Amûra netperf ji bo ceribandina veguhastinê û latency bijarteyek xurt e.
- Testa TCP_STREAM di netperf de şiyanên veguhastina cîhazê dipîve. Fermana serverê example: netserver Fermana Client example: netperf -t TCP_STREAM -l 30 -H
- Testa TCP_RR di netperf de latency di nirxek danûstandin/saniye de vedigerîne. Ev hejmareke çûnûhatinê ye. Tête pêşniyar kirin ku vebijarka -T x,x were bikar anîn, li cihê ku x CPU-ya herêmî ya cîhazê ye. Latency-ya yekalî dikare bi karanîna vê were hesab kirin: Latency(usec)=(1⁄2)/ [Transactions/saniye]*1,000,\ Fermana serverê example: servera torê
Fermana xerîdar example: netperf -t TCP_RR -l 30 -H -T x,x - Ji bo destpêkirina gelek mînakan (têlan) ên netperf, pêşniyar ev e ku meriv ji bo girêdana têlan bi portên TCP-ê re çerxek for-ê bikar bîne û netperf-ê di paşperdeyê de bi karanîna &-ê bixebitîne da ku gelek pêvajoyan bi hev re biafirîne.
Fermana serverê mînakample, 8 mijaran dest pê bike:
port=””; ji bo i di {0..7} de; port=520$i bike; bash -c “netserver -L $serverIP -p $port &”; qediya;
Fermana xerîdar example, 8 têlan dest pê bike: port=""; ji bo i di {0..7} de; port=520$i bike; bash -c "netperf -H $serverIP -p $port -t TCP_STREAM -l 30 &"; qediya;
3.2 Rêbaza Mîhengkirinê
Di carekê de li ser yek guhertina mîhengkirinê bisekinin da ku hûn bizanin ka her guhertin çi bandorê li ceribandina we dike. Her ku hûn di pêvajoya mîhengkirinê de rêbaztir bin, ew qas hêsantir dibe ku hûn sedema astengiyên performansê nas bikin û çareser bikin.
Mîhengkirina Mîhengên Ajokarê i40e
4.1 Têkiliya IRQ
Mîhengkirina girêdana IRQ-ê bi vî rengî ku navberdanên ji bo rêzên torê yên cûda bi coreyên CPU-yê yên cûda ve girêdayî bin, dikare bandorek mezin li ser performansê bike, nemaze testên veguhastina pir-telî.
Ji bo mîhengkirina IRQ affinity, irqbalance rawestîne û dûv re an skrîpta set_irq_affinity ji pakêta çavkaniya i40e bikar bîne an jî rêzan bi destan pin bike. Ji bo çalakkirina pinkirina rêzê, IRQ balancer-a cîhê bikarhêner neçalak bike:
- systemctl irqbalance neçalak dike
- systemctl irqbalance rawestîne
Bi karanîna skrîptê set_irq_affinity ji pakêta çavkaniya i40e (tê pêşniyarkirin): - Ji bo bikaranîna hemû kokan:
[rêya-ber-i40epakêtê]/scripts/set_irq_affinity -X hemû ethX - Ji bo bikaranîna tenê coreyan li ser soketa NUMA ya herêmî: [path-to-i40epackage]/scripts/set_irq_affinity -X local ethX
- Herwiha hûn dikarin rêzek ji navokan hilbijêrin. Ji karanîna cpu0 dûr bisekinin ji ber ku ew peywirên demjimêrê dimeşîne. [path-to-i40epackage]/scripts/set_irq_affinity 1-2 ethX
NOT
Skrîpta affinity dema ku vebijarka -x tê destnîşankirin, Veguhestina Pakêtê ya Rêvebirinê (XPS) wekî beşek ji pêvajoya pinkirinê çalak dike. Dema ku XPS çalak be, Intel pêşniyar dike ku hûn irqbalance neçalak bikin, ji ber ku hevsengkera kernel bi XPS re dikare bibe sedema performansa nepêşbînîkirî. Skrîpta affinity dema ku vebijarka -X tê destnîşankirin XPS neçalak dike. Neçalakkirina XPS û çalakkirina rêzên sîmetrîk ji bo barên kar sûdmend e ku performansa çêtirîn dema ku trafîka Tx û Rx li ser heman cotek rêzan têne xizmet kirin tê bidestxistin.
Mîhengkirina rêzên sîmetrîk di Linuxê de tê wateya mîhengkirina parametreyên ajokera navrûya torê da ku rêzên wergirtina sîmetrîk (Rx) û rêzên veguhestina sîmetrîk (Tx) ji bo adapterên torê yên piştgirîkirî çalak bike.
NOT
- Rêzên sîmetrîk taybetmendiyek torê ya pêşkeftî ne, û ne hemî adapter an ajokarên torê yên rêzeya 700 piştgirî didin wan.
- Berî ku hûn hewl bidin ku rêzên sîmetrîk mîheng bikin, piştrast bikin ku ajokar û piştgiriya hardware ya pêwîst li cem we heye.
Ji bo mîhengkirina rêzên simetrîk, van gavên giştî bişopînin:
- Mîhengên Navrûya Torê Biguherîne File: Edîtorek nivîsê bikar bînin (mînakample, vi, nano, an gedit) ji bo guherandina mîhengê navrûya torê file. Ew file bi gelemperî di bin pelrêça /etc/sysconfig/network-scripts/ de ye û navekî wê mîna ifcfg-ethX heye, ku ethX navê navrûya tora we ye.
- Parametreyên rêza sîmetrîk lê zêde bike. Xetên jêrîn li mîhenga navrûya torê zêde bike file: ETHTOOL_OPTS="rx-queues 8 tx-queues 8"
- Xizmeta Torgilokê ji nû ve bidin destpêkirin.
Piştî guhertinan, ji bo sepandina mîhenga nû karûbarê torê ji nû ve bide destpêkirin. sudo systemctl torê ji nû ve bide destpêkirin
Bi destan:
-
Prosesorên ku bi her girêkê ve girêdayî ne bi karanîna vê fermanê bibîne: numactl –hardware lscpu
-
Maskên bitê ji bo her yek ji pêvajoyan bibîne:
- Bi texmînkirina coreyên 0-11 ji bo girêka 0: [1,2,4,8,10,20,40,80,100,200,400,800]
- IRQ-yên ku ji bo porta ku tê destnîşankirin hatine destnîşankirin bibînin: grep ethX /proc/interrupts û nirxên IRQ-ê tomar bikin. Bo nimûneample, 181-192 ji bo 12 vektorên barkirî.
- Nirxa girêdana SMP-ê di têketina IRQ-ya têkildar de dubare bike. Bala xwe bidinê ku ev yek ji bo her têketina IRQ-ê divê were kirin: echo 1 > /proc/irq/181/smp_affinity echo 2 > /proc/irq/182/smp_affinity echo 4 > /proc/irq/183/smp_affinity Girîngiya IRQ-ê nîşan bide:
- Ji bo nîşandana girêdana IRQ-ê ji bo hemî core-an: /scripts/set_irq_affinity -s ethX
- Ji bo nîşandana tenê coreyan li ser soketa NUMA ya herêmî: /scripts/set_irq_affinity -s ethX-a herêmî
- Her weha hûn dikarin rêzek ji kokên hilbijêrin: /scripts/set_irq_affinity -s 40-0-8,16 ethX
NOT
Skrîpta set_irq_affinity ala -s di ajokera i40e ya guhertoya 2.16.11 û paşê de piştgirî dike.
4.2 Rêzên Tx/Rx
Hejmara xwerû ya rêzan ku ji bo her porta Ethernet-ê ji hêla ajokar ve di dema destpêkirinê de hatî çalak kirin, wekhevî hejmara giştî ya CPU-yên ku di platformê de hene ye. Ev ji bo gelek platforman û mîhengên barê kar baş dixebite. Lêbelê, di platformên bi hejmarên bingehîn ên bilind û/an dendika porta Ethernet-ê ya bilind de, ev mîheng dikare bibe sedema nakokiya çavkaniyan. Ji ber vê yekê, dibe ku di hin rewşan de hewce be ku xwerû ji bo her porta di pergalê de were guhertin.
Hejmara xwerû ya rêzên Tx/Rx dikare li gorî modela taybetî û guhertoya ajokar biguhere. Hejmara rêzan dikare bi karanîna fermana ethtool -L ya ku li jêr hatî navnîş kirin were sererast kirin.
NOT
Di van rewşan de, Intel pêşniyar dike ku hûn jimara rêza xwerû ji bo her portê kêm bikin da ku ji hejmara CPU-yên berdest ên di girêka NUMA ya herêmî ya porta adapterê de ne zêdetir be. Di hin rewşan de, dema ku hûn hewl didin ku çavkaniyan li ser pêkanînên jimara portên bilind hevseng bikin, dibe ku hewce be ku ev hejmar hîn bêtir kêm bikin.
Ji bo guhertina mîhengê rêzê:
Berê jêrînample portê li ser 32 rêzên Tx/Rx datîne: ethtool -L ethX combined 32
Examplê encam:
ethtool -l ethX
Parametreyên kanalê ji bo ethX: Herî zêde yên pêşwext hatine danîn:
RX: 96
TX: 96
Din: 1
Bi hev re: 96
Mîhengên hardware yên heyî:
RX: 0
TX: 0
Din: 1
Bi hev re: 32
4.3 Moderasyona Navberdanê
Moderasyona navberdana adapteyî bi xweberî vekirî ye, û ji bo peyda kirina rêbazek hevseng di navbera karanîna kêm a CPU û performansa bilind de hatî çêkirin. Lêbelê, hûn dikarin biceribînin ku mîhengên navberdanê bi destan li gorî rewşa karanîna xwe biguherînin.
Rêzeya 0-235 mîkroçirkeyan rêjeyek bi bandor a 4,310 heta 250,000 qutbûnên di çirkeyê de peyda dike. Nirxa rx-μsecs-high dikare serbixwe ji rx-μsecs û tx-μsecs di heman fermana ethtool de were danîn, û her weha serbixwe ji algorîtmaya moderasyona qutbûna adapteyî ye. Amûrên bingehîn di navberên 2 mîkroçirkeyan de piştgirîya hûrgulîbûnê dikin, ji ber vê yekê nirxên cîran dikarin bibin sedema heman rêjeya qutbûnê.
- Ji bo neçalakkirina moderasyona navberdana adapteyî: ethtool -C ethX adaptive-rx off adaptive-tx off
- Ji bo çalakkirina moderasyona navberdana adapteyî: ethtool -C ethX adaptive-rx on adaptive-tx on
Cihê baş ji bo destpêkirina mîhengkirina giştî 84 μs, an jî ~12000 navber/s e. Ger hûn bibînin ku jimarkerên rx_dropped di dema trafîkê de dixebitin (bi karanîna ethtool -S ethX), wê hingê dibe ku CPU-ya we pir hêdî be, ji mezinahiya zengila adapterê (ethtool -G) baferên têr tune ne ku pakêtan ji bo 84 μs bigirin an jî rêjeya navberdanê pir nizm be.
- Ji bo danîna moderasyona navberdanê li ser rêjeya navberdanê ya sabît a 84 μs di navbera navberdanan de (12000 navber/s): ethtool -C ethX adaptive-rx off adaptive-tx off rx-usecs 84 tx-usecs 84 Nirxa din a ku hûn biceribînin, heke hûn di warê karanîna CPU-yê de negihîştine asta herî bilind, 62 μs e. Ev bêtir CPU bikar tîne, lê ew tamponan zûtir xizmet dike, û kêmtir danasînan hewce dike (mezinahiya zengilê, ethtool -G).
- Ji bo danîna moderasyona navberdanê li rêjeya navberdanê ya sabît a 62 uses di navbera navberdanan de (16000 navber/s). ethtool -C ethX adaptive-rx off adaptive-tx off rx-usecs 62 tx-usecs 62
Eger jimêrên rx_dropped di dema trafîkê de zêde bibin (bi karanîna ethtool -S ethX), dibe ku CPU-ya we pir hêdî be, ji mezinahiya zengila adapterê tamponên têr nebin (ethtool -G), an jî rêjeya navberdanê pir kêm be. Ger hûn di karanîna CPU-yê de negihîjin asta herî bilind, hûn dikarin rêjeya navberdanê bi kêmkirina nirxa ITR-ê zêde bikin. Ev CPU-ya bêtir bikar tîne, lê tamponên zûtir xizmet dike, û danasînên kêmtir hewce dike (mezinahiya zengilê, ethtool -G).
Eger CPU-ya te li ser %100 be, wê demê zêdekirina rêjeya navberdanê nayê pêşniyarkirin. Di hin rewşan de, wekî barekî kar ê girêdayî CPU-yê, dibe ku tu bixwazî nirxa μs zêde bikî da ku ji bo sepanên din bêtir dem ji CPU-yê re çalak bikî.
Eger performansa latency kêm be û/an jî CPU-ya we ya zêde ji bo pêvajoya torê hebe, hûn dikarin moderasyona navberdanê bi tevahî neçalak bikin, ku dihêle ku navberdan bi leztirîn awayî dest pê bikin. - Ji bo neçalakkirina moderasyona navberdanê ethtool -C ethX adaptive-rx off adaptive-tx off rx-usecs 0 tx-usecs 0
NOT
Dema ku moderasyona navberdanê neçalak be, rêjeya navberdanê li ser her rêzê dikare pir zêde be. Bifikirin ku parametreya rx-usec-high têxin nav xwe da ku sînorek jorîn li ser rêjeya navberdanê saz bikin. Fermana jêrîn moderasyona navberdana adapteyî neçalak dike û destûrê dide herî zêde 5 mîkroçirkeyan berî ku nîşan bide ku wergirtin an veguheztin qediya ye. Li şûna ku bibe sedema 200,000 navberdan di çirkeyê de, ew bi rêya parametreya rx-usec-high tevahî navberdan di çirkeyê de bigihîne 50,000. # ethtool -C ethX adaptive-rx off adaptive-tx off rx-usecs-high 20 rx-usecs 5 txusecs 5 Biceribînin ku demjimêra hevgirtinê ya veguheztin/wergirtin/pêşaniya-bilind bilindtir (80/100/150/200) an nizmtir (25/20/10/5) verast bikin da ku nirxa çêtirîn ji bo barê kar bibînin.
4.4 Mezinahiya Zengilê
Eger hûn di ethtool -S ethX (rx_dropped, rx_dropped.nic) de hejmartinên rx_dropped dibînin, an jî guman dikin ku zexta keşê bi gelek rêzên çalak heye, hûn dikarin biceribînin ku mezinahiya zengilê ji nirxa xwerû verast bikin. Nirxa xwerû 512 e, herî zêde 4096 e.
- Ji bo kontrolkirina nirxên niha: ethtool -g ethX
Eger guman hebe ku nebûna tamponê dibe sedema kêmbûna rêjeya navberdana heyî, hûn dikarin pêşî ya herî zêde biceribînin, dûv re ya herî kêm, û dûv re di lêgerînek dualî de berdewam bikin heya ku hûn performansa çêtirîn bibînin.
Eger guman hebe ku zexta keşê heye (gelek rêz çalak in), kêmkirina baferan ji xwerû dikare alîkariya Intel ® Data Direct I/O (Intel ® DDIO) bike ku bi bandortir bixebite. Intel pêşniyar dike ku di her rêzê de 128 an 256 biceribînin, ji ber ku divê meriv hay ji vê yekê hebe ku ji bo pêşîgirtina li zêdebûna rx_dropped, dibe ku zêdebûnek di rêjeya qutbûnê de bi rêya ethtool -C hewce be. - Ji bo danîna mezinahiya zengilê li ser nirxa sabît: ethtool -G eth12 rx 256 tx 256
NOT
Ji bo çareserkirina kêmbûna pakêtên Rx ên ku bi ethtool -S ethX|grep drop hatine dîtin, mezinahiya zengilê zêde bikin bo 4096. Ji bo dîtina mîhenga çêtirîn ji bo barê kar ceribandinê bikin, lê bi nirxên bilindtir li karanîna zêde ya bîranînê haydar bin.
4.5 Kontrola herikînê
Kontrola herikîna Qata 2 dikare bandorek girîng li ser performansa TCP bike û tê pêşniyar kirin ku ji bo piraniya barên kar were neçalak kirin. Îstîsnayek potansiyel trafîka teqînê ye ku tê de teqîn ne dirêj in.
Kontrola herikînê bi xwerû neçalak e.
- Ji bo çalakkirina kontrola herikînê: ethtool -A ethX rx on tx on
- Ji bo neçalakkirina kontrola herikînê: ethtool -A ethX rx off tx off
NOT
Ji bo ku kontrola herikînê bi serkeftî çalak bike, divê hevkarê girêdanê yê ku dikare kontrola herikînê bikar bîne hebe.
4.6 Frames Jumbo
Dema ku jîngeha trafîkê ya çaverêkirî ji blokên mezin ên daneyan pêk tê ku têne veguheztin, dibe ku çalakkirina taybetmendiya çarçoveya jumbo sûdmend be. Piştgiriya Çarçoveyên Jumbo bi guhertina Yekîneya Veguhestina Herî Zêde (MTU) bo nirxek ji nirxa xwerû ya 1500 mezintir tê çalak kirin. Ev dihêle ku cîhaz daneyan di pakêtên mezintir de di nav jîngeha torê de veguhezîne. Ev mîheng dikare rêjeya derbasbûnê baştir bike û karanîna CPU-yê ji bo barkirinên mezin ên I/O kêm bike. Lêbelê, dibe ku bandorê li barkirinên pakêtên piçûk an barkirinên hesas ên latency bike.
NOT
Divê çarçoveyên Jumbo an mîhenga MTU ya mezintir li seranserê hawîrdora tora we bi rêkûpêk werin mîheng kirin.
Fermana ifconfig bikar bînin da ku mezinahiya MTU zêde bikin. Bo nimûneample, ya jêrîn binivîse, li ku derê hejmara navrûyê ye: ifconfig mtu 9000 jortir
Bi awayekî din, hûn dikarin fermana ip-ê wiha bikar bînin: ip link set mtu 9000 dev pêşdebirê sazkirina girêdana ip
Mîhengkirina Platformê (i40e Ne-Taybetî)
5.1 Mîhengên BIOS
- Intel® VT-d ji bo barên kar ên sanalkirinê çalak bike.
- Hyper-threading (pêvajoyên mentiqî) dikare bandorê li performansê bike. Ji bo karê xwe yê kar, wê vekirî an girtî biceribînin.
- Intel® Turbo Boost dihêle ku coreyên CPU-yê bi frekanseke bilindtir ji frekansa bingehîn a CPU-yê bixebitin. Çalakkirina Intel® Turbo Boost dikare performansê ji bo gelek barên kar baştir bike lê ji bo ku core di frekanseke bilindtir de bimînin bêtir enerjiyê dixwe. Ji bo karê xwe yê kar Turbo Boost vekirî/neçalak biceribînin.
NOT
Ger platform bi giştî bikaranîna CPU-yê bilind be, frekansên Turbo nayên garantîkirin. Frekansên turbo yên bingehîn ên bilindtir bi zêdebûna giştî ya bikaranîna CPU-yê kêm dibin.
5.2 Rêveberiya Hêzê
Rêveberiya hêzê dikare bandorê li ser performansê bike, nemaze di barkirinên kar ên kêm-latînî de. Ger performans ji kêmkirina xerckirina hêzê girîngtir be, Intel pêşniyar dike ku hûn bi sînordarkirina bandorên rêveberiya hêzê ceribandinê bikin. Gelek awayên cûda hene ku rêveberiya hêzê sînordar bikin, bi rêya amûrên pergala xebitandinê, mîhengên BIOS-ê, û parametreyên bootkirina kernel. Rêbaz û asta çêtirîn hilbijêrin ku li gorî hawîrdora we be.
5.2.1 Kontrola Rewşa-C
Sînordarkirina ketina rewşa C bi CO an C1 performansê baştir dike û karanîna enerjiyê zêde dike.
Neçalakkirina têketina rewşa Pakêta C6 ya CPU dikare performansa torê baştir bike. Lêbelê, ev karanîna enerjiyê zêde dike.
Vebijêrkên jêrîn hene:
- Têketina rewşa C bi dînamîkî kontrol bike:
Vekirî
/dev/cpu_dma_latency bikirtînin û latency-ya herî zêde ya destûr lê binivîsin.
NOT
Bernameyeke biçûk bi navê cpudmalatency.c heye ku dikare ji civaka çavkaniya vekirî were daxistin, were berhevkirin û ji rêza fermanan were xebitandin da ku tam vê yekê bike.
Berê jêrînample pênc μs dema şiyarbûnê dide, û bi vî rengî destûrê dide têketina C1: cpudmalatency 5 &
- Herî zêde C-rewş di mîhengên bootkirina kernel de sînordar bike:
Ji bo CPUyên Intel: intel_idle.max_cstates=1
Ji bo CPUyên ne-Intel: processor.max_cstates=1 - Fermana cpupower bikar bîne da ku rewşa CPU C6 kontrol bikî û neçalak bikî: Kontrol bike: cpupower monitor an cpupower idle-info
C6 neçalak bike: cpupower idle-set -d3 an jî
C-Rewşên neçalak bike: cpupower idle-set -D0
Têbînî:
- Ger server Processor(ên) Intel® 4th Gen Intel® Xeon® Scalable hebe, C-rewşên li ser CPU-yê neçalak bike. Dema ku Hyper Threading çalak an neçalak be, neçalakkirina rewşên bêkar (-D0) rê li ber ketina navikên di rewşên kêm-hêz de di demên bêkar de digire û derengiya CPU-yê ji bo veguheztina di navbera rewşên bêkar û çalak de kêm dike.
- Rêveberiya hêzê ya Processorê Intel® 4th Gen Intel® Xeon® Scalable pir êrîşkar e. Ji bo ku rê li ber ketina navikên di rewşên kêm-hêzê de bigirin, hewl bidin ku hejmara navikên ku têne bikar anîn kêm bikin da ku ew ji bo demek dirêjtir şiyar bimînin (ethtool -L hevgirtî ). Her wiha, navberdanan bi karanîna set irq affinity (pir caran bi -x local an jî list of CPU cores) bi coreyên taybetî ve girêbide, û bi karanîna taskset an numactl piştrast bike ku barê kar li ser heman wan coreyan dixebite. Ev bi çalakkirina coreyan û baştirkirina birêvebirina navberdanê performansê çêtir dike.
C6 çalak bike:
cpupower bêkar-set -d3
C-Dewletan çalak bike:
cpupower idle-set -E
- Rêbazek din jî ew e ku meriv amûra mîhengkirî (ku di gelek belavkirinên Linux-ê de heye) bikar bîne da ku performansek profesyonel saz bike.file. Van profileçend mîhengên OS-ê diguherînin ku dikarin bandorê li ser performansa li seranserê gelek sepanan bikin. Hat dîtin ku pro-derbasbûna torêfile ji bo piraniya barên kar başkirinan peyda dike.
Berçavkirin:
admin-a télécharger çalak e
Danîn:
pro-rêvebirê tunedkirîfile rêjeya derbasbûna torê
NOT
Divê xizmeta mîhengkirî ji bo fermanên jorîn bixebite. Ji bo kontrolkirin/ji nû ve destpêkirinê, mîhengkirî: rewşa systemctl mîhengkirî systemctl ji nû ve destpêkirin mîhengkirî
Her wiha hûn dikarin bi zêdekirina ya jêrîn li xeta bootkirina kernelê her têketina rewşa C qedexe bikin:
bêkar=anket - Rewşa C bi rêya mîhengên rêveberiya hêzê ya BIOS-ê ya pergalê sînordar bike, ku dibe ku performansa profesyonel hebefile berdeste.
Amûrên wekî turbostat an x86_energy_perf_policy dikarin ji bo kontrolkirin an danîna mîhengên rêveberiya hêzê werin bikar anîn.
5.2.2 Rêveberiya Hêzê ya PCIe
Rêveberiya Hêza Rewşa Çalak (ASPM) ji bo girêdanên PCIe dema ku ew bi awayekî çalak nayên bikar anîn, rewşek hêzê ya kêmtir çalak dike. Ev dikare bibe sedema derengmayînek bilindtir li ser cîhazên tora PCIe, ji ber vê yekê Intel pêşniyar dike ku hûn ASPM ji bo barkirinên hesas ên derengmayînê neçalak bikin. ASPM bi zêdekirina jêrîn li rêza bootkirina kernel neçalak bikin: pcie_aspm=off
5.2.3 Pîvana Frekansa CPUyê
Pîvana frekansa CPU (an jî pîvana leza CPU) teknîkek rêveberiya hêzê ya Linux-ê ye ku tê de leza demjimêra pergalê bi lez tê verastkirin da ku hêz û germê were teserûfkirin. Mîna rewşên C, ev dikare bibe sedema derengketina nexwestî li ser girêdanên torê.
Amûra cpupower dikare ji bo kontrolkirin û guhertina mîhengên xwerû û sînorên performansa CPU-yê jî were bikar anîn:
- Kontrol bike: çavdêriya hêza cpu an
- CPUyan li ser moda performansê bicîh bike: cpupower frequency-set -g performance
NOT
Guhertinên li ser sînorên frekansa CPU-yê dikarin bandorê li gelek barên kar bikin û dibe ku taybetmendiyên din, wekî moda turbo ya CPU-yê, neçalak bikin.
Ji bo neçalakkirina pîvandina frekansa CPU-yê, karûbarê hêza CPU-yê bi fermanên jêrîn neçalak bike:
systemctl cpupower.service rawestîne
systemctl cpupower.service neçalak bike
5.2.4 Rêbernameya Zêde ya Rêvebiriya Hêzê
Agahiyên zêdetir di vê pilana bilind de têne pêşkêş kirinview ji gelek taybetmendiyên rêveberiya hêzê di pêvajoyên Intel® Xeon® Scalable yên nifşê 3-an de, û her weha rêbername li ser ka ev taybetmendî çawa dikarin di asta platformê de werin entegre kirin: https://networkbuilders.intel.com/solutionslibrary/power-management-technologyoverview-technology-guide
5.3 Intel® Turbo Boost
Intel® Turbo Boost dema ku pêwîst be pêvajo zûtir dike lê dikare enerjiya zêde xerc bike. Girtina Turbo Boost pêvajo di leza sabît de dihêle, û ji bo barên kar ên taybetî astek performansê ya sabît dide we.
5.4 Dîwarên agir
Dîwarên agir dikarin bandorê li performansê bikin, nemaze performansa derengketinê.
Heke pêwîst nebe, iptables/firewalld neçalak bike.
5.5 Mîhengên Serlêdanê
Pir caran têleke yekane (ku bi rêzeke torê ya yekane re têkildar e) ji bo bidestxistina bandfirehiya herî zêde têrê nake. Hin mîmariyên platforman, wekî AMD, li gorî platformên bi pêvajoyên Intel-ê, meyla wan heye ku bi têleke yekane bêtir pakêtên Rx bavêjin.
Ji bo girêdana sepanan bi girêka NUMA an jî coreyên CPU yên herêmî yên cîhaza torê, amûrên wekî taskset an numactl bikar bînin. Ji bo hin karên wekî I/O ya hilanînê, veguhastina sepanê bo girêkek ne-herêmî sûdmend e.
Heke gengaz be, ceribandinê bikin ku hejmara têlên ku ji hêla serîlêdana we ve têne bikar anîn zêde bikin.
Versiyona Kernelê ya 5.6
Piraniya kernelên di qutiya nûjen de ji bo performansê bi awayekî maqûl hatine çêtirkirin, lê li gorî rewşa karanîna we, nûvekirina kernelê dibe ku performansek çêtir peyda bike. Dakêşana çavkaniyê di heman demê de dihêle hûn berî avakirina kernelê hin taybetmendiyan çalak/neçalak bikin.
5.7 Mîhengên Pergala Xebitandinê/Kernelê
Ji bo bêtir agahdarî li ser mîhengkirina giştî ya pergala xebitandinê, li rêberên mîhengkirina pergala xebitandinê yên wekî Red Hat Enterprise Linux Network Performance Tuning Guide binêrin.
Hin parametreyên hevpar ên ku divê werin mîhengkirin di tabloya jêrîn de hatine rêzkirin. Bala xwe bidinê ku ev tenê xalên destpêkê yên pêşniyarkirî ne, û guhertina wan ji nirxên xwerû dibe ku çavkaniyên ku li ser pergalê têne bikar anîn zêde bike. Her çend zêdekirina nirxan dikare bibe alîkar ku performans baştir bibe jî, pêdivî ye ku bi nirxên cûda re ceribandin were kirin da ku were destnîşankirin ka çi ji bo pergalek, barê kar û celebê trafîkê çêtirîn dixebite.
Parametreyên kernel bi karanîna amûra sysctl di Linuxê de wekî li jêr hatî destnîşan kirin têne mîheng kirin.
Ber view nirxên xwerû ji bo rmem û wmem li ser pergalê:
sysctl net.core.rmem_default
sysctl net.core.wmem_default
Nirxan li ser herî zêde (16 MB) bicîh bike:
sysctl -w net.core.rmem_max=16777216
sysctl -w net.core.wmem_max=16777216
Mezinahîyên bafera soketê, ku wekî bafera wergirtinê (rmem) û bafera veguhastinê (wmem) jî têne zanîn, parametreyên sîstemê ne ku mîqdara bîra ku ji bo trafîka torê ya hatî û derketî hatî veqetandin destnîşan dikin.
Ger sysctl bêyî argumana -w were xebitandin, parametreyê bi mîhenga wê ya niha nîşan dide.
Mîhengkirina Stûyê | Terîf |
net.core.rmem_default | Mezinahiya Pencereya Wergirtinê ya Xwerû |
net.core.wmem_default | Mezinahiya Paceya Veguhestinê ya Xwerû |
net.core.rmem_max | Mezinahiya Herî Zêde ya Pencereya Wergirtinê |
net.core.wmem_max | Mezinahiya Pencereya Veguhestinê ya Herî Zêde |
net.core.optmem_max | Tamponên Bîra Vebijarka Herî Zêde |
net.core.netdev_max_backlog | Pakêtên nehatine pêvajokirin berî ku kernel dest bi daketinê bike |
net.ipv4.tcp_rmem | Rezervatorê bîrê ji bo tamponên xwendina TCP-ê |
net.ipv4.tcp_wmem | Rezervatorê bîrê ji bo tamponên şandina TCP-ê |
Kernel, stûna torê, destgirê bîrê, leza CPU, û parametreyên rêveberiya hêzê dikarin bandorek mezin li ser performansa torê bikin. Pêşniyarek hevpar ew e ku ji bo pro-ya derbasbûna torê were sepandin.file bi karanîna fermana tunedkirî. Ev çend mîhengên OS-ê diguherîne da ku tercîhê bide sepanên torê.
Berçavkirin:
admin-a télécharger çalak e
Danîn:
pro-rêvebirê tunedkirîfile rêjeya derbasbûna torê
5.8 Paşketina Amûrên Torê
Ev taybetmendî bi rêvebirina trafîka hatinî bi bandor, kêmkirina windabûna pakêtan, kêmkirina derengiyê û zêdekirina rêjeya veguhastinê, performansa torê baştir dike. Ev dibe sedema ezmûnek çêtir a bikarhêner û bersivek zûtir a pergalê.
Bi xwerû, di piraniya pergalên xebitandinê yên Linuxê de çalak e. Ji bo kontrolkirina nirxa xwerû:
sysctl net.core.netdev_max_backlog
Nirxa herî zêde ya netdev_max_backlog dikare li gorî faktorên wekî guhertoya kernel, hardware, bîr û barê kar biguhere. Di gelek rewşan de, 8192 wekî nirxek baş tê dîtin. sysctl -w net.core.netdev_max_backlog=8192
5.9 Mîhengkirin û Guherandinên Taybetî yên Platformê
5.9.1 Pêvajoyên Pîvanbar ên Intel® Xeon® yên Nifşa 4an
Rêveberiya hêzê ya pêvajoya Intel® 4th Generation Intel® Xeon® Scalable li gorî pêvajoyên Intel® Xeon® Scalable yên Nifşê 3yemîn pir êrîşkar e. Ji bo ku rê li ber ketina navikên di rewşên kêmbûna hêzê de bigirin, hewl bidin ku hejmara navikên ku têne bikar anîn kêm bikin da ku ew ji bo demek dirêjtir şiyar bimînin.
Mîhengên Biosê yên Pêşniyarkirî ji bo Performansa Herî Bilind
- Hyper-threading çalakkirin/neçalakkirin (li gorî hewcedariya barê kar û armancên performansê) li ser CPU-yê.
- Sîstema profesyonel saz bikefile ji bo performansa herî zêde, heta Performansê bitikînin.
NOT
Ev dibe sedema xerckirina enerjiyê ya zêdetir - Ji bo ku performansa CPU-yê ya herî zêde li ser karîgeriya hêzê were pêşîn kirin, rêveberiya hêza CPU-yê li ser Performansa Herî Zêde bicîh bikin.
- Turbo Boost çalak bike. Neçalakkirina Turbo Boost di mîhengên BIOS-a pergalê de bi gelemperî rê li ber zêdekirina dînamîk a leza demjimêra CPU-yê ji frekansa xwe ya bingehîn digire.
- NOT
Neçalakkirina Turbo Boost dibe ku ji bo hin rewşên karanînê guncan be ku performansa domdar, karîgeriya hêzê, an rêveberiya germî li ser performansa herî zêde pêşîn in. - Heke pergal teknolojiyên virtualîzasyonê bi kar neyne, taybetiya Virtualîzasyona Yek Root I/O (SR-IOV) vemirîne.
- Rewşa-C neçalak bike da ku rê bide CPU-yê ku çalak bimîne û pêşî li ketina rewşên bêkar ên kûrtir bigire.
- C1E neçalak bike, da ku piştrast bibî ku CPU çalak dimîne û nakeve rewşa bêkar a C1E.
- Ji bo ku pergalê rêwerz bide ku bi frekansa herî bilind a berdest bixebite, frekansa uncore li ser herî zêde bicîh bike.
- Li ser platformên Dell, emulasyona core ya Multiple APIC Description Table (MADT) li ser Linear (an Round-Robin li gorî BIOS) bicîh bikin da ku nexşeyek zelal û pêşbînîkirî ya coreyên CPU peyda bikin.
Mîhengên Asta OS-ê yên Pêşniyarkirî ji bo Performansa Çêtirkirî
- Pîvana frekansa CPU-yê li ser performansê destnîşan bike. cpupower frequency-set -g performance cpupower frequency-info
- C-States neçalak bike. cpupower idle-set -D0
- Bufferên core Rx (rmem) û Tx (wmem) li ser nirxa herî zêde bicîh bike. sysctl -w net.core.rmem_max=16777216 sysctl -w net.core.wmem_max=16777216
- Paşketina cîhaza torê destnîşan bike. sysctl -w net.core.netdev_max_backlog=8192
- Pro-yê mîhengkirî saz bikefile (barê kar bi rêjeya rêjeyê/latensiyê ve girêdayî ye).
pro-rêvebirê tunedkirîfile rêjeya derbasbûna torê
Mîhengên Asta Adaptorê yên Pêşniyarkirî ji bo Performansa Çêtirkirî
- Hejmara rêzên ku ji bo trafîka sepanê werin bikar anîn sînordar bike. Ji bo ku coreyên CPU yên têkildar çalak bimînin û pêşî li ketina rewşên bêkar ên kûrtir bigirin, hejmara herî kêm a rêzên pêwîst bikar bînin (li gorî barê kar rast bikin): ethtool -L 32 bi hev re
- Rêjeyên moderasyonê yên navberdanê destnîşan bike. ethtool -C adapteyî-rx girtî adapteyî-tx girtî rx-usecs-bilind 50 rx-usecs 50 tx-usecs 50
Biceribînin ku demjimêra şandin/wergirtin/hevgirtina bi pêşanîya bilind li jor (80/100/150/200) an nizmtir (25/20/10/5) biguherînin da ku nirxa çêtirîn ji bo barê kar bibînin. - Mezinahiyên zengila Rx/Tx destnîşan bike. ethtool -G rx 4096 tx 4096
NOT
Eger hûn bibînin ku pakêta Rx bi ethtool -S| grep drop diqede, biceribînin ku mezinahiya zengilê kêm bikin bo <4096. Biceribînin ku nirxa çêtirîn ji bo barê kar bibînin ku tê de pakêt nayên avêtin. - IRQ Affinity saz bike. Bîrên herêmî yên NIC-ê bikar bîne, an nexşeya bingehîn a taybetî (ku hejmara bîrên wekhevî hejmara rêzan e ku di 1-ê de li ser rûpel 26-an hatine danîn. systemctl stop irqbalance set_irq_affinity -X local) YAN set_irq_affinity -X
5.9.2 AMD EPYC
Prosesorên AMD EPYC CPU-yên bihêz in ku ji bo server û navendên daneyan hatine çêkirin, li ser mîmariya Zen a AMD-ê hatine avakirin. Mîhengên li jêr ji rêzenivîsa EPYC ya nifşê 4-an a AMD-ê ne.
Mîhengên BIOS-ê yên Pêşniyarkirî ji bo Performansa Herî Bilind
- Moda xwerû çalak bike da ku bikarhêner bikaribin performansa CPU, xerckirina enerjiyê û mîhengên din rast bikin. Ev dibe alîkar ku pergalê ji bo hevsengiya çêtirîn di navbera performans û karîgeriya enerjiyê de were mîheng kirin.
- Zêdekirina performansa bingehîn çalak bike da ku CPU bixweber leza xwe zêde bike da ku karên dijwartir bimeşîne, û performansa giştî baştir bike.
- Kontrola C-rewşa gerdûnî neçalak bike, da ku CPU nekeve rewşên teserûfa enerjiyê yên kûrtir ên ku wekî C-rewş têne zanîn, ku dikarin bersivdayînê biparêzin.
NOT
Neçalakkirina rewşên C dikare bibe sedema xerckirina enerjiyê ya zêdetir û germahiya germî zêde bike. Her duyan jî ji bo barê kar bişopînin. - Li gorî hewcedariya barê kar û armancên performansê, Multithreading-a Hevdem (SMT) li ser CPU-yê çalak/neçalak bike. SMT li ser CPU-yên Intel wekhevî Hyper Threading e.
NOT
Ji bo performansa çêtirînkirî, ji bo mîhengkirina OS û asta adapterê ya pêşniyarkirî, li rûpel 40 li Mîhengkirina Mîhengên Ajokarê i13e û li rûpel 40 li Mîhengkirina Platformê (i19e Ne Taybetî) binêrin.
Girêdana Adaptorê
Girêdana Linuxê taybetmendiyek bihêz e ku dikare performansa torê, dubarekirin û toleransa xeletiyan di jîngehên serverê de bi girîngî baştir bike. Lêbelê, girîng e ku were zanîn ku ew ji bo ku bi rêkûpêk bixebite, pêdivî bi alavên torê yên lihevhatî û mîhengkirina guncaw li ser hem server û hem jî swîçê heye.
Ajokara girêdanê di Linuxê de dihêle hûn gelek navrûyên torê yên fîzîkî di navrûyek girêdayî de kom bikin. Ev navrûya girêdayî wekî navrûyek tora virtual a yekane ji bo pergala xebitandinê û sepanan xuya dike.
NOT
Girêdan navrûyeke mentiqî ye, ji ber vê yekê ne mimkûn e ku girêdana CPU-yê rasterast li ser navrûya girêdanê were danîn (mînakample, bond0). Ango, ew rasterast li ser birêvebirina navberdanê an jî girêdana CPU-yê kontrol nake. Girêdana CPU-yê divê ji bo navrûyên bingehîn ên ku beşek ji girêdanê ne were mîheng kirin.
Bernameya kelandinê çend awayan ji bo xebitandinê peyda dike, her yek xwedî taybetmendiyên xwe ye.
Awa | Awa |
0 | Round Robin |
1 | Backup Active |
2 | XOR |
3 | Weşandin |
4 | LACP |
5 | Balansa Barê Veguhestinê |
6 | Balansa Barê ya Adapteyî |
Rêbazên cûda hene ji bo afirandina girêdanekê di Linuxê de. Yek ji rêbazên herî gelemperî karanîna mîhengkirina torê ye. files (mînakample, navrûyên /etc/network/ an jî /etc/sysconfig/network-scripts/ifcfg-bondX).
Mîhengkirin Bi Bikaranîna Mîhengkirina Torê Files
Gavên jêrîn bi rêya mîhengkirina torê girêdanê diafirînin files.
- Ji bo girêdanê du an bêtir portên NIC hilbijêrin (mînakample, ethX û ethY)
- Mîhengkirina NIC-ê Veke Files di bin /etc/sysconfig/network-scripts/ de ji bo Navrûya NIC-a pêwîst (mînakample, vi ifcfg-ethX û vi ifcfg-ethY) û nivîsa jêrîn lê zêde bikin:
MASTER=bondN [Nîşe: N hejmareke tevahî ye ji bo behskirina jimara girêdanê.] SLAVE=erê - Skrîptek tora girêdanê biafirîne file vi /etc/sysconfig/networkscripts/ifcfg-bondN bi kar bîne û nivîsa jêrîn binivîse:
DEVICE=bondN [Nîşe: N hejmareke tevahî ye ji bo destnîşankirina hejmara girêdanê] ONBOOT=erê USERCTL=na BOOTPROTO=dhcp (an) tune
IPADDR=200.20.2.4 [pêdivî ye eger BOOTPROTO=tune be] NETMASK=255.255.255.0 [pêdivî ye eger BOOTPROTO=tune be] NETWORK=200.20.2.0 [pêdivî ye eger BOOTPROTO=tune be] BROADCAST=200.20.2.255 [pêdivî ye eger BOOTPROTO=tune be] BONDING_OPTS=”mode=1 miimon=100″
NOT
Mod dikare li gorî pêdiviyê ji 0 heta 6 hejmareke tevahî be. - Xizmetên torê bi karanîna service network restart an systemctl restart NetworkManager.service ji nû ve bidin destpêkirin.
Pirsgirêkên Performansê
7.1 Bikaranîna CPUyê
Dema ku barê kar dixebite, karanîna CPU-yê li gorî her core kontrol bike.
Ji bîr mekin ku bikaranîna li gorî her core ji bikaranîna giştî ya CPU-yê bi performansê re girîngtir e ji ber ku ew ramanek li ser bikaranîna CPU-yê li gorî rêza torê dide. Ger tenê çend têlên we hebin ku trafîka torê dimeşînin, wê hingê dibe ku tenê çend coreyên we werin bikar anîn. Lêbelê, heke ew core li ser 100% bin, wê hingê rêjeya derbasbûna tora we muhtemelen ji hêla karanîna CPU-yê ve sînordar e û dem hatiye ku hûn jêrîn bikin:
- Mezinahiya moderasyonê/zengila IRQ-ê wekî ku di Moderasyona Navberdanê de hatî destnîşan kirin mîheng bike.
- Ji bo belavkirina barê CPUyê li ser bêtir coreyan, hejmara têlên sepanê zêde bikin. Ger hemû core bi rêjeya %100 bixebitin, wê demê dibe ku serîlêdana we bi CPUyê ve girêdayî be ne ku bi torê ve girêdayî be.
Amûrên ku bi gelemperî têne peyda kirin:
- kop
— Ji bo berfirehkirina navnîşa CPUyan û kontrolkirina kîjan têne bikar anîn, 1ê bikirtînin.
- Li gorî asta bikaranînê baldar be.
— Bala xwe bidinê ka kîjan pêvajo wekî herî çalak têne navnîş kirin (jorê navnîşê). - mpstat
Berê jêrînampxeta fermanê li ser Red Hat Enterprise Linux 7.x hate ceribandin.
Ew karanîna CPU-yê li gorî her core nîşan dide (bi dîtina rêjeya tevahî ya bêkarbûnê û jêbirina ji 100) û nirxên li jor 80% bi sor ronî dike. 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 Li cihê ku çerx lê têne xerckirin bigerin.
7.2 Jimareyên i40e
Ajokara i40e lîsteyek dirêj ji hejmartinan ji bo debugkirina navrûyê û çavdêrîkirinê bi rêya fermana ethtool -S ethX peyda dike. Dema ku karekî dixebite, temaşekirina derana û/an berawirdkirina nirxên hejmartinan berî û piştî xebitandina karekî dikare bibe alîkar.
- Ji bo bidestxistina komeke tevahî ya hejmartinên i40e: ethtool -S ethX
- Ji bo temaşekirina tenê hejmartinên ne-sifir: watch -d (ethtool -S ethX) | egrep -v :\ 0 | column
Hin tiştên ku divê lê bigerin: - rx_dropped tê vê wateyê ku CPU bi têra xwe zû baferan xizmet nake.
- port.rx_dropped tê wê maneyê ku tiştek di hêl/bîr/sîstemê de bi têra xwe bilez nîne.
7.3 Jimareyên Torê
Berî/piştî xebitandina karekî, netstat -s kontrol bike.
Netstat agahiyên torê ji hemî cîhazên torê yên di pergalê de berhev dike. Ji ber vê yekê, dibe ku encam ji torên ji bilî tora ku di bin ceribandinê de ye bandor bibin. Derana ji netstat -s dikare nîşanek baş a pirsgirêkên performansê di pergala xebitandinê ya Linux an kernel de be. Ji bo bêtir agahdarî li ser mîhengkirina pergala xebitandinê ya giştî, rêbernameyên mîhengkirina pergala xebitandinê, wekî Rêbernameya Mîhengkirina Performansa Tora Linux ya Red Hat Enterprise, şêwir bikin.
7.4 Tomarên Sîstemê
Ji bo çewtî û hişyariyan tomarên pergalê kontrol bike (/var/log/messages, dmesg).
7.5 Amûra Intel svr-info
Intel amûrek svr-info peyda dike (binêre https://github.com/intel/svr-info) ji bo Linux-ê ku hûrguliyên nermalav û alavên têkildar ji serverekê digire. Derana svr-info dikare pir bikêr be ji bo destnîşankirina tengasiyên pergalê an mîheng/guherandinên ku ji bo barê kar nehatine çêtirkirin. Dema ku hûn dozek piştgiriyê bi Intel re ji bo pirsgirêkên performansê yên têkildarî Ethernet vedikin, pê ewle bin ku derana svr-info (nivîs) tê de bikin file) ji bo her serverek Linuxê di veavakirina ceribandinê de.
- Daxistin û sazkirina svr-info:
wget -qO- https://github.com/intel/svr-info/releases/latest/download/svrinfo.tgz| tar xvz cd svr-info
./svr-info
> navê mêvandar.txt - Derketinê berhev bikin:
./svr-info > navê mêvandar.txt - Nivîsekê (.txt) pê ve girêbide file ji bo her serverê ji bo analîzê doza piştgiriya Intel-a we bişînin.
Pêşniyarên ji bo Senaryoyên Performansê yên Hevpar
8.1 Pêşvebirina IP-yê
- Kernelê nûve bike.
Hin kernelên di nav belavkirinê de yên dawî performansa rêkirinê ji ber guhertinên kernel di koda rêkirinê de, ku bi rakirina cacheya rêkirinê ji ber ewlehiyê dest pê dike, xirab kirine. Divê kernelên nû yên ji belavkirinê derketine paçên wan hebin ku bandora performansê ya van guhertinan sivik bikin û dibe ku performansê çêtir peyda bikin. - Hyper-threading (coresên mantiqî) neçalak bike.
- Parametreyên bootkirina kernel biguherîne.
— Heke ji bo virtualîzasyonê ne hewce be, iommu bi zorê ji rêza bootkirina kernelê vemirîne (intel_iommu=off an iommu=off).
— Rêveberiya hêzê vemirîne: processor.max_cstates=1 idle=poll pcie_aspm=off - Hejmara rêzan bi qasî hejmara coreyan li ser soketa herêmî sînordar bike (di vê mînakê de 12)ample). ethtool -L ethX hevgirtî 12
- Pin tenê ji bo soketa herêmî asteng dike. set_irq_affinity -X local ethX AN set_irq_affinity -X local ethX
NOT
-X an -x dikare li gorî barê kar were bikar anîn. - Mezinahiya zengilên Tx û Rx li gorî pêwîstiyê biguherîne. Nirxek mezintir çavkaniyên zêdetir digire lê dikare rêjeyên şandinê yên çêtir peyda bike. ethtool -G ethX rx 4096 tx 4096
- Dema rêwerzêkirinê GRO neçalak bike.
Ji ber pirsgirêkek kernelê ya naskirî, divê GRO dema rêkirin/bervekirinê were vemirandin. ethtool -K ethX gro off dike ku tê de ethX navrûya Ethernetê ye ku were guhertin. - Moderasyona navberdana adapteyî neçalak bike û nirxek statîk destnîşan bike. ethtool -C ethX adaptive-rx off adaptive-tx off ethtool -C ethX rx-usecs 64 tx-usecs 64
NOT
Li gorî celebê pêvajo û barê kar, parametreyên hevgirtinê ji bo RX û TX dikarin ji bo performansa çêtir (an jî windabûna kêmtir a çarçoveyê) werin sererast kirin.
- Firewallê neçalak bike. sudo systemctl firewalld neçalak bike sudo systemctl firewalld rawestîne
- Pêşvebirina IP-ê çalak bike. sysctl -w net.ipv4.ip_forward=1
- Nirxên herî zêde ji bo mezinahiyên bafera soketên wergirtin û şandinê mîheng bike. sysctl -w net.core.rmem_max=16777216 sysctl -w net.core.wmem_max=16777216
NOT
Li gorî barê kar an hewcedariyê, ev nirx dikarin ji xwerû werin guhertin.
8.2 Latency Kêm
- Hyper-threading (coresên mentiqî) VEKIRÎNIN.
- Piştrast bike ku cîhaza torê ji numa core 0 herêmî ye.
- Bi karanîna taskset -c 0, benchmarkê li core 0 ve girêbide.
- Ji bo vemirandina irqbalance bi karanîna systemctl stop irqbalance an jî systemctl disable irqbalance, irqbalance vemirînin.
- Skrîpta affinity bimeşîne da ku li ser coreyan belav bibe. Yan herêmî yan jî hemûyan biceribîne.
- Moderasyona navberdanê vemirîne. ethtool -C ethX rx-usecs 0 tx-usecs 0 adaptive-rx off adaptive-tx off rxusecs- high 0
- Hejmara rêzan bi qasî hejmara coreyan li ser soketa herêmî sînordar bike (32 di vê mînakê de)ample). ethtool -L ethX hevgirtî 32
- Tenê ji bo soketa herêmî astengkirina pinkirinê tê kirin (skrîpt bi çavkaniya ajokera i40e ve hatî pakêt kirin). set_irq_affinity -X local ethX
- Pîvanek diyarkirî wekî netperf -t TCP_RR, netperf -t UDP_RR, an NetPipe bikar bînin. netperf -t TCP_RR an netperf -t UDP_RR
- Pîvana benchmarkê li ser yek core di girêka NUMA ya herêmî de pin bike. taskset -c
Intel ® Ethernet rêzefîlma 700
Rêbernameya Mîhengkirina Performansa Linuxê
Berfanbar 2024
Jimareya Belgeyê: 334019, Rev.: 1.2
Belge / Çavkanî
![]() |
Mîhengkirina Performansa Linuxê ya Intel Ethernet 700 Series [pdf] Rehbera bikaranînê 334019, Mîhengkirina Performansa Linuxê ya rêzeya Ethernet 700, rêzeya Ethernet 700, Mîhengkirina Performansa Linuxê, Mîhengkirina Performansê, Mîhengkirin |