Intel LogoIntel ® Ethernet 700 Series
Linux Performance Tuning Guide
NEX Cloud Networking Group (NCNG)
Rev. 1.2
Disembala 2024

Mbiri Yobwereza

Kubwereza Tsiku Ndemanga
1.2 Disembala 2024 · Maupangiri Owonjezera Owongolera Mphamvu.
* Wowonjezera Intel * Turbo Boost.
· Anawonjezera Network Chipangizo Backlog.
· Zosintha Zapadera za Platform-Specific and Tuning.
Owonjezera 4th Generation Intel*%eon* Scalable processors.
· Anawonjezera AMD EPYC.
· Kusinthidwa kwa Check System Hardware Kutha.
· IPerf2 yasinthidwa.
· IPerf3 yasinthidwa.
· Mndandanda Watsopano wa Tx/Rx.
· Kuwongolera Kusokoneza Kwasinthidwa.
· Kukula Kwa mphete Zosinthidwa.
· Kusintha kwa Platform Tuning (i40e Non-Specific).
· Zosintha za BIOS zosinthidwa.
· Kusintha kwa C-State Control.
* Kusintha kwa CPU Frequency Scaling.
· Zokonda Zantchito Zosinthidwa.
· Zosintha Zogwiritsa Ntchito / Kernel.
· Kusintha kwa IP Forwarding.
· Kusintha kwa Low Latency.
Ogasiti 2023 Zosintha pa chikalatachi zikuphatikiza:
· Zowonjezera Zofananira.
Zowonjezedwa Onetsetsani Kuti Phukusi la DDP Likutsegula Moyenera.
· Wowonjezera iPerf2.
· Wowonjezera iPerf3.
· Wowonjezera netperf.
· Kusintha kwa IRQ Affinity.
· Mndandanda Wowonjezera wa Tx/Rx.
· Kukula Kwa mphete Zosinthidwa.
· Mafelemu owonjezera a Jumbo.
* Adawonjezera Adapter Bonding.
+ Chida chowonjezera cha Intel svr-info.
1.0 Marichi 2016 Kutulutsidwa Koyamba (Intel Public).

Mawu Oyamba

Bukuli lakonzedwa kuti lipereke chitsogozo chowongolera malo kuti azitha kugwiritsa ntchito bwino maukonde pogwiritsa ntchito Intel ® Ethernet 700 Series NICs m'malo a Linux. Imayang'ana kwambiri pa hardware, dalaivala, ndi machitidwe ogwiritsira ntchito ndi zoikamo zomwe zingapangitse kuti maukonde agwire ntchito. Tiyenera kuzindikira kuti machitidwe ochezera a pa Intaneti angakhudzidwe ndi kuchuluka kwa zikoka zakunja, zokhazokha zodziwika bwino komanso zochititsa chidwi zomwe zafotokozedwa mu bukhuli.
1.1 Zogwirizana nazo

Mndandanda Woyamba

2.1 Sinthani Mitundu Yoyendetsa / Firmware
Yang'anani mitundu yoyendetsa / firmware pogwiritsa ntchito ethtool -i ethx.
Sinthani zotsatirazi ngati pakufunika:

2.2 Werengani README
Yang'anani zodziwika ndikupeza malangizo aposachedwa kuchokera ku README file kuphatikizidwa mu phukusi la gwero la i40e.
2.3 Onani Kuti PCI Express (PCIe) Slot Yanu Ndi x8
Mipata ina ya PCIe x8 imasanjidwa ngati mipata ya x4. Mipata iyi ili ndi bandwidth yosakwanira pamlingo wathunthu wokhala ndi madoko apawiri ndi zida za quad port. Kuphatikiza apo, ngati muyika adaputala ya PCIe v3.0 mu PCIe v2.x slot, simungapeze bandwidth yonse. Woyendetsa chipangizo cha pulogalamu amazindikira izi ndikulemba uthenga wotsatira mu chipika chadongosolo:
PCI-Express bandwidth yomwe ilipo pa khadi iyi siyokwanira kuti igwire bwino ntchito. Kuti mugwire bwino ntchito pakufunika kagawo ka x8 PCI-Express.
Ngati cholakwikachi chachitika, sunthani adaputala yanu ku PCIe v3.0 x8 slot kuti muthetse vutoli.
2.4 Yang'anani Kuthekera kwa Hardware System
Pa 10 Gbps, 25 Gbps, ndi 40 Gbps Ethernet, pali zofunikira zochepa za CPU ndi dongosolo. Nthawi zambiri, purosesa yamakono ya kalasi ya seva ndi kasinthidwe koyenera kukumbukira papulatifomu yanu kuyenera kukhala kokwanira, koma zosowa zimasiyana kutengera kuchuluka kwa ntchito yanu. Njira zonse zokumbukira ziyenera kukhala ndi anthu ndipo mawonekedwe okumbukira ayenera kuyatsidwa mu BIOS. Tsimikizirani kuti CPU yanu ndi kasinthidwe ka kukumbukira kumatha kuthandizira kuchuluka kwa magwiridwe antchito omwe mumafunikira pantchito yanu.
ZINDIKIRANI
XL710 ndi 40 GbE controller. Adaputala ya 2 x 40 GbE yogwiritsa ntchito chowongolera ichi sichinapangidwe kuti ikhale 2 x 40 GbE koma 1 x 40 GbE yokhala ndi doko lothandizira kumbuyo. Poyesa kugwiritsa ntchito kuchuluka kwa magalimoto okhudzana ndi madoko onse awiri, kusintha kwamkati kumakhala kodzaza ndipo bandwidth yophatikizika pakati pa madoko awiriwa imakhala ndi SO Gbps yonse.
2.4.1 Kernel Boot Parameters
Ngati Intel® Virtualization Technology ya Directed I/O (Intel® VT-d) yayatsidwa mu BIOS, Intel imalimbikitsa kuti IOMMU ikhale yodutsa kuti igwire bwino ntchito pamanetiweki. Izi zimachotsa kumtunda kwa DMA pamagalimoto obwera pomwe zikupangitsa Virtual Machines (VMs) kukhalabe ndi zabwino za Intel® VT-d. Izi zimatheka powonjezera mzere wotsatira pazigawo za kernel boot: fommu-pt.
2.5 Onetsetsani kuti Phukusi la DDP likutsegula Moyenera
140ea ndi 140eb base drivers alibe chithandizo chachindunji cha Dynamic Device Personalization (DDP). Kuti mugwiritse ntchito DDP yokhala ndi zida za 700 Series, DDP profile itha kugwiritsidwa ntchito ndi testpmd application.
Zambiri pa DDP profiles, ndi momwe mungagwiritsire ntchito DDP profile yokhala ndi testpmd pazida za 700 Series, tchulani Intel® Ethernet 700 Series Dynamic Device Personalization (DDP) Technology Guide.
Kutsimikizira ngati DDP profile idakwezedwa bwino:
testpmd> ddp pezani mndandanda 0 Profile nambala: 1
ZINDIKIRANI
Ngati profile nambala ndi 0, palibe phukusi la DDP lomwe ladzaza. Pakachitika cholakwika chonyamula phukusi la DDP, chipangizocho chimasinthiratu kumayendedwe otetezeka ndipo zinthu zambiri zogwirira ntchito sizipezeka. Ngati pali zolakwika zokhudzana ndi kutsitsa phukusi la DDP, zingayambitse mavuto. Kuti mupeze njira zothetsera mavuto, onani Maupangiri aukadaulo a Inte/* Ethernet 700 Series Dynamic Device Personalization (DDP).

Miyezo Yoyambira Kagwiridwe Ntchito ndi Njira Yosinthira

3.1 Network Performance Benchmarks
Musanayambe masewero olimbitsa thupi, ndikofunika kukhala ndi muyeso wabwino wa momwe maukonde anu akugwirira ntchito. Nthawi zambiri kuphatikiza pakupeza muyeso woyambira wa momwe ntchito yanu ikugwirira ntchito, ndikwabwino kugwiritsanso ntchito benchmark yokhazikika kuti muwonetsetse kuti chipangizo chanu cha netiweki chili bwino.
Pakukhathamiritsa kwadongosolo limodzi, netperf kapena iperf ndi NetPIPE zonse ndi zida zaulere zaulere zomwe zimakuthandizani kutsindika kulumikizana ndikuzindikira zovuta zomwe zimachitika.
Netperf ndi yamphamvu pakuyesa kwa ma throughput komanso latency. NetPIPE ndi chida chachindunji cha latency koma imatha kupangidwa mwanjira iliyonse.
ZINDIKIRANI
Mayeso a TCP_RR mu netperf amabwezeretsa latency pamtengo wamalonda / mphindi. Iyi ndi nambala yaulendo wobwerera. The one-way latency ikhoza kuwerengedwa pogwiritsa ntchito equation iyi:
Kuchedwa(user) = (1⁄2) / [Zochita/mphindikati] * 1,000,000
3.1.1 iPerf2
Intel imalimbikitsa iperf2 pa iperf3 pamikhalidwe yambiri yowerengera chifukwa chosavuta kugwiritsa ntchito komanso kuthandizira kwa ulusi wambiri munthawi imodzi. Intel imalimbikitsa kuthamanga ndi njira ya -P yokhala ndi ulusi wa 2-4 wamalumikizidwe a 25G komanso ulusi wozungulira 4-6 wamalumikizidwe a 40G.

  • Kuyendetsa magalimoto amtundu umodzi kuchokera kwa kasitomala kupita ku seva: Lamulo la seva exampndi: iperf2 -s
    Client command exampndi: iperf2 -c -P
  • Kuyendetsa magalimoto awiri kuchokera kwa kasitomala kupita ku seva (ndi mosemphanitsa): Lamulo la seva example: iperf2 -s -p
    Client command exampLe:
    iperf2 -c -p -P --full-duplex OR
    iperf2 -c -p -P -d

ZINDIKIRANI
Zosankha zonse za -full-duplex ndi -d mu iperf2 zimalola wogwiritsa ntchito kuyesa njira ziwiri. Komabe, -full-duplex option makamaka imayang'ana pa kuyesa kwathunthu.
ZINDIKIRANI
Mukayesa iperf2 pamadoko angapo a seva, -d mbendera ikhoza kuwonjezeredwa ku lamulo la seva kuti muyendetse magawo onse a seva kumbuyo kuchokera pawindo lomwelo. The -d mbendera ingagwiritsidwenso ntchito pamene lamulo la seva likuyikidwa mkati mwa loop mu script.
ZINDIKIRANI
Mukayesa kuyesa kwa netiweki ndi mtsinje umodzi/ulusi umodzi (mwachitsanzoample: P1), mapurosesa a AMD sangapereke zomwe zikuyembekezeka, makamaka ma bandwidth NIC apamwamba (ngati liwiro ndi> = 25G bandwidth). Zotsatira zake, kubandika kwa ma cores kumafunika kuti mukwaniritse zochulukira. Onani Zokonda pa Ntchito patsamba 22.
3.1.2 iPerf3
Ngati iperf3 ikugwiritsidwa ntchito, maulendo angapo ogwiritsira ntchito amafunika kutenga advantage zamitundu yambiri, RSS, ndi mizere ya hardware. Intel imalimbikitsa kuthamanga ndi magawo a 2-4 ogwiritsira ntchito ma 25G ndi magawo ozungulira 4-6 pazolumikizana za 40G. Gawo lirilonse liyenera kufotokoza mtengo wapadera wa TCP pogwiritsa ntchito -p.

  • Kuyendetsa magalimoto amtundu umodzi kuchokera kwa kasitomala kupita ku seva:
    Lamulo la seva exampLe:
    iperf3 -s -p
    Client command exampLe:
    iperf3 -c -p
  • Kuyendetsa magalimoto awiri kuchokera kwa kasitomala kupita ku seva (ndi mosemphanitsa):
    Lamulo la seva exampLe:
    iperf3 -s -p
    Client command exampndi: iperf3 -c -p -P --wiri
  • Kuti muyambe maulendo angapo (mitu) ya iperf3, malingaliro ndikugwiritsa ntchito loop kuti mupange mapu ku madoko a TCP ndikuyendetsa iperf3 kumbuyo pogwiritsa ntchito & kupanga njira zingapo zofanana.
    Lamulo la seva example, yambani 4 ulusi: port=""; kwa ine mu {0..3}; do port=520$i; bash -c "iperf3 -s -p $port &"; zachitika; Client command example, yambani ulusi 4 - Transmit test port = ""; kwa ine mu {0..3}; do port=520$i; bash -c "iperf3 -c $serverIP -p $port &"; zachitika; Client command example, yambani ulusi 4 - Landirani doko loyesa = ""; kwa ine mu {0..3}; do port=520$i; bash -c "iperf3 -R -c $serverIP -p $port &"; zachitika; Pamalumikizidwe a 40G, onjezani loopu kuti mupange maulendo 6 / ulusi.

ZINDIKIRANI
Mukayesa kuyesa kwa netiweki ndi mtsinje umodzi/ulusi umodzi (mwachitsanzoample: P1), mapurosesa a AMD sangapereke zomwe zikuyembekezeka, makamaka bandwidth yapamwamba
NICs (ngati liwiro ndi> = 25G bandwidth). Zotsatira zake, kubandika kwa ma cores kumafunika kuti mukwaniritse zochulukira. Onani Zokonda pa Ntchito patsamba 22 ndi AMD EPYC patsamba 26.
3.1.3 netperf
Chida cha netperf ndichosankhika champhamvu pazoyeserera zonse zoyeserera komanso latency.

  • Mayeso a TCP_STREAM mu netperf amayesa kuthekera kwa chipangizocho. Lamulo la seva example: netserver Client command example: netperf -t TCP_STREAM -l 30 -H
  • Mayeso a TCP_RR mu netperf amabwezeretsa latency mumtengo wamalonda/sekondi. Iyi ndi nambala yaulendo wobwerera. Ndibwino kugwiritsa ntchito -T x,x njira, anali x ndi CPU m'dera chipangizo. Kuchedwa kwa njira imodzi kungawerengedwe pogwiritsa ntchito: Latency(usec)=(1⁄2)/ [Transactions/sec]*1,000,\ Server command exampndi: netserver
    Client command example: netperf -t TCP_RR -l 30 -H -T x,x
  • Kuti muyambe maulendo angapo (ulusi) wa netperf, malingalirowo ndikugwiritsa ntchito loop kuti mupange mapu a ulusi ku madoko a TCP ndikuyendetsa netperf kumbuyo pogwiritsa ntchito & kupanga njira zingapo zofanana.
    Lamulo la seva example, yambani ulusi 8:
    port=””; kwa ine mu {0..7}; do port=520$i; bash -c "netserver -L $serverIP -p $port &"; zachitika;
    Client command example, yambani ulusi 8: port=""; kwa ine mu {0..7}; do port=520$i; bash -c "netperf -H $serverIP -p $port -t TCP_STREAM -l 30 &"; zachitika;

3.2 Njira Yosinthira
Yang'anani pa kusintha kumodzi panthawi kuti mudziwe momwe kusintha kulikonse kumakhudzira mayeso anu. Mukakhala osamala kwambiri pakukonzekera, kudzakhala kosavuta kuzindikira ndi kuthana ndi zomwe zimayambitsa kulephera kwa magwiridwe antchito.

Kukonza i40e Driver Zikhazikiko

4.1 Kugwirizana kwa IRQ
Kukonzekera kuyanjana kwa IRQ kotero kuti kusokoneza kwa mizere yosiyanasiyana ya netiweki kumalumikizidwa ndi ma CPU cores osiyanasiyana kumatha kukhudza kwambiri magwiridwe antchito, makamaka mayeso amtundu wa multithread.
Kuti mukonze kuyanjana kwa IRQ, siyani irqbalance ndiyeno gwiritsani ntchito set_irq_affinity script kuchokera pa i40e source phukusi kapena pini mizere pamanja. Zimitsani chowerengera cha IRQ kuti mutsegule mizere:

  • systemctl kuletsa irqbalance
  • systemctl siyani irqbalance
    Pogwiritsa ntchito set_irq_affinity script kuchokera pa phukusi la i40e (lovomerezeka):
  • Kugwiritsa ntchito ma cores onse:
    [njira-to-i40epackage]/scripts/set_irq_affinity -X onse ethX
  • Kugwiritsa ntchito ma cores okha pa socket ya NUMA: [path-to-i40epackage]/scripts/set_irq_affinity -X local ethX
  • Mukhozanso kusankha mitundu yosiyanasiyana ya ma cores. Pewani kugwiritsa ntchito cpu0 chifukwa imagwira ntchito zowerengera nthawi. [path-to-i40epackage]/scripts/set_irq_affinity 1-2 ethX

ZINDIKIRANI
Script yogwirizana imathandizira Transmit Packet Steering (XPS) ngati gawo la pinning pamene njira -x yatchulidwa. XPS ikayatsidwa, Intel imalimbikitsa kuti muyimitse irqbalance, popeza kernel balancer yokhala ndi XPS ingayambitse ntchito yosayembekezereka. Zolemba za affinity zimalepheretsa XPS pamene -X njira yatchulidwa. Kuyimitsa XPS ndikutsegula mizere yofananira kumakhala kopindulitsa pantchito zochulukira momwe zimagwirira ntchito bwino kwambiri magalimoto amtundu wa Tx ndi Rx akathandizidwa pamizere yofanana.
Kukonza mizere yofananira mu Linux kumaphatikizapo kukonza magawo oyendetsa ma netiweki kuti athe kulandila mizere yofananira (Rx) ndi mizere yotumizira ma symmetric (Tx) ya ma adapter a network.
ZINDIKIRANI

  • Mizere ya Symmetric ndi gawo lapamwamba la maukonde, ndipo si onse 700 ma adapter network kapena madalaivala omwe amawathandiza.
  • Onetsetsani kuti muli ndi dalaivala ndi thandizo la hardware musanayese kukonza mizere yofananira.

Kuti mukonze mizere yofananira, tsatirani izi:

  1. Sinthani Mawonekedwe a Network Interface File: Gwiritsani ntchito cholembera (mwachitsanzoample, vi, nano, kapena gedit) kuti musinthe mawonekedwe a netiweki file. The file nthawi zambiri imakhala pansi pa /etc/sysconfig/network-scripts/ directory ndipo ili ndi dzina ngati ifcfg-ethX, pomwe ethX ndi dzina la mawonekedwe a netiweki yanu.
  2. Onjezani magawo a Symmetric Queue. Onjezani mizere yotsatirayi ku kasinthidwe ka mawonekedwe a netiweki file: ETHTOOL_OPTS=”rx-mizere 8 tx-mizere 8″
  3. Yambitsaninso Network Service.
    Mukasintha, yambitsaninso ntchito ya netiweki kuti mugwiritse ntchito kasinthidwe katsopano. sudo systemctl kuyambitsanso network

Pamanja:

  • Pezani mapurosesa omwe alumikizidwa ku node iliyonse pogwiritsa ntchito: numactl -hardware lscpu
  • Pezani ma bit masks pa purosesa iliyonse:
  • Kutengera ma cores 0-11 pa node 0: [1,2,4,8,10,20,40,80,100,200,400,800]
  • Pezani ma IRQ omwe aperekedwa ku doko lomwe latumizidwa: grep ethX /proc/interrupts ndikuwona ma IRQ ofunika Kwa ex.ample, 181-192 kwa ma veti 12 omwe adadzaza.
  • Lembani mtengo wogwirizana wa SMP muzolowera zofananira za IRQ. Zindikirani kuti izi ziyenera kuchitidwa pakulowa kulikonse kwa IRQ: echo 1> /proc/irq/181/smp_affinity echo 2> /proc/irq/182/smp_affinity echo 4> /proc/irq/183/smp_affinity Onetsani kuyanjana kwa IRQ:
  • Kuwonetsa kuyanjana kwa IRQ kwa ma cores onse: /scripts/set_irq_affinity -s ethX
  • Kuwonetsa ma cores okha pa socket ya NUMA: /scripts/set_irq_affinity -s local ethX
  • Mukhozanso kusankha mitundu yosiyanasiyana ya ma cores: /scripts/set_irq_affinity -s 40-0-8,16 ethX

ZINDIKIRANI
Set_irq_affinity script imathandizira -s mbendera mu i40e driver version 2.16.11 ndi mtsogolo.
4.2 Tx/Rx Mizere
Nambala yosasinthika ya mizere yomwe imayatsidwa pa doko lililonse la Efaneti ndi dalaivala poyambitsa ndi yofanana ndi kuchuluka kwa ma CPU omwe amapezeka papulatifomu. Izi zimagwira ntchito bwino pamapulatifomu ambiri komanso kasinthidwe kantchito. Komabe, pamapulatifomu okhala ndi ma core count komanso / kapena kuchuluka kwa doko la Ethernet, kasinthidwe kameneka kangayambitse mikangano yazachuma. Chifukwa chake, nthawi zina pangakhale kofunikira kusinthira kusakhazikika kwa doko lililonse mudongosolo.
Nambala yokhazikika ya mizere ya Tx/Rx imatha kusiyanasiyana kutengera mtundu wake komanso mtundu wa driver. Chiwerengero cha mizere chikhoza kusinthidwa pogwiritsa ntchito lamulo la ethtool -L lomwe lili pansipa.
ZINDIKIRANI
Pazifukwa izi, Intel imalimbikitsa kuti muchepetse chiwerengero cha mizere yokhazikika pa doko lililonse kuti isapitirire kuchuluka kwa ma CPU omwe amapezeka mu node ya NUMA komweko kupita ku doko la adaputala. Nthawi zina, poyesa kulinganiza chuma pakugwiritsa ntchito kuchuluka kwa madoko, pangakhale kofunikira kuchepetsa chiwerengerochi mopitilira apo.
Kusintha masinthidwe a mzere:
Example imayika doko kukhala mizere 32 Tx/Rx: ethtool -L ethX kuphatikiza 32
Example output:
ethtool -l ethX
Zosintha zamakina a ethX: Zokhazikitsidwatu:
rx: 96
TX: 96
Ena: 1
Zogwirizana: 96
Zokonda pa hardware pano:
rx: 0
TX: 0
Ena: 1
Zogwirizana: 32
4.3 Kusokoneza Modelera
Kuwongolera kosokoneza kwa Adaptive kumangochitika mwachisawawa, ndipo adapangidwa kuti apereke njira yokhazikika pakati pa kutsika kwa CPU ndi magwiridwe antchito apamwamba. Komabe, mungayesere kukonza zosokoneza pamanja kuti zigwirizane ndi vuto lanu.
Zosiyanasiyana za 0-235 microseconds zimapereka njira yabwino ya 4,310 mpaka 250,000 kusokoneza pamphindikati. Mtengo wa rx-μsecs-mkulu ukhoza kukhazikitsidwa wodziimira pa rx-μsecs ndi tx-μsecs mu lamulo la ethtool lomwelo, ndipo limakhalanso lodziyimira pawokha pa algorithm yosinthira kusokoneza. Zida zomwe zili pansi zimathandizira granularity mu 2microsecond intervals, kotero kuti zoyandikana nazo zingayambitse kusokoneza komweko.

  • Kuzimitsa kusinthasintha kosokoneza: ethtool -C ethX adaptive-rx off adaptive-tx off
  • Kuyatsa kusinthasintha kosokoneza: ethtool -C ethX adaptive-rx pa adaptive-tx on

Malo abwino oti muyambire pakusintha kwanthawi zonse ndi 84 μs, kapena ~12000 interrupts/s. Ngati muwona zowerengera za rx_dropped zikuyenda pakadutsa magalimoto (pogwiritsa ntchito ethtool -S ethX) ndiye kuti mwina muli ndi CPU yocheperako, osakwanira ma buffers kuchokera ku saizi ya mphete ya adaputala (ethtool -G) kuti agwire mapaketi a 84 μs kapena kutsika pang'onopang'ono.

  • Kukhazikitsa kusokoneza pang'onopang'ono kwa 84 μs pakati pa kusokoneza (12000 kusokoneza / s): ethtool -C ethX adaptive-rx off adaptive-tx off rx-usecs 84 tx-usecs 84 Phindu lotsatira kuti muyese, ngati simunapitirire pa CPU62 magwiritsidwe, ndi. Izi zimagwiritsa ntchito CPU yambiri, koma zimagwira ntchito mwachangu, ndipo zimafuna zofotokozera zochepa (kukula kwa mphete, ethtool -G).
  • Kukhazikitsa kusokoneza pang'onopang'ono mpaka kusinthasintha kokhazikika kwa ma sec 62 pakati pa zosokoneza (16000 interrupts/s). ethtool -C ethX adaptive-rx off adaptive-tx off rx-usecs 62 tx-usecs 62
    Ngati zowerengera za rx_dropped zikuchulukirachulukira panthawi yamagalimoto (pogwiritsa ntchito ethtool -S ethX), mwina muli ndi CPU yochedwa, osakwanira ma buffers kuchokera ku saizi ya mphete ya adaputala (ethtool -G), kapena kutsika kwambiri pakusokoneza. Ngati simukuchulukirachulukira pakugwiritsa ntchito CPU, mutha kukulitsa chiwopsezo pochepetsa mtengo wa ITR. Izi zimagwiritsa ntchito CPU yochulukirapo, koma ntchito zimabisala mwachangu, ndipo zimafunikira zofotokozera zochepa (kukula kwa mphete, ethtool -G).
    Ngati CPU yanu ili pa 100%, ndiye kuti kuchulukitsa kusokoneza sikulangizidwa. Nthawi zina monga kuchuluka kwa ntchito yomangidwa ndi CPU, mungafune kuwonjezera mtengo wa μs kuti muthe kugwiritsa ntchito nthawi yambiri ya CPU pazinthu zina.
    Ngati mukufuna kutsika kwa latency komanso/kapena kukhala ndi CPU yambiri kuti mugwiritse ntchito pamanetiweki, mutha kuletsa kusokoneza kwathunthu, komwe kumathandizira kuti zosokoneza ziziwombera mwachangu momwe mungathere.
  • Kuletsa kusokoneza mode ethtool -C ethX adaptive-rx off adaptive-tx off rx-usecs 0 tx-usecs 0

ZINDIKIRANI
Mukathamanga ndikuyimitsa kosokoneza, kusokoneza pamzere uliwonse kumatha kukhala kokwezeka kwambiri. Ganizirani kuphatikiza rx-usec-high parameter kuti muyike malire apamwamba pa kusokoneza. Lamulo lotsatirali limalepheretsa kusokoneza kosinthika ndikuloleza ma microseconds opitilira 5 musanawonetse kulandila kapena kutumiza kwatha. M'malo mopangitsa kusokoneza kofikira 200,000 pa sekondi iliyonse, imachepetsa kusokoneza kwathunthu pamphindi imodzi kufika pa 50,000 kudzera pa rx-usec-high parameter. # ethtool -C ethX adaptive-rx off adaptive-tx off rx-usecs-high 20 rx-usecs 5 txusecs 5 Yesani kusintha transmit/receive/high-priority coalescing timer apamwamba (80/100/150/200) kapena kuchepetsa (25/20 mtengo wokwanira kuti mupeze 10.
4.4 Kukula kwa mphete
Ngati mukuwona ma rx_dropped counters mu ethtool -S ethX (rx_dropped, rx_dropped.nic), kapena kukakamizidwa kwa cache komwe kumakhala ndi mizere ingapo yogwira, mutha kuyesa kusintha kukula kwa mphete kuchokera pamtengo wokhazikika. Mtengo wokhazikika ndi 512, max ndi 4096.

  • Kuti muwone zomwe zili pano: ethtool -g ethX
    Ngati zikukayikiridwa kuti kusowa kwa buffering kumapangitsa kutsika pamlingo womwe ukusokoneza, mutha kuyesa kupitilira apo, kenako kuchepera, kenako pitilizani kusaka kwa binary mpaka muone momwe mungagwiritsire ntchito bwino.
    Ngati kukayikira kwa cache (mizere yambiri ikugwira ntchito) kuchepetsa ma buffers kuchokera pakusintha kungathandize Intel ® Data Direct I/O (Intel ® DDIO) kugwira ntchito bwino. Intel imalimbikitsa kuyesa 128 kapena 256 pamzere uliwonse, podziwa kuti kuwonjezeka kwa kusokoneza kwa ethtool -C kungakhale kofunikira kuti mupewe kuwonjezeka kwa rx_dropped.
  • Kukhazikitsa kukula kwa mphete kukhala mtengo wokhazikika: ethtool -G eth12 rx 256 tx 256

ZINDIKIRANI
Kukonza madontho a paketi ya Rx opezeka ndi ethtool -S ethX|grep dontho, ganizirani kuwonjezera kukula kwa mphete ku 4096. Yesani kupeza malo abwino kwambiri a ntchito koma samalani kuti musamagwiritse ntchito kukumbukira mopitirira muyeso ndi makhalidwe apamwamba.
4.5 Kuwongolera Kuyenda
Kuwongolera kwa gawo la 2 kumatha kukhudza magwiridwe antchito a TCP kwambiri ndipo tikulimbikitsidwa kuti tiyimitse ntchito zambiri. Chomwe chingakhalepo ndi kuchuluka kwa magalimoto pomwe kuphulika sikutenga nthawi yayitali.
Kuwongolera kumayimitsidwa mwachisawawa.

  • Kuti mutsegule kuyendetsa: ethtool -A ethX rx pa tx pa
  • Kuletsa kuyendetsa kayendedwe: ethtool -A ethX rx off tx off

ZINDIKIRANI
Muyenera kukhala ndi mayendedwe owongolera omwe amatha kulumikizana nawo kuti athe kuloleza kuyendetsa bwino.
4.6 Jumbo Frames
Pamene malo omwe akuyembekezeredwa ali ndi midadada yayikulu yomwe imasamutsidwa, zingakhale zopindulitsa kuyatsa mawonekedwe a jumbo frame. Thandizo la Jumbo Frames limathandizidwa ndi kusintha kwa Maximum Transmission Unit (MTU) kukhala mtengo wokulirapo kuposa mtengo wosasinthika wa 1500. Izi zimathandiza kuti chipangizochi chisamutse deta m'mapaketi akuluakulu mkati mwa malo ochezera a pa Intaneti. Kukonzekera uku kungathe kupititsa patsogolo ntchito ndikuchepetsa kugwiritsa ntchito CPU pazinthu zazikulu za I/O. Komabe, zitha kukhudza paketi yaying'ono kapena zolemetsa zokhala ndi latency.
ZINDIKIRANI
Mafelemu a Jumbo kapena zochulukira za MTU ziyenera kukonzedwa bwino pamanetiweki anu.
Gwiritsani ntchito lamulo la ifconfig kuti muwonjezere kukula kwa MTU. Za example, lowetsani zotsatirazi, kumene ndi nambala ya mawonekedwe: ifconfig mutu 9000 up
Kapenanso, mutha kugwiritsa ntchito lamulo la ip motere: ip link set mtu 9000 dev ip link kukhazikitsa dev

Platform Tuning (i40e Non-Specific)

5.1 Zokonda za BIOS

  • Yambitsani Intel® VT-d pazantchito zambiri.
  • Hyper-threading (logical processors) ingakhudze magwiridwe antchito. Yesani nayo kuyatsa kapena kuyimitsa ntchito yanu.
  • Intel® Turbo Boost imalola ma CPU kuti azigwira ntchito pafupipafupi kuposa ma frequency a CPU. Kuthandizira Intel® Turbo Boost kumatha kusintha magwiridwe antchito ambiri koma kumawononga mphamvu zambiri kuti ma cores azikhala pafupipafupi. Yesani ndi Turbo Boost off/on pa ntchito yanu.

ZINDIKIRANI
Maulendo a Turbo sakutsimikiziridwa ngati nsanja ikukumana ndi kugwiritsidwa ntchito kwakukulu kwa CPU. Ma frequency apamwamba a turbo amachepetsedwa pomwe kugwiritsidwa ntchito kwa CPU kukuwonjezeka.
5.2 Kuwongolera Mphamvu
Kuwongolera mphamvu kumatha kukhudza magwiridwe antchito, makamaka pakulemetsa kochepa kwa latency. Ngati kugwira ntchito kuli kofunika kwambiri kuposa kuchepetsa kugwiritsa ntchito mphamvu, Intel imalimbikitsa kuti muyesere kuchepetsa zotsatira za kayendetsedwe ka mphamvu. Pali njira zambiri zochepetsera kasamalidwe ka mphamvu, pogwiritsa ntchito zida zogwirira ntchito, zoikamo za BIOS, ndi magawo a kernel boot. Sankhani njira yabwino komanso mulingo wogwirizana ndi malo anu.
5.2.1 C-State Control
Kuchepetsa kulowa kwa C-state ku CO kapena C1 kumawongolera magwiridwe antchito ndikuwonjezera kugwiritsa ntchito mphamvu.
Kuletsa kulowa m'boma la CPU Package C6 kungawongolere magwiridwe antchito a netiweki. Komabe, izi zimawonjezera kugwiritsa ntchito mphamvu.
Njira zotsatirazi zilipo:

  • Yang'anirani mwamphamvu kulowa kwa C-state:
    Tsegulani
    /dev/cpu_dma_latency ndikulemba kuchuluka kovomerezeka kwa izo.

ZINDIKIRANI
Pali pulogalamu yaying'ono yotchedwa cpudmalatency.c yomwe imatha kutsitsidwa kuchokera kugulu lotseguka, lopangidwa, ndikuthamanga kuchokera pamzere wolamula kuti muchite izi.
Example amalola ma μs asanu a nthawi yodzuka, motero amalola C1 kulowa: cpudmalatency 5 &

  • Chepetsani kuchuluka kwa C-state muzokonda za kernel boot:
    Kwa ma Intel CPUs: intel_idle.max_cstates=1
    Kwa ma CPU omwe si a Intel: processor.max_cstates=1
  • Gwiritsani ntchito lamulo la cpupower kuti muwone ndikuyimitsa chikhalidwe cha CPU C6: Onani: cpupower monitor kapena cpupower idle-info
    Khutsani C6: cpupower idle-set -d3 kapena
    Khutsani C-States: cpupower idle-set -D0

Ndemanga:

  1. Letsani ma C-states pa CPU ngati seva ili ndi Intel® 4th Gen Intel® Xeon® Scalable processor(ma). Hyper Threading ikayatsidwa kapena kuyimitsidwa, kulepheretsa maiko osagwira ntchito (-D0) kumalepheretsa ma cores kulowa m'malo opanda mphamvu panthawi yopanda ntchito ndikuchepetsa kuchedwa kwa CPU kuti isinthe pakati pa mayiko osagwira ntchito ndi omwe akuchita.
  2. Kuwongolera mphamvu kwa Intel® 4th Gen Intel® Xeon® Scalable processor ndikovuta kwambiri. Kupewa ma cores kuti asalowe m'malo opanda mphamvu, yesani kuchepetsa kuchuluka kwa ma cores omwe amagwiritsidwa ntchito kuti akhale maso kwa nthawi yayitali (ethtool -L kuphatikiza ). Komanso, sungani zosokoneza pama cores ena pogwiritsa ntchito irq affinity (nthawi zambiri ndi -x m'deralo kapena mndandanda wa ma CPU cores), ndikuwonetsetsa kuti ntchitoyo ikugwira ntchito pama cores omwewo ndi taskset kapena numactl. Izi zimakulitsa magwiridwe antchito popangitsa kuti ma cores agwire ntchito komanso kukhathamiritsa kagwiridwe kosokoneza.

Yambitsani C6:
cpupower idle-set -d3
Yambitsani C-States:
cpupower idle-set -E

  • Njira ina ndiyo kugwiritsa ntchito chida chosinthidwa (chophatikizidwa ndi magawo ambiri a Linux) kuti mukhazikitse ochita bwinofile. Izi profiles kusintha makonda angapo a OS omwe angakhudze magwiridwe antchito pamapulogalamu ambiri. Zapezeka kuti network-throughput profile imathandizira magwiridwe antchito ambiri.
    Onani:
    tuned-adm yogwira
    Khazikitsani:
    tuned-adm profile network-kudutsa
    ZINDIKIRANI
    Sevisi yochunidwa iyenera kuchitika pamalamulo apamwamba. Kuti muwone / kuyambitsanso, sungani: systemctl status tuned systemctl restart tuned
    Mutha kuletsanso kulowa kulikonse kwa C-state powonjezera zotsatirazi pamzere wa kernel boot:
    osachita = kafukufuku
  • Chepetsani C-state kudzera mu zoikamo zowongolera mphamvu za BIOS, zomwe zitha kukhala ndi luso lochita bwinofile kupezeka.
    Zida monga turbostat kapena x86_energy_perf_policy zitha kugwiritsidwa ntchito kuyang'ana kapena kukhazikitsa zowongolera mphamvu.

5.2.2 PCIe Power Management
Active-State Power Management (ASPM) imathandizira mphamvu yotsika pamalumikizidwe a PCIe pomwe sagwiritsidwa ntchito. Izi zitha kuyambitsa kuchedwa kwambiri pazida zapaintaneti za PCIe, chifukwa chake Intel ikulimbikitsa kuti muyimitse ASPM pazantchito zovutirapo. Zimitsani ASPM powonjezera zotsatirazi pamzere woyambira wa kernel: pcie_aspm=off
5.2.3 CPU Frequency Scaling
CPU frequency scaling (kapena CPU speed scaling) ndi njira yoyang'anira mphamvu ya Linux momwe liwiro la wotchi limasinthidwa pa ntchentche kuti zisunge mphamvu ndi kutentha. Monga C-states, izi zitha kuyambitsa kuchedwa kosafunikira pamalumikizidwe a netiweki.
Chida cha cpupower chitha kugwiritsidwanso ntchito kuyang'ana ndikusintha kusakhulupirika kwa CPU ndi malire:

  • Onani: cpupower monitor kapena
  • Khazikitsani ma CPU kuti azigwira ntchito: cpupower frequency-set -g performance

ZINDIKIRANI
Kusintha kwa malire a ma frequency a CPU kumatha kukhudza ntchito zambiri ndipo kutha kuyimitsa zina, monga CPU turbo mode.
Kuti mulepheretse makulitsidwe a CPU pafupipafupi, zimitsani ntchito yamagetsi ya CPU ndi malamulo awa:
systemctl kuyimitsa cpupower.service
systemctl zimitsani cpupower.service
5.2.4 Upangiri Wowonjezera Wowongolera Mphamvu
Zowonjezereka zikuperekedwa mumsewu wapamwamba uwuview mwazinthu zambiri zowongolera mphamvu mu 3rd Generation Intel® Xeon® Scalable processors, komanso chitsogozo cha momwe zinthuzi zingaphatikizire papulatifomu: https://networkbuilders.intel.com/solutionslibrary/power-management-technologyoverview-technology-guide
5.3 Intel® Turbo Boost
Intel® Turbo Boost imapangitsa purosesa kukhala yofulumira pakafunika koma imatha kugwiritsa ntchito mphamvu zowonjezera. Kuzimitsa Turbo Boost kumapangitsa purosesa kukhala ndi liwiro lokhazikika, kukupatsirani magwiridwe antchito osasinthika azinthu zinazake.
5.4 Zozimitsa moto
Ma firewall amatha kukhudza magwiridwe antchito, makamaka magwiridwe antchito a latency.
Letsani ma iptables/firewalld ngati sizikufunika.
5.5 Zokonda pakugwiritsa ntchito
Nthawi zambiri ulusi umodzi (womwe umagwirizana ndi mzere umodzi wamtundu umodzi) siwokwanira kuti ukwaniritse bandwidth yaikulu. Zomangamanga zina zamapulatifomu, monga AMD, zimakonda kugwetsa mapaketi ambiri a Rx ndi ulusi umodzi poyerekeza ndi nsanja zomwe zili ndi ma processor a Intel.
Ganizirani kugwiritsa ntchito zida monga taskset kapena numactl kusindikiza mapulogalamu ku NUMA node kapena CPU cores komweko ku chipangizo cha netiweki. Pazinthu zina zogwirira ntchito monga kusungirako I/O, kusuntha pulogalamuyi kumalo osakhala am'deralo kumapereka phindu.
Yesani ndikuwonjezera kuchuluka kwa ulusi wogwiritsidwa ntchito ndi pulogalamu yanu ngati nkotheka.
5.6 Kernel Version
Ma kernel amakono ambiri amakongoletsedwa bwino kuti agwire ntchito koma, kutengera momwe mumagwiritsira ntchito, kukonzanso kernel kungapereke magwiridwe antchito abwino. Kutsitsa gwero kumathandizanso kuti muthe / kuletsa zinthu zina musanapange kernel.
5.7 Makina Ogwiritsa Ntchito / Zikhazikiko za Kernel
Onani maupangiri osinthira makina ogwiritsira ntchito, monga Red Hat Enterprise Linux Network Performance Tuning Guide, kuti mumve zambiri pakusintha makina ogwiritsira ntchito.
Zina zodziwika kuti muyimbire zandandalikidwa patebulo lotsatirali. Zindikirani kuti awa ndi malo oyambira okha, ndipo kuwasintha kuchoka ku zosasintha kungawonjezere zomwe zimagwiritsidwa ntchito padongosolo. Ngakhale kukulitsa zikhalidwe kungathandize kukonza magwiridwe antchito, ndikofunikira kuyesa zinthu zosiyanasiyana kuti mudziwe chomwe chimagwira ntchito bwino pamakina operekedwa, kuchuluka kwa ntchito ndi mtundu wamayendedwe.
Magawo a kernel amatha kusinthika pogwiritsa ntchito sysctl utility mu Linux monga tawonetsera pansipa.
Ku view zokhazikika za rmem ndi wmem pa dongosolo:
sysctl net.core.rmem_default
sysctl net.core.wmem_default
Khazikitsani ma values ​​ku max (16 MB):
sysctl -w net.core.rmem_max=16777216
sysctl -w net.core.wmem_max=16777216
Makulidwe a socket buffer, omwe amadziwikanso kuti receive buffer (rmem) ndi transmit buffer (wmem), ndi magawo amakina omwe amafotokozera kuchuluka kwa kukumbukira komwe kumasungidwa pamagalimoto obwera ndi otuluka.
Kuthamanga sysctl popanda -w mkangano kumalemba parameter ndi zomwe zikuchitika.

Kuyika kwa Stack Kufotokozera
net.core.rmem_default Kusasinthika Landirani Kukula Kwazenera
net.core.wmem_default Kusasinthika Kwazenera Kukula
net.core.rmem_max Kukula Kwambiri Kulandila Kwazenera
net.core.wmem_max Maximum Transmit Window Size
net.core.optmem_max Maximum Option Memory Buffers
net.core.netdev_max_backlog Kumbuyo kwa mapaketi osakonzedwa kernel isanayambe kutsika
net.ipv4.tcp_rmem Memory reserver ya TCP kuwerenga mabafa
net.ipv4.tcp_wmem Memory reserver ya TCP kutumiza mabafa

Kernel, network stack, memory handler, liwiro la CPU, ndi magawo oyang'anira mphamvu zitha kukhala ndi vuto lalikulu pakugwiritsa ntchito maukonde. Lingaliro lodziwika bwino ndikufunsira ku network throughput profile pogwiritsa ntchito lamulo losinthidwa. Izi zimasintha makonda ochepa a OS kuti apereke zokonda pamanetiweki.
Onani:
tuned-adm yogwira
Khazikitsani:
tuned-adm profile network-kudutsa
5.8 Network Device Backlog
Izi zimathandizira kukonza magwiridwe antchito a netiweki poyang'anira kuchuluka kwa magalimoto omwe akubwera, kuchepetsa kutayika kwa paketi, kutsitsa latency, komanso kukulitsa kutulutsa. Izi zimabweretsa chidziwitso cha ogwiritsa ntchito komanso kuyankha mwachangu pamakina.
Mwachikhazikitso, imayatsidwa m'makina ambiri a Linux. Kuti muwone mtengo wokhazikika:
sysctl net.core.netdev_max_backlog
Mtengo wapamwamba wa netdev_max_backlog ukhoza kusiyana malinga ndi zinthu monga kernel version, hardware, memory, ndi ntchito. Nthawi zambiri, 8192 imawoneka ngati mtengo wabwino. sysctl -w net.core.netdev_max_backlog=8192
5.9 Masanjidwe Mwapadera Papulatifomu ndi Kusintha
5.9.1 4th Generation Intel® Xeon® Scalable processors

Kuwongolera mphamvu kwa purosesa ya Intel® 4th Generation Intel® Xeon® Scalable ndi yaukali kwambiri poyerekeza ndi mapurosesa a 3rd Generation Intel® Xeon® Scalable. Pofuna kupewa ma cores kuti asalowe m'malo opanda mphamvu, yesani kuchepetsa kuchuluka kwa ma cores omwe amagwiritsidwa ntchito kuti akhale maso kwa nthawi yayitali.
Zosintha za Bios zovomerezeka kuti Zigwire Ntchito Kwambiri

  1. Hyper-threading imathandizira / kuletsa (kutengera kuchuluka kwa ntchito ndi zolinga zantchito) pa CPU.
  2. Khazikitsani dongosolo la profile ku Performance kuti muchite bwino kwambiri.
    ZINDIKIRANI
    Izi zimapangitsa kuti magetsi azigwiritsidwa ntchito kwambiri
  3. Khazikitsani kasamalidwe ka mphamvu ya CPU kukhala Maximum Performance kuti muyike patsogolo magwiridwe antchito a CPU kuposa mphamvu zamagetsi.
  4. Yambitsani Turbo Boost. Kuletsa Turbo Boost mu BIOS zoikamo nthawi zambiri kumalepheretsa CPU kukulitsa liwiro la wotchi yake kupitilira ma frequency ake.
  5. ZINDIKIRANI
    Kuletsa Turbo Boost kungakhale koyenera kugwiritsidwa ntchito nthawi zina pomwe magwiridwe antchito, mphamvu zamagetsi, kapena kasamalidwe kamafuta amayikidwa patsogolo kuposa momwe amagwirira ntchito.
  6. Zimitsani mawonekedwe a Single Root I/O Virtualization (SR-IOV), ngati dongosololi silikugwiritsa ntchito ukadaulo wowonera.
  7. Letsani ma C-states kuti mulangize CPU kuti ikhale yogwira ntchito ndikupewa kulowa m'malo osagwira ntchito.
  8. Letsani C1E, kuti muwonetsetse kuti CPU ikugwirabe ntchito ndipo simalowa mu C1E yopanda kanthu.
  9. Khazikitsani ma frequency a uncore mpaka pamlingo waukulu kuti mulangize dongosolo kuti lizigwira ntchito pafupipafupi kwambiri.
  10. Pamapulatifomu a Dell, ikani kutsanzira koyambira kwa Multiple APIC Description Table (MADT) ku Linear (kapena Round-Robin kutengera BIOS) kuti mupereke mapu omveka bwino komanso odziwikiratu a CPU cores.

Kuwongolera kwa Ma Level kwa OS kwa Kukhathamiritsa Kwabwino

  1. Khazikitsani kazembe wa ma frequency a CPU kuti agwire ntchito. cpupower frequency-set -g performance cpupower frequency-info
  2. Letsani C-States. cpupower idle-set -D0
  3. Khazikitsani mabafa apakati a Rx (rmem) ndi Tx (wmem) kuti akhale opambana. sysctl -w net.core.rmem_max=16777216 sysctl -w net.core.wmem_max=16777216
  4. Khazikitsani kuchedwa kwa chipangizo cha netiweki. sysctl -w net.core.netdev_max_backlog=8192
  5. Khazikitsani profile (kuchuluka kwa ntchito kumadalira kupitilira / latency).
    tuned-adm profile network-kudutsa

Ma Adapter Level Tunings akulimbikitsidwa kuti mugwire bwino ntchito

  1. Chepetsani kuchuluka kwa mizere yoti mugwiritse ntchito pazambiri zamapulogalamu. Gwiritsani ntchito mizere yochepa yofunikira kuti ma CPU ogwirizana agwire ntchito kuti asalowe m'malo opanda ntchito (kusintha kuchuluka kwa ntchito): ethtool -L mogwirizana 32
  2. Khazikitsani mitengo yosokoneza. ethtool - C adaptive-rx off adaptive-tx off rx-usecs-high 50 rx-usecs 50 tx-usecs 50
    Yesani kusintha cholumikizira / cholandila/chofunikira kwambiri kuti chikhale chokwera kwambiri (80/100/150/200) kapena chocheperapo (25/20/10/5) kuti mupeze phindu lomwe lingagwire ntchito.
  3. Khazikitsani kukula kwa mphete za Rx/Tx. ethtool - G rx 4096 tx 4096
    ZINDIKIRANI
    Ngati muwona phukusi la Rx likugwa ndi ethtool -S| grep dontho, yesani kuchepetsa kukula kwa mphete kukhala <4096. Yesani kupeza mtengo wokwanira wa kuchuluka kwa ntchito komwe mapaketi sakugwetsedwa.
  4. Khazikitsani IRQ Affinity. Gwiritsani ntchito ma cores ku NIC, kapena mapu enieni enieni (pomwe # cores ndi ofanana ndi chiwerengero cha mizere yokhazikitsidwa pa 1 patsamba 26. systemctl stop irqbalance set_irq_affinity -X local KAPENA set_irq_affinity -X

5.9.2 AMD EPYC
Mapurosesa a AMD EPYC ndi ma CPU amphamvu opangira ma seva ndi malo opangira data, omangidwa pamapangidwe a AMD a Zen. Zokonda pansipa zikuchokera ku AMD's 4th generation EPYC series.
Zosintha zovomerezeka za BIOS pakuchita bwino kwambiri

  1. Yambitsani makonda kuti alole ogwiritsa ntchito kusintha magwiridwe antchito a CPU, kugwiritsa ntchito mphamvu, ndi zokonda zina. Izi zimathandiza kukonza bwino dongosolo kuti likhale labwino kwambiri pakati pa magwiridwe antchito ndi mphamvu zamagetsi.
  2. Yambitsani kulimbikitsa magwiridwe antchito kuti mulole CPU kuti iwonjezere liwiro lake kuti igwire ntchito zambiri, ndikuwongolera magwiridwe antchito onse.
  3. Letsani kuwongolera kwadziko lonse lapansi, kuti muteteze CPU kulowa m'malo osungira mphamvu ozama omwe amadziwika kuti C-states, omwe amatha kuyankha.
    ZINDIKIRANI
    Kuletsa ma C-states kungayambitse kugwiritsa ntchito mphamvu zowonjezera ndikuwonjezera kutentha. Yang'anirani zonse za kuchuluka kwa ntchito.
  4. Yambitsani/Zimitsani Kuwerenga Kwanthawi Zonse (SMT) pa CPU, kutengera kuchuluka kwa ntchito komanso zolinga zantchito. SMT ndiyofanana ndi Hyper Threading pa Intel CPUs.
    ZINDIKIRANI
    Kuti mugwire bwino ntchito, yang'anani ku Tuning i40e Driver Settings patsamba 13 ndi Platform Tuning (i40e Non-Specific) patsamba 19 pakusintha kovomerezeka kwa OS ndi adapta.

Kugwirizana kwa Adapter

Kulumikizana kwa Linux ndi gawo lamphamvu lomwe limatha kupititsa patsogolo magwiridwe antchito a netiweki, kubwerezabwereza, komanso kulolerana kwa zolakwika pama seva. Komabe, ndikofunikira kuzindikira kuti pamafunika zida zolumikizirana ndi maukonde komanso kasinthidwe koyenera pa seva ndi chosinthira kuti chigwire bwino ntchito.
Dalaivala yolumikizira ku Linux imakupatsani mwayi wophatikiza ma network angapo amtundu wamtundu wolumikizidwa. Mawonekedwe omangikawa amawoneka ngati mawonekedwe amodzi a netiweki ku makina ogwiritsira ntchito ndi mapulogalamu.
ZINDIKIRANI
Chomangiracho ndi mawonekedwe omveka, kotero sizingatheke kuyika mgwirizano wa CPU mwachindunji pamawonekedwe a bond (kwa ex.ample, pangano0). Ndiye kuti, ilibe ulamuliro wachindunji pakuwongolera kosokoneza kapena kuyanjana kwa CPU. Kugwirizana kwa CPU kuyenera kukonzedwa kuti zikhale zolumikizirana zomwe zili gawo la mgwirizano.
Bonding imapereka njira zingapo zogwirira ntchito, iliyonse ili ndi mawonekedwe ake.

Mode  Mtundu
0 Zozungulira Robin
1 Kusunga Mwachangu
2 XOR
3 Kuwulutsa
4 Mtengo wa LACP
5 Tumizani Katundu Balance
6 Adaptive Katundu Balance

Pali njira zingapo zopangira mgwirizano mu Linux. Imodzi mwa njira zodziwika kwambiri ndikugwiritsa ntchito kasinthidwe ka netiweki files (mwachitsanzoample, /etc/network/ interfaces kapena /etc/sysconfig/network-scripts/ifcfg-bondX).
Kusintha Kugwiritsa Ntchito Network Configuration Files
Masitepe otsatirawa amapanga kulumikizana kudzera pa kasinthidwe ka netiweki files.

  1. Sankhani madoko awiri kapena angapo a NIC kuti mugwirizane (mwachitsanzoample, ethX ndi ethY)
  2. Tsegulani Kusintha kwa NIC Files pansi /etc/sysconfig/network-scripts/ pa NIC Interface yofunikira (yachiduleample, vi ifcfg-ethX ndi vi ifcfg-ethY) ndikuwonjezera mawu otsatirawa:
    MASTER=bondN [Zindikirani: N ndi chiwerengero chokwanira kutchula nambala ya bondi.] KAPOLO=inde
  3. Pangani bond network script file pogwiritsa ntchito vi /etc/sysconfig/networkscripts/ifcfg-bondN ndikulowetsa zotsatirazi:
    DEVICE=bondN [Zindikirani: N ndi chiwerengero chokwanira kutchula nambala ya bondi] ONBOOT=inde USERCTL=palibe BOOTPROTO=dhcp (kapena) palibe
    IPADDR=200.20.2.4 [chofunika ngati BOOTPROTO=palibe] NETMASK=255.255.255.0 [chofunika ngati BOOTPROTO=palibe] NETWORK=200.20.2.0 [chofunika ngati BOOTPROTO=palibe] BROADCAST=200.20.2.255 BONDING_OPTS=”mode=1 miimon=100″
    ZINDIKIRANI
    Mode ikhoza kukhala nambala iliyonse kuyambira 0 mpaka 6 kutengera zomwe mukufuna.
  4. Yambitsaninso mautumiki a netiweki pogwiritsa ntchito kuyambitsanso netiweki kapena systemctl kuyambitsanso NetworkManager.service

Kuthetsa Mavuto

7.1 Kugwiritsa Ntchito CPU
Yang'anani kagwiritsidwe ntchito ka CPU pachimake pomwe ntchito ikugwira ntchito.
Dziwani kuti kugwiritsa ntchito pachimake ndikofunikira kwambiri pakuchita bwino kuposa kugwiritsa ntchito CPU yonse chifukwa kumapereka lingaliro la kagwiritsidwe ntchito ka CPU pamzere uliwonse. Ngati muli ndi ulusi wocheperako womwe ukuyenda pa intaneti, ndiye kuti mutha kukhala ndi ma cores ochepa omwe amagwiritsidwa ntchito. Komabe, ngati ma cores ali pa 100%, ndiye kuti ma network anu amatha kuchepetsedwa ndi kugwiritsa ntchito CPU ndipo ndi nthawi yoti muchite izi:

  1. Sinthani kukula kwa IRQ / kukula kwa mphete monga momwe zafotokozedwera mu Interrupt Moderation.
  2. Onjezani kuchuluka kwa ulusi wogwiritsa ntchito kuti mufalitse katundu wa CPU pamitundu yambiri. Ngati ma cores onse akuyenda pa 100% ndiye kuti pulogalamu yanu ikhoza kukhala yomangidwa ndi CPU m'malo mongomangidwa ndi netiweki.

Zida zomwe zimapezeka kawirikawiri:

  • pamwamba
    - Dinani 1 kuti muwonjezere mndandanda wa ma CPU ndikuwona omwe akugwiritsidwa ntchito.
    - Onani kuchuluka kwa kugwiritsidwa ntchito.
    - Dziwani kuti ndi njira ziti zomwe zalembedwa kuti zikugwira ntchito kwambiri (pamwamba pamndandanda).
  • mpstat
    Example command line anayesedwa pa Red Hat Enterprise Linux 7.x.
    Imawonetsa kugwiritsidwa ntchito kwa CPU pachimake (popeza kuchuluka konse kosagwira ntchito ndikuchotsa kuchokera pa 100) ndikuwunikira zomwe zili pamwamba pa 80% mofiira. mpstat -P ZONSE 1 1 | grep -v Pafupifupi | mchira -n +5 | mutu -n -1 | awk '{sindikiza (100-$13)}' | egrep -color=nthawi zonse '[^\.][8-9][0-9][\.]?.*|^[8-9][0-9][\.]?.*| 100|' | | ndime
  • perf top Yang'anani komwe mizungu ikugwiritsidwa ntchito.

7.2 i40e Zowerengera
Dalaivala wa i40e amapereka mndandanda wautali wa zowerengera zowonetsera mawonekedwe ndi kuyang'anitsitsa kupyolera mu lamulo la ethtool -S ethX. Zingakhale zothandiza kuyang'ana zotulukapo pamene ntchito ikugwira ntchito ndi / kapena kuyerekezera zowerengera zisanayambe komanso pambuyo pa ntchito.

  • Kuti mupeze zowerengera za i40e: ethtool -S ethX
  • Kuti muwone zowerengera zopanda ziro: penyani -d (ethtool -S ethX) | egrep -v :\ 0 | ndime
    Zomwe muyenera kuyang'ana:
  • rx_dropped zikutanthauza kuti CPU siigwiritsa ntchito mabafa mwachangu mokwanira.
  • port.rx_dropped zikutanthauza kuti china chake sichili mwachangu mu slot/memory/ system.

7.3 Network Counters
Yang'anani netstat -s musanayambe / mutatha kugwira ntchito.
Netstat imasonkhanitsa zidziwitso zapaintaneti kuchokera pazida zonse za netiweki mudongosolo. Chifukwa chake, zotsatira zitha kukhudzidwa ndi maukonde ena kupatula netiweki yomwe ikuyesedwa. Zotulutsa kuchokera ku netstat -s zitha kukhala chizindikiro chabwino cha zovuta zamachitidwe mu Linux kapena kernel. Onani maupangiri osinthira makina ogwiritsira ntchito, monga Red Hat Enterprise Linux Network Performance Tuning Guide, kuti mumve zambiri pakusintha makina ogwiritsira ntchito.
7.4 Zipika za System
Yang'anani zipika zamakina kuti muwone zolakwika ndi machenjezo (/var/log/messages, dmesg).
7.5 Intel svr-info Chida
Intel imapereka chida cha svr-info (onani https://github.com/intel/svr-info) ya Linux yomwe imajambula zofunikira za hardware ndi mapulogalamu kuchokera pa seva. Kutulutsa kwa svr-info kumatha kukhala kothandiza kwambiri kuzindikira zovuta zamakina kapena masinthidwe / makonzedwe omwe sanakwaniritsidwe pantchitoyo. Mukatsegula chida chothandizira ndi Intel pazinthu zokhudzana ndi Ethernet, onetsetsani kuti mukuphatikiza svr-info output (zolemba). file) pa seva iliyonse ya Linux pamasinthidwe oyesa.

  1. Tsitsani ndikuyika svr-info:
    wget -qO- https://github.com/intel/svr-info/releases/latest/download/svrinfo.tgz| | phula xvz cd svr-info
    ./svr-info
    > hostname.txt
  2. Sungani zotuluka:
    ./svr-info > hostname.txt
  3. Ikani mawu amodzi (.txt) file pa seva iliyonse ku nkhani yanu yothandizira ya Intel kuti muwunike.

Malangizo a Zochitika Zofanana

8.1 IP Forwarding

  • Sinthani kernel.
    Zina zaposachedwa za in-distro kernels zasokoneza magwiridwe antchito chifukwa cha kusintha kwa kernel mu kachidindo koyambira ndikuchotsa posungira chifukwa chachitetezo. Makoko aposachedwa a kunja kwa distro ayenera kukhala ndi zigamba zomwe zimachepetsa magwiridwe antchito akusinthaku ndipo zitha kupereka magwiridwe antchito abwino.
  • Letsani ma hyper-threading (logical cores).
  • Sinthani magawo a kernel boot.
    - Limitsani iommu (intel_iommu=off kapena iommu=off) kuchokera pamzere woyambira wa kernel pokhapokha ngati pakufunika kutero
    - Zimitsani kasamalidwe ka mphamvu: processor.max_cstates=1 idle=poll pcie_aspm=off
  • Chepetsani kuchuluka kwa mizere kuti ikhale yofanana ndi ma cores pa socket yapafupi (12 mu ex iyiample). ethtool -L ethX kuphatikiza 12
  • Pini imasokoneza soketi yapafupi yokha. set_irq_affinity -X local ethX OR set_irq_affinity -X local ethX
    ZINDIKIRANI
    -X kapena -x angagwiritsidwe ntchito malinga ndi kuchuluka kwa ntchito.
  • Sinthani makulidwe a mphete ya Tx ndi Rx ngati pakufunika. Mtengo wokulirapo umatenga zinthu zambiri koma ukhoza kupereka mitengo yabwino yotumizira. ethtool -G ethX rx 4096 tx 4096
  • Letsani GRO mukamayendetsa.
    Chifukwa cha vuto la kernel, GRO iyenera kuzimitsidwa poyendetsa / kutumiza. ethtool -K ethX gro off pomwe ethX ndi mawonekedwe a Efaneti oti asinthe.
  • Zimitsani kusintha kwa kusokoneza kosinthika ndikukhazikitsa mtengo wokhazikika. ethtool -C ethX adaptive-rx off adaptive-tx off ethtool -C ethX rx-usecs 64 tx-usecs 64

ZINDIKIRANI
Kutengera mtundu wa purosesa ndi kuchuluka kwa ntchito, magawo olumikizirana a RX ndi TX amatha kusinthidwa kuti agwire bwino ntchito (kapena kutayika kwa chimango).

  • Chotsani firewall. sudo systemctl zimitsani firewalld sudo systemctl kuyimitsa firewalld
  • Yambitsani kutumiza kwa IP. sysctl -w net.ipv4.ip_forward=1
  • Konzani kuchuluka kwazinthu zolandirira ndikutumiza masaizi a socket buffer. sysctl -w net.core.rmem_max=16777216 sysctl -w net.core.wmem_max=16777216

ZINDIKIRANI
Kutengera ndi kuchuluka kwa ntchito kapena zofunikira, izi zitha kusinthidwa kukhala zosasinthika.
8.2 Low Latency

  • Zimitsani ma hyper-threading (logical cores) ZIMIMI.
  • Onetsetsani kuti chipangizo cha netiweki ndi chapafupi ndi numa core 0.
  • Lembani benchmark ku core 0 pogwiritsa ntchito taskset -c 0.
  • Zimitsani irqbalance pogwiritsa ntchito systemctl siyani irqbalance kapena systemctl kuletsa irqbalance
  • Thamangani affinity script kuti mufalikire pama cores. Yesani kaya kwanuko kapena zonse.
  • Zimitsani kuwongolera kosokoneza. ethtool -C ethX rx-usecs 0 tx-usecs 0 adaptive-rx off adaptive-tx off rxusecs- mkulu 0
  • Chepetsani kuchuluka kwa mizere kuti ikhale yofanana ndi kuchuluka kwa ma cores pa socket yakomweko (32 mu ex iyiample). ethtool -L ethX kuphatikiza 32
  • Pin imasokoneza socket yakomweko yokha (script yophatikizidwa ndi i40e driver source). set_irq_affinity -X local ethX
  • Gwiritsani ntchito benchmark ngati netperf -t TCP_RR, netperf -t UDP_RR, kapena NetPipe. netperf -t TCP_RR kapena netperf -t UDP_RR
  • Lembani benchmark pakatikati pa NUMA node yapafupi. ntchito -c

Intel ® Ethernet 700 Series
Linux Performance Tuning Guide
Disembala 2024
Doc. No.: 334019, Rev.: 1.2

Zolemba / Zothandizira

Intel Ethernet 700 Series Linux Performance Tuning [pdf] Buku Logwiritsa Ntchito
334019, Ethernet 700 Series Linux Performance Tuning, Ethernet 700 Series, Linux Performance Tuning, Performance Tuning, Kukonza

Maumboni

Siyani ndemanga

Imelo yanu sisindikizidwa. Minda yofunikira yalembedwa *