និមិត្តសញ្ញា IntelIntel ® Ethernet 700 ស៊េរី
មគ្គុទ្ទេសក៍លៃតម្រូវការអនុវត្តលីនុច
NEX Cloud Networking Group (NCNG)
1.2
ខែធ្នូ ឆ្នាំ 2024

ប្រវត្តិកែប្រែ

ការពិនិត្យឡើងវិញ កាលបរិច្ឆេទ មតិយោបល់
1.2 ខែធ្នូ ឆ្នាំ 2024 · ការណែនាំអំពីការគ្រប់គ្រងថាមពលបន្ថែម។
· បានបន្ថែម Intel* Turbo Boost ។
· បានបន្ថែម Backlog ឧបករណ៍បណ្តាញ។
· បានបន្ថែមការកំណត់រចនាសម្ព័ន្ធជាក់លាក់នៃវេទិកា និងការលៃតម្រូវ។
· បានបន្ថែម 4th Generation Intel* %eon* ដំណើរការដែលអាចធ្វើមាត្រដ្ឋានបាន។
· បានបន្ថែម AMD EPYC ។
· ធ្វើបច្ចុប្បន្នភាពពិនិត្យសមត្ថភាពផ្នែករឹងរបស់ប្រព័ន្ធ។
· អាប់ដេត iPerf2.
· អាប់ដេត iPerf3.
· បានធ្វើបច្ចុប្បន្នភាពជួរ Tx/Rx ។
· បានធ្វើបច្ចុប្បន្នភាពការសម្របសម្រួលការរំខាន។
· បានធ្វើបច្ចុប្បន្នភាពទំហំចិញ្ចៀន។
· អាប់ដេតការលៃតម្រូវវេទិកា (i40e មិនជាក់លាក់)។
· ធ្វើបច្ចុប្បន្នភាពការកំណត់ BIOS ។
· បានធ្វើបច្ចុប្បន្នភាព C-State Control ។
·ការធ្វើមាត្រដ្ឋានប្រេកង់ស៊ីភីយូដែលបានធ្វើបច្ចុប្បន្នភាព។
· អាប់ដេតការកំណត់កម្មវិធី។
· បានធ្វើបច្ចុប្បន្នភាពប្រព័ន្ធប្រតិបត្តិការ/ការកំណត់ខឺណែល។
· បានធ្វើបច្ចុប្បន្នភាពការបញ្ជូនបន្ត IP ។
· អាប់ដេតភាពយឺតយ៉ាវទាប។
ខែសីហា ឆ្នាំ 2023 ការផ្លាស់ប្តូរឯកសារនេះរួមមានៈ
· បានបន្ថែមឯកសារយោងដែលពាក់ព័ន្ធ។
·បន្ថែមត្រូវប្រាកដថាកញ្ចប់ DDP កំពុងផ្ទុកត្រឹមត្រូវ។
· បានបន្ថែម iPerf2 ។
· បានបន្ថែម iPerf3 ។
· បានបន្ថែម netperf ។
· បានធ្វើបច្ចុប្បន្នភាព IRQ Affinity ។
· បានបន្ថែមជួរ Tx/Rx ។
· បានធ្វើបច្ចុប្បន្នភាពទំហំចិញ្ចៀន។
· បានបន្ថែមស៊ុម Jumbo ។
·បន្ថែមការភ្ជាប់អាដាប់ធ័រ។
· បានបន្ថែមឧបករណ៍ Intel svr-info ។
1.0 ថ្ងៃទី 2016 ខែមីនា ការចេញផ្សាយដំបូង (Intel Public) ។

សេចក្តីផ្តើម

មគ្គុទ្ទេសក៍នេះមានបំណងផ្តល់ការណែនាំសម្រាប់បរិយាកាសលៃតម្រូវសម្រាប់ដំណើរការបណ្តាញដ៏ល្អប្រសើរដោយប្រើ Intel ® Ethernet 700 Series NICs នៅក្នុងបរិស្ថានលីនុច។ វាផ្តោតលើផ្នែករឹង កម្មវិធីបញ្ជា និងលក្ខខណ្ឌប្រព័ន្ធប្រតិបត្តិការ និងការកំណត់ដែលអាចធ្វើឱ្យប្រសើរឡើងនូវដំណើរការបណ្តាញ។ វាគួរតែត្រូវបានកត់សម្គាល់ថា ដំណើរការបណ្តាញអាចត្រូវបានប៉ះពាល់ដោយឥទ្ធិពលខាងក្រៅមួយចំនួន មានតែរឿងធម្មតា និងធ្ងន់ធ្ងរបំផុតប៉ុណ្ណោះដែលត្រូវបានគ្របដណ្តប់នៅក្នុងការណែនាំនេះ។
1.1 ឯកសារយោងដែលពាក់ព័ន្ធ

បញ្ជីពិនិត្យបឋម

2.1 ធ្វើបច្ចុប្បន្នភាពកំណែកម្មវិធីបញ្ជា/កម្មវិធីបង្កប់
ពិនិត្យកំណែកម្មវិធីបញ្ជា/កម្មវិធីបង្កប់ដោយប្រើ ethtool -i ethx ។
ធ្វើបច្ចុប្បន្នភាពដូចខាងក្រោមតាមតម្រូវការ៖

2.2 អាន README
ពិនិត្យមើលបញ្ហាដែលគេស្គាល់ និងទទួលបានការណែនាំអំពីការកំណត់រចនាសម្ព័ន្ធចុងក្រោយបំផុតពី README file រួមបញ្ចូលនៅក្នុងកញ្ចប់ប្រភព i40e ។
2.3 ពិនិត្យមើលថារន្ធដោត PCI Express (PCIe) របស់អ្នកគឺ x8
រន្ធ PCIe x8 មួយចំនួនពិតជាត្រូវបានកំណត់រចនាសម្ព័ន្ធជារន្ធ x4 ។ រន្ធទាំងនេះមានកម្រិតបញ្ជូនមិនគ្រប់គ្រាន់សម្រាប់អត្រាបន្ទាត់ពេញលេញជាមួយនឹងឧបករណ៍ច្រកពីរ និងច្រក quad ។ លើសពីនេះទៀត ប្រសិនបើអ្នកដាក់អាដាប់ទ័រដែលមានសមត្ថភាព PCIe v3.0 ទៅក្នុងរន្ធដោត PCIe v2.x នោះ អ្នកមិនអាចទទួលបានកម្រិតបញ្ជូនពេញលេញនោះទេ។ កម្មវិធីបញ្ជាឧបករណ៍សូហ្វវែររកឃើញស្ថានភាពនេះ ហើយសរសេរសារខាងក្រោមនៅក្នុងកំណត់ហេតុប្រព័ន្ធ៖
កម្រិតបញ្ជូន PCI-Express ដែលមានសម្រាប់កាតនេះមិនគ្រប់គ្រាន់សម្រាប់ដំណើរការល្អបំផុតនោះទេ។ សម្រាប់ដំណើរការល្អបំផុត រន្ធដោត x8 PCI-Express ត្រូវបានទាមទារ។
ប្រសិនបើកំហុសនេះកើតឡើង សូមផ្លាស់ទីអាដាប់ទ័ររបស់អ្នកទៅរន្ធដោត PCIe v3.0 x8 ពិតប្រាកដ ដើម្បីដោះស្រាយបញ្ហា។
2.4 ពិនិត្យសមត្ថភាពផ្នែករឹងរបស់ប្រព័ន្ធ
នៅ 10 Gbps, 25 Gbps, និង 40 Gbps Ethernet មាន CPU និងតម្រូវការប្រព័ន្ធអប្បបរមាមួយចំនួន។ ជាទូទៅ ប្រព័ន្ធដំណើរការថ្នាក់ម៉ាស៊ីនមេទំនើប និងការកំណត់រចនាសម្ព័ន្ធអង្គចងចាំល្អបំផុតសម្រាប់វេទិការបស់អ្នកគួរតែមានគ្រប់គ្រាន់ ប៉ុន្តែតម្រូវការប្រែប្រួលអាស្រ័យលើបន្ទុកការងាររបស់អ្នក។ ឆានែលអង្គចងចាំទាំងអស់គួរតែត្រូវបានបញ្ចូលហើយរបៀបដំណើរការអង្គចងចាំគួរតែត្រូវបានបើកនៅក្នុង BIOS ។ ផ្ទៀងផ្ទាត់ថាការកំណត់រចនាសម្ព័ន្ធ CPU និងអង្គចងចាំរបស់អ្នកមានសមត្ថភាពគាំទ្រកម្រិតនៃដំណើរការបណ្តាញដែលអ្នកត្រូវការសម្រាប់បន្ទុកការងាររបស់អ្នក។
ចំណាំ
XL710 គឺជាឧបករណ៍បញ្ជា 40 GbE ។ អាដាប់ទ័រ 2 x 40 GbE ដោយប្រើឧបករណ៍បញ្ជានេះមិនមានបំណងជា 2 x 40 GbE ទេប៉ុន្តែ 1 x 40 GbE ដែលមានច្រកបម្រុងទុកសកម្ម។ នៅពេលព្យាយាមប្រើចរាចរណ៍អត្រាបន្ទាត់ដែលពាក់ព័ន្ធនឹងច្រកទាំងពីរ កុងតាក់ខាងក្នុងត្រូវបានឆ្អែត ហើយកម្រិតបញ្ជូនរួមបញ្ចូលគ្នារវាងច្រកទាំងពីរត្រូវបានកំណត់ត្រឹម SO Gbps សរុប។
2.4.1 ប៉ារ៉ាម៉ែត្រចាប់ផ្ដើមខឺណែល
ប្រសិនបើ Intel® Virtualization Technology for Directed I/O (Intel® VT-d) ត្រូវបានបើកនៅក្នុង BIOS នោះ Intel ណែនាំថា IOMMU ស្ថិតនៅក្នុងរបៀបឆ្លងកាត់សម្រាប់ដំណើរការបណ្តាញម៉ាស៊ីនដ៏ល្អប្រសើរ។ នេះលុបបំបាត់ការលើស DMA នៅលើចរាចរណ៍ម៉ាស៊ីន ខណៈពេលដែលបើកដំណើរការម៉ាស៊ីននិម្មិត (VMs) នៅតែទទួលបានអត្ថប្រយោជន៍ពី Intel® VT-d ។ នេះត្រូវបានសម្រេចដោយការបន្ថែមបន្ទាត់ខាងក្រោមទៅប៉ារ៉ាម៉ែត្រចាប់ផ្ដើមខឺណែល៖ fommu-pt ។
2.5 ត្រូវប្រាកដថាកញ្ចប់ DDP កំពុងផ្ទុកត្រឹមត្រូវ។
កម្មវិធីបញ្ជាមូលដ្ឋាន 140ea និង 140eb មិនមានការគាំទ្រដោយផ្ទាល់សម្រាប់ការធ្វើបដិរូបកម្មឧបករណ៍ថាមវន្ត (DDP) ទេ។ ដើម្បីប្រើ DDP ជាមួយឧបករណ៍ 700 ស៊េរី ជា DDP profile អាចត្រូវបានអនុវត្តជាមួយកម្មវិធី testpmd ។
សម្រាប់ព័ត៌មានលម្អិតអំពី DDP profiles និងរបៀបអនុវត្ត DDP profile ជាមួយ testpmd នៅលើឧបករណ៍ 700 Series សូមមើលការណែនាំអំពីបច្ចេកវិទ្យា Intel® Ethernet 700 Series Dynamic Device Personalization (DDP) ។
ដើម្បីផ្ទៀងផ្ទាត់ថាតើ DDP profile ត្រូវបានផ្ទុកដោយជោគជ័យ៖
testpmd> ddp ទទួលបានបញ្ជី 0 Profile លេខគឺ៖ ១
ចំណាំ
ប្រសិនបើគាំទ្រfile លេខគឺ 0 គ្មានកញ្ចប់ DDP ត្រូវបានផ្ទុកទេ។ ក្នុងករណីមានកំហុសក្នុងការផ្ទុកកញ្ចប់ DDP ឧបករណ៍កំណត់លំនាំដើមទៅជារបៀបសុវត្ថិភាព ហើយមុខងារប្រតិបត្តិការជាច្រើនមិនអាចប្រើបានទេ។ ប្រសិនបើមានកំហុសទាក់ទងនឹងការផ្ទុកកញ្ចប់ DDP វានឹងបណ្តាលឱ្យមានបញ្ហាដំណើរការ។ សម្រាប់ជំហានដោះស្រាយបញ្ហា សូមមើលការណែនាំបច្ចេកវិទ្យា Inte/* Ethernet 700 Series Dynamic Device Personalization (DDP)។

ការវាស់វែងការអនុវត្តមូលដ្ឋាន និងវិធីសាស្ត្រលៃតម្រូវ

3.1 ស្តង់ដារដំណើរការបណ្តាញ
មុននឹងចាប់ផ្តើមការធ្វើលំហាត់ប្រាណ វាជារឿងសំខាន់ក្នុងការវាស់ស្ទង់មូលដ្ឋានដ៏ល្អនៃដំណើរការបណ្តាញរបស់អ្នក។ ជាធម្មតា បន្ថែមពីលើការទទួលបានការវាស់វែងដំបូងនៃការអនុវត្តកម្មវិធី/បន្ទុកការងារជាក់លាក់របស់អ្នក វាគឺជាគំនិតល្អក្នុងការប្រើស្តង់ដារដំណើរការបណ្តាញស្តង់ដារផងដែរ ដើម្បីផ្ទៀងផ្ទាត់ថាឧបករណ៍បណ្តាញរបស់អ្នកស្ថិតក្នុងស្ថានភាពល្អ។
សម្រាប់ការបង្កើនប្រសិទ្ធភាពប្រព័ន្ធតែមួយ netperf ឬ iperf និង NetPIPE គឺជាឧបករណ៍បើកចំហរឥតគិតថ្លៃទាំងអស់ដែលអាចឱ្យអ្នកសង្កត់ធ្ងន់លើការតភ្ជាប់ និងវិភាគបញ្ហាដំណើរការ។
Netperf គឺខ្លាំងសម្រាប់ទាំងការធ្វើតេស្តឆ្លងកាត់ និង latency ។ NetPIPE គឺជាឧបករណ៍ជាក់លាក់មួយ latency ប៉ុន្តែអាចត្រូវបានចងក្រងសម្រាប់ប្រភេទនៃបរិស្ថានណាមួយ។
ចំណាំ
ការធ្វើតេស្ត TCP_RR នៅក្នុង netperf ត្រឡប់ភាពយឺតយ៉ាវក្នុងតម្លៃនៃប្រតិបត្តិការ/វិនាទី។ នេះគឺជាលេខធ្វើដំណើរទៅមក។ ភាពយឺតយ៉ាវមួយផ្លូវអាចត្រូវបានគណនាដោយប្រើសមីការខាងក្រោម៖
Latency(usec) = (1⁄2) / [ប្រតិបត្តិការ/វិនាទី] * 1,000,000
3.1.1 iPerf2
Intel ណែនាំ iperf2 លើ iperf3 សម្រាប់ស្ថានភាពគោលភាគច្រើន ដោយសារតែភាពងាយស្រួលនៃការប្រើប្រាស់ និងការគាំទ្រនៃខ្សែស្រឡាយច្រើននៅក្នុងឧទាហរណ៍កម្មវិធីតែមួយ។ Intel ណែនាំឱ្យដំណើរការជាមួយជម្រើស -P ជាមួយនឹង 2-4 threads សម្រាប់ការតភ្ជាប់ 25G និងជុំវិញ 4-6 threads សម្រាប់ការតភ្ជាប់ 40G។

  • ដើម្បីដំណើរការចរាចរ uni-directional ពី client ទៅ server: server command exampលេ៖ iperf2 -s
    ពាក្យបញ្ជាអតិថិជន ឧampលេ៖ iperf2 -c - ភី
  • ដើម្បីដំណើរការចរាចរទ្វេទិសពីម៉ាស៊ីនភ្ញៀវទៅម៉ាស៊ីនមេ (និងច្រាសមកវិញ): ពាក្យបញ្ជាម៉ាស៊ីនមេ ឧampលេ៖ iperf2 –s –p
    ពាក្យបញ្ជាអតិថិជន ឧampលេ៖
    iperf2 - គ - ទំ - ភី -- duplex ពេញលេញ OR
    iperf2 - គ - ទំ - ភី – ឃ

ចំណាំ
ទាំងជម្រើស -full-duplex និង -d នៅក្នុង iperf2 អនុញ្ញាតឱ្យអ្នកប្រើធ្វើការសាកល្បងទ្វេទិស។ ទោះជាយ៉ាងណាក៏ដោយ -full-duplex option ផ្តោតជាពិសេសទៅលើការធ្វើតេស្ត duplex ពេញលេញ។
ចំណាំ
នៅពេលសាកល្បង iperf2 ឆ្លងកាត់ច្រកម៉ាស៊ីនមេច្រើន ទង់ -d អាចត្រូវបានបន្ថែមទៅពាក្យបញ្ជាម៉ាស៊ីនមេ ដើម្បីដំណើរការវគ្គម៉ាស៊ីនមេទាំងអស់ក្នុងផ្ទៃខាងក្រោយពីបង្អួចស្ថានីយដូចគ្នា។ ទង់ -d ក៏អាចត្រូវបានប្រើនៅពេលដែលពាក្យបញ្ជារបស់ម៉ាស៊ីនមេត្រូវបានបង្កប់នៅខាងក្នុងសម្រាប់រង្វិលជុំនៅក្នុងស្គ្រីប។
ចំណាំ
នៅពេលដំណើរការតេស្តឆ្លងកាត់បណ្តាញជាមួយស្ទ្រីម / ខ្សែស្រឡាយតែមួយ (ឧample: P1), ដំណើរការរបស់ AMD ប្រហែលជាមិនផ្តល់នូវការរំពឹងទុកទេ ជាពិសេស NICs កម្រិតបញ្ជូនខ្ពស់ជាងនេះ (ប្រសិនបើល្បឿនគឺ >= 25G bandwidth)។ ជាលទ្ធផល ការខ្ទាស់កម្មវិធីទៅស្នូលជាក់លាក់គឺត្រូវបានទាមទារ ដើម្បីសម្រេចបាននូវចរន្តខ្ពស់ជាង។ សូមមើលការកំណត់កម្មវិធីនៅទំព័រ 22 ។
3.1.2 iPerf3
ប្រសិនបើ iperf3 ត្រូវបានប្រើ នោះកម្មវិធីជាច្រើនត្រូវបានទាមទារដើម្បីយក advantage នៃ multi-threads, RSS, និង hardware queues។ Intel ណែនាំឱ្យដំណើរការជាមួយវគ្គកម្មវិធី 2-4 សម្រាប់ការតភ្ជាប់ 25G និងប្រហែល 4-6 វគ្គសម្រាប់ការតភ្ជាប់ 40G ។ វគ្គនីមួយៗគួរតែបញ្ជាក់តម្លៃច្រក TCP តែមួយគត់ដោយប្រើជម្រើស -p ។

  • ដើម្បីដំណើរការចរាចរ uni-directional ពី client ទៅ server៖
    ពាក្យបញ្ជាម៉ាស៊ីនមេ ឧampលេ៖
    iperf3 -s -p
    ពាក្យបញ្ជាអតិថិជន ឧampលេ៖
    iperf3 - គ - ទំ
  • ដើម្បីដំណើរការចរាចរទ្វេទិសពីអតិថិជនទៅម៉ាស៊ីនមេ (និងផ្ទុយមកវិញ)៖
    ពាក្យបញ្ជាម៉ាស៊ីនមេ ឧampលេ៖
    iperf3 –s –p
    ពាក្យបញ្ជាអតិថិជន ឧampលេ៖ iperf3 -c - ទំ - ភី --bidir
  • ដើម្បីចាប់ផ្តើមវត្ថុជាច្រើន (threads) នៃ iperf3 ការណែនាំគឺត្រូវប្រើ for-loop ដើម្បីផ្គូផ្គង threads ទៅកាន់ច្រក TCP ហើយដំណើរការ iperf3 ក្នុងផ្ទៃខាងក្រោយដោយប្រើ & ដើម្បីបង្កើតដំណើរការជាច្រើនស្របគ្នា។
    ពាក្យបញ្ជាម៉ាស៊ីនមេ ឧample, ចាប់ផ្តើម 4 threads: port=””; សម្រាប់ខ្ញុំក្នុង {0..3}; ធ្វើ port=520$i; bash -c “iperf3 -s -p $port &”; ធ្វើរួច; ពាក្យបញ្ជាអតិថិជន ឧample, ចាប់ផ្តើម 4 threads – Transmit test port =””; សម្រាប់ខ្ញុំក្នុង {0..3}; ធ្វើ port=520$i; bash -c “iperf3 -c $ serverIP -p $port &”; ធ្វើរួច; ពាក្យបញ្ជាអតិថិជន ឧample, ចាប់ផ្តើម 4 threads – ទទួលបាន test port =””; សម្រាប់ខ្ញុំក្នុង {0..3}; ធ្វើ port=520$i; bash -c “iperf3 -R -c $ serverIP -p $port &”; ធ្វើរួច; សម្រាប់ការតភ្ជាប់ 40G បង្កើនរង្វិលជុំដើម្បីបង្កើតរហូតដល់ 6 instances/threads។

ចំណាំ
នៅពេលដំណើរការតេស្តឆ្លងកាត់បណ្តាញជាមួយស្ទ្រីម / ខ្សែស្រឡាយតែមួយ (ឧample: P1), ដំណើរការ AMD ប្រហែលជាមិនផ្តល់នូវការរំពឹងទុកទេ ជាពិសេសកម្រិតបញ្ជូនកាន់តែខ្ពស់។
NICs (ប្រសិនបើល្បឿនគឺ>= 25G bandwidth) ។ ជាលទ្ធផល ការខ្ទាស់កម្មវិធីទៅស្នូលជាក់លាក់គឺត្រូវបានទាមទារ ដើម្បីសម្រេចបាននូវចរន្តខ្ពស់ជាង។ សូមមើលការកំណត់កម្មវិធីនៅទំព័រ 22 និង AMD EPYC នៅទំព័រ 26 ។
3.1.3 netperf
ឧបករណ៍ netperf គឺជាជម្រើសដ៏រឹងមាំសម្រាប់ការធ្វើតេស្តឆ្លងកាត់ និង latency ។

  • ការធ្វើតេស្ត TCP_STREAM នៅក្នុង netperf វាស់ស្ទង់សមត្ថភាពឆ្លងកាត់របស់ឧបករណ៍។ ពាក្យបញ្ជាម៉ាស៊ីនមេ ឧample: netserver Client command example ៖ netperf -t TCP_STREAM -l 30 -H
  • ការធ្វើតេស្ត TCP_RR នៅក្នុង netperf ត្រឡប់ភាពយឺតយ៉ាវក្នុងតម្លៃនៃប្រតិបត្តិការ/វិនាទី។ នេះគឺជាលេខធ្វើដំណើរទៅមក។ វាត្រូវបានណែនាំឱ្យប្រើជម្រើស -T x,x, were x គឺជាស៊ីភីយូក្នុងស្រុកទៅឧបករណ៍។ ភាពយឺតយ៉ាវមួយផ្លូវអាចត្រូវបានគណនាដោយប្រើ៖ Latency(usec)=(1⁄2)/ [Transactions/sec]*1,000,\ Server command example: netserver
    ពាក្យបញ្ជាអតិថិជន ឧample: netperf -t TCP_RR -l 30 -H -T x,x
  • ដើម្បីចាប់ផ្តើមវត្ថុជាច្រើន (threads) នៃ netperf ការណែនាំគឺត្រូវប្រើ for-loop ដើម្បីផ្គូផ្គង threads ទៅកាន់ច្រក TCP ហើយដំណើរការ netperf ក្នុងផ្ទៃខាងក្រោយដោយប្រើ & ដើម្បីបង្កើតដំណើរការជាច្រើនស្របគ្នា។
    ពាក្យបញ្ជាម៉ាស៊ីនមេ ឧample, ចាប់ផ្តើម 8 threads:
    ច្រក = ""; សម្រាប់ខ្ញុំក្នុង {0..7}; ធ្វើ port=520$i; bash -c "netserver -L $ serverIP -p $port &"; ធ្វើរួច;
    ពាក្យបញ្ជាអតិថិជន ឧample, ចាប់ផ្តើម 8 threads: port=””; សម្រាប់ខ្ញុំក្នុង {0..7}; ធ្វើ port=520$i; bash -c “netperf -H $ serverIP -p $port -t TCP_STREAM -l 30 &”; ធ្វើរួច;

3.2 វិធីសាស្រ្តលៃតម្រូវ
ផ្តោតលើការផ្លាស់ប្តូរការលៃតម្រូវម្តងមួយៗ ដូច្នេះអ្នកដឹងពីឥទ្ធិពលនៃការផ្លាស់ប្តូរនីមួយៗចំពោះការធ្វើតេស្តរបស់អ្នក។ កាលណាអ្នកមានវិធីសាស្រ្តកាន់តែច្រើនក្នុងដំណើរការលៃតម្រូវ វានឹងកាន់តែងាយស្រួលក្នុងការកំណត់អត្តសញ្ញាណ និងដោះស្រាយមូលហេតុនៃការស្ទះនៃការអនុវត្ត។

ការលៃតម្រូវការកំណត់កម្មវិធីបញ្ជា i40e

4.1 ទំនាក់ទំនង IRQ
ការកំណត់រចនាសម្ព័ន្ធភាពស្និទ្ធស្នាល IRQ ដូច្នេះការរំខានសម្រាប់ជួរបណ្តាញផ្សេងៗគ្នាត្រូវបានភ្ជាប់ទៅស្នូលស៊ីភីយូផ្សេងៗគ្នាអាចមានឥទ្ធិពលយ៉ាងខ្លាំងលើដំណើរការ ជាពិសេសការធ្វើតេស្តឆ្លងកាត់ពហុខ្សែ។
ដើម្បីកំណត់រចនាសម្ព័ន្ធភាពស្និទ្ធស្នាល IRQ សូមបញ្ឈប់ irqbalance ហើយបន្ទាប់មកប្រើស្គ្រីប set_irq_affinity ពីកញ្ចប់ប្រភព i40e ឬជួរ pin ដោយដៃ។ បិទឧបករណ៍តុល្យភាព IRQ ចន្លោះអ្នកប្រើប្រាស់ ដើម្បីបើកការខ្ទាស់ជួរ៖

  • systemctl បិទ irqbalance
  • systemctl បញ្ឈប់ irqbalance
    ការប្រើប្រាស់ស្គ្រីប set_irq_affinity ពីកញ្ចប់ប្រភព i40e (បានណែនាំ)៖
  • ដើម្បីប្រើស្នូលទាំងអស់៖
    [path-to-i40epackage]/scripts/set_irq_affinity -X all ethX
  • ដើម្បីប្រើតែស្នូលនៅលើរន្ធ NUMA មូលដ្ឋាន៖ [path-to-i40epackage]/scripts/set_irq_affinity -X local ethX
  • អ្នកក៏អាចជ្រើសរើសជួរនៃស្នូលផងដែរ។ ជៀសវាងការប្រើ cpu0 ព្រោះវាដំណើរការភារកិច្ចកំណត់ម៉ោង។ [path-to-i40epackage]/scripts/set_irq_affinity 1-2 ethX

ចំណាំ
ស្គ្រីប affinity បើក Transmit Packet Steering (XPS) ជាផ្នែកនៃដំណើរការ pinning នៅពេលជម្រើស -x ត្រូវបានបញ្ជាក់។ នៅពេលដែល XPS ត្រូវបានបើក Intel ណែនាំឱ្យអ្នកបិទ irqbalance ព្រោះថា kernel balancer ជាមួយ XPS អាចបណ្តាលឱ្យដំណើរការដែលមិនអាចទាយទុកជាមុនបាន។ ស្គ្រីប affinity បិទ XPS នៅពេលជម្រើស -X ត្រូវបានបញ្ជាក់។ ការបិទ XPS និងការបើកដំណើរការជួរស៊ីមេទ្រីគឺមានប្រយោជន៍សម្រាប់បន្ទុកការងារដែលដំណើរការល្អបំផុតត្រូវបានសម្រេចនៅពេលដែលចរាចរ Tx និង Rx ទទួលបានសេវាកម្មនៅលើគូជួរដូចគ្នានេះ។
ការកំណត់រចនាសម្ព័ន្ធជួរស៊ីមេទ្រីនៅក្នុងលីនុចពាក់ព័ន្ធនឹងការលៃតម្រូវប៉ារ៉ាម៉ែត្រកម្មវិធីបញ្ជាចំណុចប្រទាក់បណ្តាញដើម្បីបើកដំណើរការជួរទទួលស៊ីមេទ្រី (Rx) និងជួរបញ្ជូនស៊ីមេទ្រី (Tx) សម្រាប់អាដាប់ទ័របណ្តាញដែលគាំទ្រ។
ចំណាំ

  • ជួរស៊ីមេទ្រីគឺជាមុខងារបណ្តាញកម្រិតខ្ពស់ ហើយមិនមែនអាដាប់ទ័របណ្តាញ ឬកម្មវិធីបញ្ជាស៊េរី 700 ទាំងអស់គាំទ្រពួកវានោះទេ។
  • ត្រូវប្រាកដថាអ្នកមានកម្មវិធីបញ្ជាចាំបាច់ និងការគាំទ្រផ្នែករឹង មុនពេលព្យាយាមកំណត់រចនាសម្ព័ន្ធជួរស៊ីមេទ្រី។

ដើម្បីកំណត់រចនាសម្ព័ន្ធជួរស៊ីមេទ្រី សូមអនុវត្តតាមជំហានទូទៅទាំងនេះ៖

  1. កែសម្រួលការកំណត់រចនាសម្ព័ន្ធចំណុចប្រទាក់បណ្តាញ File៖ ប្រើកម្មវិធីកែអត្ថបទ (សម្រាប់ឧample, vi, nano, ឬ gedit) ដើម្បីកែសម្រួលការកំណត់រចនាសម្ព័ន្ធចំណុចប្រទាក់បណ្តាញ file. នេះ។ file ជាធម្មតាមានទីតាំងនៅក្រោមថត /etc/sysconfig/network-scripts/ ហើយមានឈ្មោះដូចជា ifcfg-ethX ដែល ethX គឺជាឈ្មោះនៃចំណុចប្រទាក់បណ្តាញរបស់អ្នក។
  2. បន្ថែមប៉ារ៉ាម៉ែត្រជួរស៊ីមេទ្រី។ បន្ថែមបន្ទាត់ខាងក្រោមទៅការកំណត់រចនាសម្ព័ន្ធចំណុចប្រទាក់បណ្តាញ file៖ ETHTOOL_OPTS=”rx-queues 8 tx-queues 8″
  3. ចាប់ផ្តើមសេវាបណ្តាញឡើងវិញ។
    បន្ទាប់ពីធ្វើការផ្លាស់ប្តូរ សូមចាប់ផ្តើមសេវាបណ្តាញឡើងវិញ ដើម្បីអនុវត្តការកំណត់រចនាសម្ព័ន្ធថ្មី។ sudo systemctl ចាប់ផ្តើមបណ្តាញឡើងវិញ

ដោយដៃ៖

  • ស្វែងរក processors ដែលភ្ជាប់ទៅថ្នាំងនីមួយៗដោយប្រើ៖ numactl –hardware lscpu
  • ស្វែងរករបាំងប៊ីតសម្រាប់ដំណើរការនីមួយៗ៖
  • សន្មត់ថាស្នូល 0-11 សម្រាប់ថ្នាំង 0: [1,2,4,8,10,20,40,80,100,200,400,800]
  • ស្វែងរក IRQs ដែលបានកំណត់ទៅច្រកដែលត្រូវបានចាត់តាំង៖ grep ethX / proc/interrupts ហើយចំណាំតម្លៃ IRQ សម្រាប់ example, 181-192 សម្រាប់វ៉ិចទ័រ 12 ដែលផ្ទុក។
  • បន្ទរតម្លៃភាពស្និទ្ធស្នាល SMP ទៅក្នុងធាតុ IRQ ដែលត្រូវគ្នា។ ចំណាំថាវាត្រូវធ្វើសម្រាប់ធាតុ IRQ នីមួយៗ៖ បន្ទរ 1 > /proc/irq/181/smp_affinity echo 2 > /proc/irq/182/smp_affinity echo 4 > /proc/irq/183/smp_affinity បង្ហាញ IRQ affinity៖
  • ដើម្បីបង្ហាញភាពស្និទ្ធស្នាល IRQ សម្រាប់ស្នូលទាំងអស់៖ /scripts/set_irq_affinity -s ethX
  • ដើម្បីបង្ហាញតែស្នូលនៅលើរន្ធ NUMA មូលដ្ឋាន៖ /scripts/set_irq_affinity -s local ethX
  • អ្នកក៏អាចជ្រើសរើសជួរស្នូលមួយចំនួន៖ /scripts/set_irq_affinity -s 40-0-8,16 ethX

ចំណាំ
ស្គ្រីប set_irq_affinity គាំទ្រទង់ -s នៅក្នុងកម្មវិធីបញ្ជា i40e កំណែ 2.16.11 និងក្រោយ។
4.2 ជួរ Tx/Rx
ចំនួនជួរលំនាំដើមដែលបានបើកសម្រាប់ច្រកអ៊ីសឺរណិតនីមួយៗដោយអ្នកបើកបរនៅពេលចាប់ផ្តើមគឺស្មើនឹងចំនួនស៊ីភីយូសរុបដែលមាននៅក្នុងវេទិកា។ វាដំណើរការល្អសម្រាប់វេទិកាជាច្រើន និងការកំណត់រចនាសម្ព័ន្ធបន្ទុកការងារ។ ទោះយ៉ាងណាក៏ដោយ នៅក្នុងវេទិកាដែលមានចំនួនស្នូលខ្ពស់ និង/ឬដង់ស៊ីតេច្រកអ៊ីសឺរណិតខ្ពស់ ការកំណត់រចនាសម្ព័ន្ធនេះអាចបង្កឱ្យមានជម្លោះធនធាន។ ដូច្នេះ វាអាចចាំបាច់នៅក្នុងករណីខ្លះដើម្បីកែប្រែលំនាំដើមសម្រាប់ច្រកនីមួយៗនៅក្នុងប្រព័ន្ធ។
ចំនួនលំនាំដើមនៃជួរ Tx/Rx អាចប្រែប្រួលអាស្រ័យលើម៉ូដែលជាក់លាក់ និងកំណែកម្មវិធីបញ្ជា។ ចំនួនជួរអាចត្រូវបានកែតម្រូវដោយប្រើពាក្យបញ្ជា ethtool -L ដែលបានរាយខាងក្រោម។
ចំណាំ
នៅក្នុងករណីទាំងនេះ ក្រុមហ៊ុន Intel ណែនាំឱ្យអ្នកកាត់បន្ថយចំនួនជួរលំនាំដើមសម្រាប់ច្រកនីមួយៗ ឱ្យមិនលើសពីចំនួនស៊ីភីយូដែលមាននៅក្នុង NUMA node local ទៅច្រកអាដាប់ទ័រ។ ក្នុងករណីខ្លះ នៅពេលព្យាយាមធ្វើឱ្យមានតុល្យភាពធនធានលើការអនុវត្តចំនួនច្រកខ្ពស់ វាអាចចាំបាច់ត្រូវកាត់បន្ថយចំនួននេះបន្ថែមទៀត។
ដើម្បីកែប្រែការកំណត់ជួរ៖
ខាងក្រោមនេះ example កំណត់ច្រកទៅ 32 Tx/Rx ជួរ៖ ethtool -L ethX រួមបញ្ចូលគ្នា 32
Exampលទ្ធផល៖
ethtool -l ethX
ប៉ារ៉ាម៉ែត្រឆានែលសម្រាប់ ethX៖ កំណត់ជាមុនអតិបរមា៖
RX: 96
TX: 96
ផ្សេងទៀត៖ ៣៨៤
បន្សំ៖ ៩៦
ការកំណត់ផ្នែករឹងបច្ចុប្បន្ន៖
RX: 0
TX: 0
ផ្សេងទៀត៖ ៣៨៤
បន្សំ៖ ៩៦
4.3 ការសម្របសម្រួលរំខាន
ការសម្របសម្រួលការរំខានតាមលំនាំដើមត្រូវបានបើកតាមលំនាំដើម ហើយត្រូវបានរចនាឡើងដើម្បីផ្តល់នូវវិធីសាស្រ្តប្រកបដោយតុល្យភាពរវាងការប្រើប្រាស់ស៊ីភីយូទាប និងដំណើរការខ្ពស់។ ទោះជាយ៉ាងណាក៏ដោយ អ្នកអាចសាកល្បងលៃតម្រូវការកំណត់ការរំខានដោយដៃដើម្បីឱ្យសមនឹងករណីប្រើប្រាស់របស់អ្នក។
ចន្លោះពី 0-235 មីក្រូវិនាទីផ្តល់នូវជួរដ៏មានប្រសិទ្ធិភាពពី 4,310 ទៅ 250,000 រំខានក្នុងមួយវិនាទី។ តម្លៃនៃ rx-μsecs-high អាចត្រូវបានកំណត់ដោយឯករាជ្យនៃ rx-μsecs និង tx-μsecs ក្នុងពាក្យបញ្ជា ethtool ដូចគ្នា ហើយក៏មិនអាស្រ័យលើក្បួនដោះស្រាយការសម្របសម្រួលការសម្របសម្រួលការសម្របសម្រួលផងដែរ។ ផ្នែក​រឹង​ដែល​នៅ​ពី​ខាង​ក្រោម​គាំទ្រ​កម្រិត​ក្រឡា​ក្នុង​ចន្លោះ​ពេល 2microsecond ដូច្នេះ​តម្លៃ​នៅ​ជាប់​គ្នា​អាច​នឹង​មាន​លទ្ធផល​ក្នុង​អត្រា​រំខាន​ដូច​គ្នា។

  • ដើម្បី​បិទ​ការ​សម្រប​សម្រួល​ការ​រំខាន​ដោយ​ការ​សម្រប​សម្រួល៖ ethtool -C ethX adaptive-rx off adaptive-tx បិទ
  • ដើម្បីបើកការសម្របសម្រួលការរំខានដោយបន្សាំ៖ ethtool -C ethX adaptive-rx នៅលើ adaptive-tx ត្រូវបានបើក

កន្លែងដ៏ល្អដើម្បីចាប់ផ្តើមសម្រាប់ការលៃតម្រូវទូទៅគឺ 84 μs ឬ ~ 12000 interrupts/s ។ ប្រសិនបើអ្នកឃើញបញ្ជរ rx_dropped កំពុងដំណើរការកំឡុងពេលចរាចរ (ដោយប្រើ ethtool -S ethX) នោះអ្នកប្រហែលជាមាន CPU យឺតពេក មិនមានសតិបណ្ដោះអាសន្នគ្រប់គ្រាន់ពីទំហំចិញ្ចៀនរបស់អាដាប់ទ័រ (ethtool -G) ដើម្បីផ្ទុកកញ្ចប់ព័ត៌មានសម្រាប់ 84 μs ឬទាបនៃអត្រារំខាន។

  • ដើម្បីកំណត់ការសម្របសម្រួលការរំខានដល់អត្រាការរំខានថេរនៃ 84 μs រវាងការរំខាន (12000 interrupts/s): ethtool -C ethX adaptive-rx off adaptive-tx បិទ rx-usecs 84 tx-usecs 84 តម្លៃបន្ទាប់ដែលត្រូវសាកល្បង ប្រសិនបើអ្នកមិនត្រូវបានបង្កើនលើការប្រើប្រាស់ CPU គឺ 62 μs។ វាប្រើស៊ីភីយូកាន់តែច្រើន ប៉ុន្តែវាផ្តល់សេវាសតិបណ្ដោះអាសន្នលឿនជាងមុន ហើយត្រូវការអ្នកពណ៌នាតិចជាងមុន (ទំហំចិញ្ចៀន ethtool -G)។
  • ដើម្បីកំណត់ការសម្របសម្រួលការរំខានដល់អត្រាការរំខានថេរនៃ 62 usecs រវាងការរំខាន (16000 interrupts/s)។ ethtool -C ethX adaptive-rx បិទ adaptive-tx បិទ rx-usecs 62 tx-usecs 62
    ប្រសិនបើបញ្ជរ rx_dropped កើនឡើងកំឡុងពេលចរាចរ (ដោយប្រើ ethtool -S ethX) អ្នកប្រហែលជាមាន CPU យឺតពេក មិនមានទ្រនាប់គ្រប់គ្រាន់ពីទំហំចិញ្ចៀនរបស់អាដាប់ទ័រ (ethtool -G) ឬទាបពេកនៃអត្រារំខាន។ ប្រសិនបើអ្នកមិនត្រូវបានបង្កើនលើការប្រើប្រាស់ស៊ីភីយូទេ អ្នកអាចបង្កើនអត្រារំខានដោយទម្លាក់តម្លៃ ITR ។ វាប្រើស៊ីភីយូកាន់តែច្រើន ប៉ុន្តែសេវាកម្មមានសតិបណ្ដោះអាសន្នលឿនជាងមុន ហើយត្រូវការអ្នកពណ៌នាតិចជាងមុន (ទំហំចិញ្ចៀន ethtool -G)។
    ប្រសិនបើស៊ីភីយូរបស់អ្នកនៅ 100% នោះការបង្កើនអត្រារំខានមិនត្រូវបានណែនាំទេ។ ក្នុងកាលៈទេសៈមួយចំនួនដូចជាបន្ទុកការងារដែលចងភ្ជាប់ CPU អ្នកប្រហែលជាចង់បង្កើនតម្លៃ μs ដើម្បីបើកដំណើរការ CPU កាន់តែច្រើនសម្រាប់កម្មវិធីផ្សេងទៀត។
    ប្រសិនបើអ្នកត្រូវការដំណើរការ latency ទាប និង/ឬមាន CPU ច្រើនដើម្បីលះបង់ការដំណើរការបណ្តាញ អ្នកអាចបិទការសម្របសម្រួលការរំខានទាំងស្រុង ដែលអនុញ្ញាតឱ្យការរំខានដំណើរការលឿនតាមដែលអាចធ្វើទៅបាន។
  • ដើម្បីបិទការរំខាន ethtool -C ethX adaptive-rx បិទ adaptive-tx បិទ rx-usecs 0 tx-usecs 0

ចំណាំ
នៅពេលដំណើរការជាមួយនឹងការសម្របសម្រួលការរំខានត្រូវបានបិទ អត្រារំខាននៅលើជួរនីមួយៗអាចខ្ពស់ណាស់។ ពិចារណារួមបញ្ចូលប៉ារ៉ាម៉ែត្រ rx-usec-high ដើម្បីកំណត់ដែនកំណត់ខាងលើលើអត្រារំខាន។ ពាក្យ​បញ្ជា​ខាងក្រោម​បិទ​ការ​សម្រប​សម្រួល​ការ​រំខាន​ដោយ​ការ​សម្រប​សម្រួល និង​អនុញ្ញាត​ឱ្យ​មាន​អតិបរមា 5 មីក្រូវិនាទី មុន​ពេល​បង្ហាញ​ថា​ការ​ទទួល​ឬ​ការ​បញ្ជូន​ត្រូវ​បាន​បញ្ចប់។ ជំនួសឱ្យការធ្វើឱ្យមានការរំខានដល់ទៅ 200,000 ក្នុងមួយវិនាទី វាកំណត់ការរំខានសរុបក្នុងមួយវិនាទីដល់ 50,000 តាមរយៈប៉ារ៉ាម៉ែត្រ rx-usec-high ។ # ethtool -C ethX adaptive-rx បិទ adaptive-tx បិទ rx-usecs-high 20 rx-usecs 5 txusecs 5 ព្យាយាមកែសម្រួលកម្មវិធីកំណត់ពេលបញ្ជូន/ទទួល/ការរួមផ្សំអាទិភាពខ្ពស់ខ្ពស់ជាង (80/100/150/200) ឬទាបជាងនេះ (25/20/10/5) ដើម្បីស្វែងរកតម្លៃដែលល្អបំផុត។
4.4 ទំហំចិញ្ចៀន
ប្រសិនបើអ្នកឃើញបញ្ជរ rx_dropped នៅក្នុង ethtool -S ethX (rx_dropped, rx_dropped.nic) ឬសង្ស័យថាសម្ពាធឃ្លាំងសម្ងាត់មានជួរច្រើនសកម្ម អ្នកអាចព្យាយាមកែតម្រូវទំហំចិញ្ចៀនពីតម្លៃលំនាំដើម។ តម្លៃលំនាំដើមគឺ 512 អតិបរមាគឺ 4096 ។

  • ដើម្បីពិនិត្យមើលតម្លៃបច្ចុប្បន្ន៖ ethtool -g ethX
    ប្រសិនបើវាត្រូវបានគេសង្ស័យថាការខ្វះការបណ្ដោះអាសន្នកំពុងបណ្តាលឱ្យមានការធ្លាក់ចុះក្នុងអត្រាការរំខានបច្ចុប្បន្ន អ្នកអាចសាកល្បងអតិបរមាជាមុនសិន បន្ទាប់មកអប្បបរមា បន្ទាប់មកបន្តក្នុងការស្វែងរកប្រព័ន្ធគោលពីររហូតដល់អ្នកឃើញប្រសិទ្ធភាពល្អបំផុត។
    ប្រសិនបើសម្ពាធឃ្លាំងសម្ងាត់ត្រូវបានសង្ស័យ (ជួរជាច្រើនសកម្ម) ការកាត់បន្ថយ buffers ពីលំនាំដើមអាចជួយ Intel ® Data Direct I/O (Intel ® DDIO) ដំណើរការប្រកបដោយប្រសិទ្ធភាពប្រសើរជាងមុន។ Intel ណែនាំឱ្យសាកល្បង 128 ឬ 256 ក្នុងមួយជួរ ដោយដឹងថាការកើនឡើងនៃអត្រារំខានតាមរយៈ ethtool -C ប្រហែលជាចាំបាច់ដើម្បីជៀសវាងការកើនឡើងនៃ rx_dropped ។
  • ដើម្បីកំណត់ទំហំចិញ្ចៀនទៅតម្លៃថេរ៖ ethtool -G eth12 rx 256 tx 256

ចំណាំ
ដើម្បីជួសជុលការទម្លាក់កញ្ចប់ព័ត៌មាន Rx ដែលបានរកឃើញជាមួយនឹងការធ្លាក់ចុះ ethtool -S ethX|grep សូមពិចារណាបង្កើនទំហំចិញ្ចៀនដល់ 4096។ ពិសោធន៍ដើម្បីស្វែងរកការកំណត់ល្អបំផុតសម្រាប់បន្ទុកការងារ ប៉ុន្តែត្រូវប្រយ័ត្នចំពោះការប្រើប្រាស់អង្គចងចាំច្រើនពេកជាមួយនឹងតម្លៃខ្ពស់។
4.5 ការគ្រប់គ្រងលំហូរ
ការគ្រប់គ្រងលំហូរស្រទាប់ 2 អាចប៉ះពាល់ដល់ដំណើរការ TCP យ៉ាងខ្លាំង ហើយត្រូវបានណែនាំអោយបិទសម្រាប់បន្ទុកការងារភាគច្រើន។ ករណីលើកលែងដ៏មានសក្តានុពលមួយគឺ ចរាចរណ៍ខ្លាំង ដែលការផ្ទុះមិនយូរប៉ុន្មានទេ។
ការគ្រប់គ្រងលំហូរត្រូវបានបិទតាមលំនាំដើម។

  • ដើម្បីបើកការគ្រប់គ្រងលំហូរ៖ ethtool -A ethX rx on tx on
  • ដើម្បីបិទការគ្រប់គ្រងលំហូរ៖ ethtool -A ethX rx off tx off

ចំណាំ
អ្នកត្រូវតែមានដៃគូតំណភ្ជាប់ដែលមានសមត្ថភាពគ្រប់គ្រងលំហូរ ដើម្បីបើកការគ្រប់គ្រងលំហូរដោយជោគជ័យ។
4.6 ស៊ុម Jumbo
នៅពេលដែលបរិយាកាសចរាចរណ៍ដែលរំពឹងទុកមានប្លុកធំនៃទិន្នន័យដែលត្រូវបានផ្ទេរ វាអាចមានប្រយោជន៍ក្នុងការបើកមុខងារ jumbo frame។ ការគាំទ្រ Jumbo Frames ត្រូវបានបើកដោយការផ្លាស់ប្តូរឯកតាបញ្ជូនអតិបរមា (MTU) ទៅជាតម្លៃធំជាងតម្លៃលំនាំដើមនៃ 1500។ វាអនុញ្ញាតឱ្យឧបករណ៍ផ្ទេរទិន្នន័យក្នុងកញ្ចប់ធំជាងនៅក្នុងបរិយាកាសបណ្តាញ។ ការ​កំណត់​នេះ​អាច​ធ្វើ​ឱ្យ​ប្រសើរ​ឡើង​នូវ​ការ​បញ្ជូន និង​កាត់​បន្ថយ​ការ​ប្រើប្រាស់ CPU សម្រាប់​បន្ទុក​ការងារ I/O ធំ។ ទោះយ៉ាងណាក៏ដោយ វាអាចប៉ះពាល់ដល់កញ្ចប់តូច ឬបន្ទុកការងារដែលងាយនឹងយឺត។
ចំណាំ
ស៊ុម Jumbo ឬការកំណត់ MTU ធំជាងនេះត្រូវតែកំណត់រចនាសម្ព័ន្ធឱ្យបានត្រឹមត្រូវនៅទូទាំងបរិយាកាសបណ្តាញរបស់អ្នក។
ប្រើពាក្យបញ្ជា ifconfig ដើម្បីបង្កើនទំហំ MTU ។ សម្រាប់អតីតample, បញ្ចូលដូចខាងក្រោម, កន្លែងណា គឺជាលេខចំណុចប្រទាក់៖ ifconfig mtu 9000 ឡើង
ម៉្យាងទៀតអ្នកអាចប្រើពាក្យបញ្ជា ip ដូចខាងក្រោម៖ ip link set mtu 9000 dev តំណ ip ដំឡើង dev

ការលៃតម្រូវវេទិកា (i40e មិនជាក់លាក់)

5.1 ការកំណត់ BIOS

  • បើកដំណើរការ Intel® VT-d សម្រាប់បន្ទុកការងារនិម្មិត។
  • Hyper-threading (ប្រព័ន្ធដំណើរការឡូជីខល) អាចប៉ះពាល់ដល់ដំណើរការ។ សាកល្បងជាមួយវាបើក ឬបិទសម្រាប់បន្ទុកការងាររបស់អ្នក។
  • Intel® Turbo Boost អនុញ្ញាតឱ្យស្នូលស៊ីភីយូដំណើរការនៅប្រេកង់ខ្ពស់ជាងប្រេកង់មូលដ្ឋានរបស់ស៊ីភីយូ។ ការបើកដំណើរការ Intel® Turbo Boost អាចធ្វើឱ្យប្រសើរឡើងនូវដំណើរការសម្រាប់បន្ទុកការងារជាច្រើន ប៉ុន្តែប្រើប្រាស់ថាមពលកាន់តែច្រើនដើម្បីរក្សាស្នូលនៅប្រេកង់ខ្ពស់។ សាកល្បងជាមួយការបិទ/បើក Turbo Boost សម្រាប់បន្ទុកការងាររបស់អ្នក។

ចំណាំ
ប្រេកង់ Turbo មិនត្រូវបានធានាទេ ប្រសិនបើវេទិកានេះកំពុងជួបប្រទះការប្រើប្រាស់ស៊ីភីយូសរុបខ្ពស់។ ប្រេកង់ turbo ស្នូលខ្ពស់ជាងត្រូវបានកាត់បន្ថយនៅពេលដែលការប្រើប្រាស់ស៊ីភីយូទាំងមូលកើនឡើង។
5.2 ការគ្រប់គ្រងថាមពល
ការគ្រប់គ្រងថាមពលអាចប៉ះពាល់ដល់ដំណើរការ ជាពិសេសនៅក្នុងបន្ទុកការងារដែលមានភាពយឺតយ៉ាវទាប។ ប្រសិនបើការអនុវត្តគឺជាអាទិភាពខ្ពស់ជាងការបន្ថយការប្រើប្រាស់ថាមពល ក្រុមហ៊ុន Intel ណែនាំឱ្យអ្នកពិសោធន៍ជាមួយការកំណត់ឥទ្ធិពលនៃការគ្រប់គ្រងថាមពល។ មានវិធីផ្សេងគ្នាជាច្រើនដើម្បីកំណត់ការគ្រប់គ្រងថាមពល តាមរយៈឧបករណ៍ប្រព័ន្ធប្រតិបត្តិការ ការកំណត់ BIOS និងប៉ារ៉ាម៉ែត្រចាប់ផ្ដើមខឺណែល។ ជ្រើសរើសវិធីសាស្ត្រ និងកម្រិតល្អបំផុត ដើម្បីឲ្យសមនឹងបរិយាកាសរបស់អ្នក។
5.2.1 ការគ្រប់គ្រងរដ្ឋ
ការកំណត់ការបញ្ចូលរដ្ឋ C ទៅ CO ឬ C1 ធ្វើអោយប្រសើរឡើងនូវដំណើរការ និងបង្កើនការប្រើប្រាស់ថាមពល។
ការបិទដំណើរការធាតុរដ្ឋរបស់កញ្ចប់ CPU C6 អាចធ្វើអោយដំណើរការបណ្តាញប្រសើរឡើង។ ទោះជាយ៉ាងណាក៏ដោយនេះបង្កើនការប្រើប្រាស់ថាមពល។
ជម្រើសខាងក្រោមអាចប្រើបាន៖

  • គ្រប់គ្រងថាមវន្តធាតុចូលរដ្ឋ C៖
    បើក
    /dev/cpu_dma_latency ហើយសរសេរ latency អតិបរមាដែលអាចអនុញ្ញាតបានទៅវា។

ចំណាំ
មានកម្មវិធីតូចមួយដែលហៅថា cpudmalatency.c ដែលអាចទាញយកពីសហគមន៍ប្រភពបើកចំហ ចងក្រង និងដំណើរការពីបន្ទាត់ពាក្យបញ្ជាដើម្បីធ្វើរឿងនេះយ៉ាងពិតប្រាកដ។
ខាងក្រោមនេះ example អនុញ្ញាតឱ្យមានពេលភ្ញាក់ប្រាំμs ហើយដូច្នេះអនុញ្ញាតឱ្យចូល C1: cpudmalatency 5 &

  • កំណត់កម្រិត C-state អតិបរមានៅក្នុងការកំណត់ចាប់ផ្ដើមខឺណែល៖
    សម្រាប់ស៊ីភីយូ Intel៖ intel_idle.max_cstates=1
    សម្រាប់ CPU ដែលមិនមែនជា Intel៖ processor.max_cstates=1
  • ប្រើពាក្យបញ្ជា cpupower ដើម្បីពិនិត្យ និងបិទស្ថានភាព CPU C6៖ ពិនិត្យ៖ cpupower monitor ឬ cpupower idle-info
    បិទ C6: cpupower idle-set -d3 ឬ
    បិទដំណើរការ C-States៖ cpupower idle-set -D0

កំណត់ចំណាំ៖

  1. បិទដំណើរការ C-states នៅលើ CPU ប្រសិនបើ Server មាន Intel® 4th Gen Intel® Xeon® Scalable Processor(s)។ នៅពេលដែល Hyper Threading ត្រូវបានបើក ឬបិទ ការបិទស្ថានភាពទំនេរ (-D0) ការពារស្នូលពីការចូលទៅក្នុងស្ថានភាពថាមពលទាបក្នុងអំឡុងពេលទំនេរ និងកាត់បន្ថយភាពយឺតយ៉ាវសម្រាប់ CPU ដើម្បីផ្លាស់ប្តូររវាងស្ថានភាពទំនេរ និងសកម្ម។
  2. ការគ្រប់គ្រងថាមពលរបស់ Intel® 4th Gen Intel® Xeon® Scalable Processor គឺមានភាពឆេវឆាវបំផុត។ ដើម្បីជៀសវាងស្នូលពីការចូលទៅក្នុងរដ្ឋដែលមានថាមពលទាប សូមព្យាយាមកាត់បន្ថយចំនួនស្នូលដែលកំពុងប្រើប្រាស់ ដើម្បីរក្សាពួកវាឱ្យភ្ញាក់បានយូរ (ethtool -L រួមបញ្ចូលគ្នា ) ដូចគ្នានេះផងដែរ ភ្ជាប់ការរំខានដល់ស្នូលជាក់លាក់ដោយប្រើការកំណត់ irq affinity (ភាគច្រើនជាញឹកញាប់ជាមួយ -x មូលដ្ឋាន ឬបញ្ជីនៃស្នូលស៊ីភីយូ) ហើយធានាថាបន្ទុកការងារដំណើរការលើស្នូលដូចគ្នាទាំងនោះជាមួយនឹងសំណុំកិច្ចការ ឬ numactl ។ នេះធ្វើអោយប្រសើរឡើងនូវដំណើរការដោយរក្សាស្នូលឱ្យសកម្ម និងបង្កើនប្រសិទ្ធភាពការគ្រប់គ្រងការរំខាន។

បើកដំណើរការ C6៖
cpupower idle-set -d3
បើកដំណើរការ C-States៖
cpupower ទំនេរ-កំណត់ -E

  • វិធីសាស្រ្តមួយផ្សេងទៀតគឺត្រូវប្រើឧបករណ៍ដែលបានកែសម្រួល (រួមបញ្ចូលជាមួយនឹងការចែកចាយលីនុចជាច្រើន) ដើម្បីកំណត់ការអនុវត្តfile. គាំទ្រទាំងនេះfiles កែប្រែការកំណត់ OS ជាច្រើនដែលអាចប៉ះពាល់ដល់ដំណើរការលើកម្មវិធីជាច្រើន។ វាត្រូវបានគេរកឃើញថា network-throughput profile ផ្តល់ភាពប្រសើរឡើងដល់បន្ទុកការងារភាគច្រើន។
    ពិនិត្យ៖
    tuned-adm សកម្ម
    កំណត់៖
    tuned-adm profile បណ្តាញឆ្លងកាត់
    ចំណាំ
    សេវាដែលបានលៃតម្រូវត្រូវតែដំណើរការសម្រាប់ពាក្យបញ្ជាខាងលើ។ ដើម្បីពិនិត្យ/ចាប់ផ្តើមឡើងវិញ លៃតម្រូវ៖ ស្ថានភាព systemctl លៃតម្រូវ systemctl ចាប់ផ្តើមលៃតម្រូវឡើងវិញ
    អ្នកក៏អាចមិនអនុញ្ញាតធាតុ C-state ណាមួយដោយបន្ថែមដូចខាងក្រោមទៅបន្ទាត់ចាប់ផ្ដើមខឺណែល៖
    idle=បោះឆ្នោត
  • ដាក់កម្រិត C-state តាមរយៈការកំណត់ការគ្រប់គ្រងថាមពល BIOS របស់ប្រព័ន្ធ ដែលអាចមានដំណើរការល្អfile មាន។
    ឧបករណ៍ដូចជា turbostat ឬ x86_energy_perf_policy អាចត្រូវបានប្រើដើម្បីពិនិត្យ ឬកំណត់ការកំណត់ការគ្រប់គ្រងថាមពល។

5.2.2 ការគ្រប់គ្រងថាមពល PCIe
Active-State Power Management (ASPM) បើកស្ថានភាពថាមពលទាបសម្រាប់តំណភ្ជាប់ PCIe នៅពេលដែលពួកវាមិនប្រើប្រាស់សកម្ម។ នេះអាចបណ្តាលឱ្យមានភាពយឺតយ៉ាវខ្ពស់នៅលើឧបករណ៍បណ្តាញ PCIe ដូច្នេះ Intel ណែនាំអ្នកឱ្យបិទ ASPM សម្រាប់បន្ទុកការងារដែលងាយនឹងយឺត។ បិទ ASPM ដោយបន្ថែមចំណុចខាងក្រោមទៅបន្ទាត់ចាប់ផ្ដើមខឺណែល៖ pcie_aspm=off
5.2.3 ការធ្វើមាត្រដ្ឋានប្រេកង់ស៊ីភីយូ
ការធ្វើមាត្រដ្ឋានប្រេកង់ស៊ីភីយូ (ឬការធ្វើមាត្រដ្ឋានល្បឿនស៊ីភីយូ) គឺជាបច្ចេកទេសគ្រប់គ្រងថាមពលលីនុច ដែលល្បឿននាឡិកាប្រព័ន្ធត្រូវបានកែតម្រូវភ្លាមៗ ដើម្បីសន្សំសំចៃថាមពល និងកំដៅ។ ដូចគ្នានឹងរដ្ឋ C ដែរ វាអាចបណ្តាលឱ្យមានភាពយឺតយ៉ាវដែលមិនចង់បាននៅលើការតភ្ជាប់បណ្តាញ។
ឧបករណ៍ cpupower ក៏អាចត្រូវបានប្រើដើម្បីពិនិត្យ និងកែប្រែលំនាំដើម និងដែនកំណត់នៃដំណើរការស៊ីភីយូ៖

  • ពិនិត្យ៖ ម៉ូនីទ័រ cpupower ឬ
  • កំណត់ស៊ីភីយូទៅជារបៀបដំណើរការ៖ ដំណើរការប្រេកង់ cpupower-set -g

ចំណាំ
ការកែប្រែដែនកំណត់ប្រេកង់ស៊ីភីយូអាចជះឥទ្ធិពលដល់បន្ទុកការងារជាច្រើន ហើយអាចបិទមុខងារផ្សេងទៀត ដូចជារបៀប CPU turbo ជាដើម។
ដើម្បីបិទការធ្វើមាត្រដ្ឋានប្រេកង់ស៊ីភីយូ សូមបិទសេវាកម្មថាមពលស៊ីភីយូដោយពាក្យបញ្ជាខាងក្រោម៖
systemctl បញ្ឈប់ cpupower.service
systemctl បិទ cpupower.service
5.2.4 ការណែនាំអំពីការគ្រប់គ្រងថាមពលបន្ថែម
ព័ត៌មានលម្អិតបន្ថែមត្រូវបានផ្តល់ជូននៅក្នុងកម្រិតខ្ពស់នេះ។view នៃមុខងារគ្រប់គ្រងថាមពលជាច្រើននៅក្នុងប្រព័ន្ធដំណើរការ Intel® Xeon® Scalable ជំនាន់ទី 3 ក៏ដូចជាការណែនាំអំពីរបៀបដែលលក្ខណៈពិសេសទាំងនេះអាចត្រូវបានរួមបញ្ចូលនៅកម្រិតវេទិកាមួយ៖ https://networkbuilders.intel.com/solutionslibrary/power-management-technologyoverview-technology-guide
5.3 Intel® Turbo Boost
Intel® Turbo Boost ធ្វើឱ្យខួរក្បាលដំណើរការលឿនជាងមុននៅពេលចាំបាច់ ប៉ុន្តែអាចប្រើប្រាស់ថាមពលបន្ថែម។ ការបិទ Turbo Boost ធ្វើឱ្យខួរក្បាលដំណើរការក្នុងល្បឿនថេរ ដែលផ្តល់ឱ្យអ្នកនូវកម្រិតដំណើរការស្របគ្នាសម្រាប់បន្ទុកការងារជាក់លាក់។
5.4 ជញ្ជាំងភ្លើង
ជញ្ជាំងភ្លើងអាចប៉ះពាល់ដល់ដំណើរការ ជាពិសេសការអនុវត្តភាពយឺតយ៉ាវ។
បិទ iptables/firewalld ប្រសិនបើមិនចាំបាច់។
5.5 ការកំណត់កម្មវិធី
ជាញឹកញាប់ខ្សែតែមួយ (ដែលត្រូវនឹងជួរបណ្តាញតែមួយ) មិនគ្រប់គ្រាន់ដើម្បីសម្រេចបាននូវកម្រិតបញ្ជូនអតិបរមា។ ស្ថាបត្យកម្មវេទិកាមួយចំនួនដូចជា AMD មានទំនោរទម្លាក់កញ្ចប់ Rx កាន់តែច្រើនជាមួយនឹងខ្សែស្រឡាយតែមួយបើប្រៀបធៀបទៅនឹងវេទិកាដែលមានប្រព័ន្ធដំណើរការ Intel ។
ពិចារណាប្រើឧបករណ៍ដូចជា Taskset ឬ numactl ដើម្បីខ្ទាស់កម្មវិធីទៅថ្នាំង NUMA ឬស្នូលស៊ីភីយូក្នុងស្រុកទៅឧបករណ៍បណ្តាញ។ សម្រាប់បន្ទុកការងារមួយចំនួនដូចជាការផ្ទុក I/O ការផ្លាស់ទីកម្មវិធីទៅថ្នាំងដែលមិនមែនជាមូលដ្ឋានផ្តល់អត្ថប្រយោជន៍។
ពិសោធន៍ជាមួយការបង្កើនចំនួនខ្សែស្រឡាយដែលប្រើដោយកម្មវិធីរបស់អ្នកប្រសិនបើអាចធ្វើទៅបាន។
5.6 កំណែខឺណែល
ខឺណែលក្នុងប្រអប់ទំនើបភាគច្រើនត្រូវបានធ្វើឱ្យប្រសើរឡើងដោយសមហេតុផលសម្រាប់ដំណើរការ ប៉ុន្តែអាស្រ័យលើករណីប្រើប្រាស់របស់អ្នក ការធ្វើបច្ចុប្បន្នភាពខឺណែលអាចផ្តល់នូវដំណើរការប្រសើរឡើង។ ការទាញយកប្រភពក៏អនុញ្ញាតឱ្យអ្នកបើក / បិទមុខងារជាក់លាក់មុនពេលបង្កើតខឺណែល។
5.7 ការកំណត់ប្រព័ន្ធប្រតិបត្តិការ/ខឺណែល។
ពិគ្រោះជាមួយមគ្គុទ្ទេសក៍ការលៃតម្រូវប្រព័ន្ធប្រតិបត្តិការ ដូចជា Red Hat Enterprise Linux Network Performance Tuning Guide សម្រាប់ការយល់ដឹងបន្ថែមអំពីការលៃតម្រូវប្រព័ន្ធប្រតិបត្តិការទូទៅ។
ប៉ារ៉ាម៉ែត្រទូទៅមួយចំនួនសម្រាប់សម្រួលត្រូវបានរាយក្នុងតារាងខាងក្រោម។ ចំណាំថាទាំងនេះគ្រាន់តែជាចំណុចចាប់ផ្តើមដែលបានណែនាំប៉ុណ្ណោះ ហើយការផ្លាស់ប្តូរពួកវាពីលំនាំដើមអាចបង្កើនធនធានដែលបានប្រើនៅលើប្រព័ន្ធ។ ទោះបីជាការបង្កើនតម្លៃអាចជួយកែលម្អការអនុវត្តក៏ដោយ វាចាំបាច់ក្នុងការពិសោធន៍ជាមួយតម្លៃផ្សេងៗគ្នាដើម្បីកំណត់ថាអ្វីដែលដំណើរការល្អបំផុតសម្រាប់ប្រព័ន្ធ បន្ទុកការងារ និងប្រភេទចរាចរណ៍ដែលបានផ្តល់ឱ្យ។
ប៉ារ៉ាម៉ែត្រខឺណែលអាចកំណត់រចនាសម្ព័ន្ធបានដោយប្រើឧបករណ៍ប្រើប្រាស់ sysctl នៅក្នុងលីនុច ដូចដែលបានបង្ហាញខាងក្រោម។
ទៅ view តម្លៃលំនាំដើមសម្រាប់ rmem និង wmem នៅលើប្រព័ន្ធ៖
sysctl net.core.rmem_default
sysctl net.core.wmem_default
កំណត់តម្លៃអតិបរមា (16 MB)៖
sysctl -w net.core.rmem_max=16777216
sysctl -w net.core.wmem_max=16777216
ទំហំសតិបណ្ដោះអាសន្នរន្ធ ត្រូវបានគេស្គាល់ផងដែរថាជា ទទួលសតិបណ្ដោះអាសន្ន (rmem) និងបញ្ជូនសតិបណ្ដោះអាសន្ន (wmem) គឺជាប៉ារ៉ាម៉ែត្រប្រព័ន្ធដែលបញ្ជាក់បរិមាណអង្គចងចាំដែលបានបម្រុងទុកសម្រាប់ចរាចរបណ្តាញចូល និងចេញ។
ការដំណើរការ sysctl ដោយគ្មានអាគុយម៉ង់ -w រាយប៉ារ៉ាម៉ែត្រជាមួយនឹងការកំណត់បច្ចុប្បន្នរបស់វា។

ការកំណត់ជង់ ការពិពណ៌នា
net.core.rmem_default ទំហំបង្អួចទទួលលំនាំដើម
net.core.wmem_default ទំហំបង្អួចបញ្ជូនលំនាំដើម
net.core.rmem_max ទំហំបង្អួចទទួលអតិបរមា
net.core.wmem_max ទំហំបង្អួចបញ្ជូនអតិបរមា
net.core.optmem_max ជម្រើសអតិបរមា សតិបណ្តោះអាសន្ន
net.core.netdev_max_backlog Backlog នៃកញ្ចប់ព័ត៌មានដែលមិនបានដំណើរការ មុនពេលខឺណែលចាប់ផ្តើមទម្លាក់
net.ipv4.tcp_rmem ឧបករណ៍បំរុងអង្គចងចាំសម្រាប់ TCP អានសតិបណ្ដោះអាសន្ន
net.ipv4.tcp_wmem ឧបករណ៍បំរុងអង្គចងចាំសម្រាប់ TCP បញ្ជូនសតិបណ្ដោះអាសន្ន

ខឺណែល ជង់បណ្តាញ ឧបករណ៍ដោះស្រាយអង្គចងចាំ ល្បឿនស៊ីភីយូ និងប៉ារ៉ាម៉ែត្រគ្រប់គ្រងថាមពលអាចមានឥទ្ធិពលយ៉ាងខ្លាំងលើដំណើរការបណ្តាញ។ អនុសាសន៍ទូទៅមួយគឺត្រូវអនុវត្តចំពោះបណ្តាញតាមរយៈបណ្តាញគាំទ្រfile ដោយប្រើពាក្យបញ្ជាដែលបានកែសម្រួល។ វាកែប្រែការកំណត់ប្រព័ន្ធប្រតិបត្តិការមួយចំនួន ដើម្បីផ្តល់នូវចំណូលចិត្តដល់កម្មវិធីបណ្តាញ។
ពិនិត្យ៖
tuned-adm សកម្ម
កំណត់៖
tuned-adm profile បណ្តាញឆ្លងកាត់
5.8 កំណត់ហេតុឧបករណ៍បណ្តាញ
លក្ខណៈពិសេសនេះជួយកែលម្អដំណើរការបណ្តាញដោយការគ្រប់គ្រងចរាចរចូលប្រកបដោយប្រសិទ្ធភាព កាត់បន្ថយការបាត់បង់កញ្ចប់ព័ត៌មាន កាត់បន្ថយភាពយឺតយ៉ាវ និងជំរុញលំហូរចូល។ នេះនាំឱ្យមានបទពិសោធន៍អ្នកប្រើប្រាស់កាន់តែប្រសើរ និងការឆ្លើយតបរបស់ប្រព័ន្ធលឿនជាងមុន។
តាមលំនាំដើម វាត្រូវបានបើកនៅក្នុងប្រព័ន្ធប្រតិបត្តិការលីនុចភាគច្រើន។ ដើម្បីពិនិត្យមើលតម្លៃលំនាំដើម៖
sysctl net.core.netdev_max_backlog
តម្លៃអតិបរមាសម្រាប់ netdev_max_backlog អាចប្រែប្រួលអាស្រ័យលើកត្តាដូចជា កំណែខឺណែល ផ្នែករឹង អង្គចងចាំ និងបន្ទុកការងារ។ ក្នុងករណីជាច្រើន 8192 ត្រូវបានគេមើលឃើញថាជាតម្លៃដ៏ល្អ។ sysctl -w net.core.netdev_max_backlog=8192
5.9 ការកំណត់រចនាសម្ព័ន្ធជាក់លាក់នៃវេទិកា និងការលៃតម្រូវ
5.9.1 ជំនាន់ទី 4 Intel® Xeon® ដំណើរការដែលអាចធ្វើមាត្រដ្ឋានបាន។

ការគ្រប់គ្រងថាមពលរបស់ Intel® 4th Generation Intel® Xeon® Scalable processors គឺខ្លាំងក្លាខ្លាំងបើប្រៀបធៀបទៅនឹង 3rd Generation Intel® Xeon® Scalable processors។ ដើម្បីជៀសវាងស្នូលពីការចូលទៅក្នុងរដ្ឋដែលមានថាមពលទាប សូមព្យាយាមកាត់បន្ថយចំនួនស្នូលដែលកំពុងប្រើប្រាស់ ដើម្បីរក្សាឱ្យពួកវាភ្ញាក់បានយូរ។
ការកំណត់ Bios ដែលបានណែនាំសម្រាប់ដំណើរការខ្ពស់បំផុត

  1. បើក/បិទដំណើរការ Hyper-threading (ផ្អែកលើតម្រូវការការងារ និងគោលដៅដំណើរការ) នៅលើ CPU ។
  2. កំណត់ប្រព័ន្ធគាំទ្រfile ទៅការអនុវត្តសម្រាប់ការអនុវត្តអតិបរមា។
    ចំណាំ
    នេះនាំឱ្យមានការប្រើប្រាស់ថាមពលខ្ពស់ជាង
  3. កំណត់ការគ្រប់គ្រងថាមពលស៊ីភីយូទៅជាការអនុវត្តអតិបរមា ដើម្បីផ្តល់អាទិភាពដល់ដំណើរការស៊ីភីយូអតិបរមាលើប្រសិទ្ធភាពថាមពល។
  4. បើកដំណើរការ Turbo Boost ។ ការបិទដំណើរការ Turbo Boost នៅក្នុងការកំណត់ប្រព័ន្ធ BIOS ជាធម្មតារារាំង CPU ពីការបង្កើនល្បឿននាឡិការបស់វាលើសពីប្រេកង់មូលដ្ឋានរបស់វា។
  5. ចំណាំ
    ការបិទដំណើរការ Turbo Boost អាចមានលក្ខណៈសមរម្យសម្រាប់ករណីប្រើប្រាស់មួយចំនួន ដែលការអនុវត្តជាប់លាប់ ប្រសិទ្ធភាពថាមពល ឬការគ្រប់គ្រងកម្ដៅត្រូវបានផ្តល់អាទិភាពលើដំណើរការអតិបរមា។
  6. បិទមុខងារ Single Root I/O Virtualization (SR-IOV) ប្រសិនបើប្រព័ន្ធមិនប្រើប្រាស់បច្ចេកវិទ្យានិម្មិត។
  7. បិទ C-states ដើម្បីណែនាំ CPU ឱ្យនៅសកម្ម និងការពារការចូលទៅក្នុងស្ថានភាពទំនេរកាន់តែជ្រៅ។
  8. បិទ C1E ដើម្បីធានាថា CPU នៅតែសកម្ម ហើយមិនចូលក្នុងស្ថានភាពទំនេរ C1E ទេ។
  9. កំណត់ប្រេកង់ uncore ដល់អតិបរមា ដើម្បីណែនាំប្រព័ន្ធឱ្យដំណើរការនៅប្រេកង់ខ្ពស់បំផុតដែលមាន។
  10. នៅលើវេទិកា Dell កំណត់ការត្រាប់តាមស្នូល APIC Description Table (MADT) ច្រើនទៅលីនេអ៊ែរ (ឬ Round-Robin អាស្រ័យលើ BIOS) ដើម្បីផ្តល់នូវផែនទីស៊ីភីយូច្បាស់លាស់ និងអាចព្យាករណ៍បាន។

ការលៃតម្រូវកម្រិតប្រព័ន្ធប្រតិបត្តិការដែលបានណែនាំសម្រាប់ដំណើរការល្អប្រសើរ

  1. កំណត់អភិបាល​ការ​ធ្វើ​មាត្រដ្ឋាន​ប្រេកង់​ស៊ីភីយូ​ទៅនឹង​ដំណើរការ។ cpupower frequency-set -g performance cpupower frequency-info
  2. បិទ C-States ។ cpupower idle-set -D0
  3. កំណត់ស្នូល Rx (rmem) និង Tx (wmem) buffers ទៅតម្លៃអតិបរមា។ sysctl -w net.core.rmem_max=16777216 sysctl -w net.core.wmem_max=16777216
  4. កំណត់កំណត់ហេតុឧបករណ៍បណ្តាញ។ sysctl -w net.core.netdev_max_backlog=8192
  5. កំណត់ការលៃតម្រូវfile (បន្ទុកការងារអាស្រ័យលើការបញ្ជូន/ភាពយឺតយ៉ាវ)។
    tuned-adm profile បណ្តាញឆ្លងកាត់

ការលៃតម្រូវកម្រិតអាដាប់ទ័រដែលបានណែនាំសម្រាប់ដំណើរការល្អប្រសើរបំផុត។

  1. កំណត់ចំនួនជួរដែលត្រូវប្រើសម្រាប់ចរាចរណ៍កម្មវិធី។ ប្រើចំនួនអប្បបរមានៃជួរដែលត្រូវការ ដើម្បីរក្សាស្នូលស៊ីភីយូដែលជាប់ទាក់ទងឱ្យសកម្ម ដើម្បីការពារពួកវាពីការចូលទៅក្នុងស្ថានភាពទំនេរកាន់តែជ្រៅ (កែតម្រូវសម្រាប់បន្ទុកការងារ): ethtool -L រួម ៣២
  2. កំណត់អត្រាការសម្របសម្រួលរំខាន។ ethtool -C adaptive-rx បិទ adaptive-tx បិទ rx-usecs-high 50 rx-usecs 50 tx-usecs 50
    សាកល្បងកែសម្រួលកម្មវិធីកំណត់ពេលបញ្ជូន/ទទួល/ការបង្រួបបង្រួមអាទិភាពខ្ពស់ខ្ពស់ជាង (80/100/150/200) ឬទាបជាង (25/20/10/5) ដើម្បីស្វែងរកតម្លៃដ៏ប្រសើរសម្រាប់បន្ទុកការងារ។
  3. កំណត់ទំហំចិញ្ចៀន Rx/Tx ។ ethtool -G rx 4096 tx 4096
    ចំណាំ
    ប្រសិនបើអ្នកឃើញកញ្ចប់ព័ត៌មាន Rx ធ្លាក់ចុះជាមួយ ethtool -S| grep drop សូមព្យាយាមកាត់បន្ថយទំហំចិញ្ចៀនមក <4096។ ព្យាយាមស្វែងរកតម្លៃល្អបំផុតសម្រាប់បន្ទុកការងារ ដែលកញ្ចប់ព័ត៌មានមិនត្រូវបានទម្លាក់។
  4. កំណត់ IRQ Affinity ។ ប្រើស្នូលស្នូលទៅ NIC ឬការគូសផែនទីស្នូលជាក់លាក់ (ដែល # ស្នូលស្មើនឹងចំនួនជួរដែលបានកំណត់ក្នុង 1 នៅលើទំព័រ 26 ។ systemctl បញ្ឈប់ irqbalance set_irq_affinity -X មូលដ្ឋាន ឬ set_irq_affinity -X

5.9.2 AMD EPYC
អង្គដំណើរការ AMD EPYC គឺជាស៊ីភីយូដ៏មានអានុភាពដែលបង្កើតឡើងសម្រាប់ម៉ាស៊ីនមេ និងមជ្ឈមណ្ឌលទិន្នន័យ ដែលបង្កើតឡើងនៅលើស្ថាបត្យកម្ម Zen របស់ AMD ។ ការកំណត់ខាងក្រោមគឺមកពីស៊េរី EPYC ជំនាន់ទី 4 របស់ AMD ។
ការកំណត់ BIOS ដែលបានណែនាំសម្រាប់ដំណើរការខ្ពស់បំផុត

  1. បើកមុខងារផ្ទាល់ខ្លួន ដើម្បីអនុញ្ញាតឱ្យអ្នកប្រើកែតម្រូវដំណើរការស៊ីភីយូ ការប្រើប្រាស់ថាមពល និងការកំណត់ផ្សេងទៀត។ នេះជួយក្នុងការកែសម្រួលប្រព័ន្ធសម្រាប់តុល្យភាពល្អបំផុតរវាងការអនុវត្ត និងប្រសិទ្ធភាពថាមពល។
  2. បើកដំណើរការការជំរុញដំណើរការស្នូល ដើម្បីអនុញ្ញាតឱ្យស៊ីភីយូបង្កើនល្បឿនដោយស្វ័យប្រវត្តិ ដើម្បីដោះស្រាយកិច្ចការដែលពឹងផ្អែកខ្លាំងជាងមុន ធ្វើឱ្យដំណើរការទាំងមូលប្រសើរឡើង។
  3. បិទការគ្រប់គ្រងរដ្ឋ C សកល ដើម្បីការពារ CPU ពីការចូលទៅក្នុងរដ្ឋសន្សំថាមពលកាន់តែជ្រៅដែលគេស្គាល់ថា C-states ដែលអាចរក្សាការឆ្លើយតប។
    ចំណាំ
    ការបិទ C-states អាចបណ្តាលឱ្យមានការប្រើប្រាស់ថាមពលបន្ថែម និងបង្កើនសីតុណ្ហភាពកម្ដៅ។ ត្រួតពិនិត្យទាំងពីរសម្រាប់បន្ទុកការងារ។
  4. បើក/បិទដំណើរការ Simultaneous Multithreading (SMT) នៅលើ CPU ដោយផ្អែកលើតម្រូវការការងារ និងគោលដៅនៃការអនុវត្ត។ SMT គឺស្មើនឹង Hyper Threading នៅលើ CPU Intel ។
    ចំណាំ
    សម្រាប់ដំណើរការដែលប្រសើរឡើង សូមមើលការកំណត់កម្មវិធីបញ្ជា Tuning i40e នៅទំព័រ 13 និងការលៃតម្រូវវេទិកា (i40e មិនជាក់លាក់) នៅទំព័រ 19 សម្រាប់ការលៃតម្រូវកម្រិតប្រព័ន្ធប្រតិបត្តិការ និងអាដាប់ទ័រដែលបានណែនាំ។

ការភ្ជាប់អាដាប់ធ័រ

ការភ្ជាប់លីនុចគឺជាមុខងារដ៏មានអានុភាពដែលអាចធ្វើឱ្យប្រសើរឡើងយ៉ាងខ្លាំងនូវដំណើរការបណ្តាញ ការលែងត្រូវការតទៅទៀត និងការអត់ធ្មត់ចំពោះកំហុសនៅក្នុងបរិស្ថានម៉ាស៊ីនមេ។ ទោះជាយ៉ាងណាក៏ដោយ វាជាការសំខាន់ក្នុងការកត់សម្គាល់ថាវាទាមទារផ្នែករឹងបណ្តាញដែលត្រូវគ្នា និងការកំណត់រចនាសម្ព័ន្ធត្រឹមត្រូវទាំងនៅលើម៉ាស៊ីនមេ និងកុងតាក់ដើម្បីដំណើរការបានត្រឹមត្រូវ។
កម្មវិធីបញ្ជាទំនាក់ទំនងនៅក្នុងលីនុចអនុញ្ញាតឱ្យអ្នកប្រមូលផ្តុំចំណុចប្រទាក់បណ្តាញរូបវន្តជាច្រើនចូលទៅក្នុងចំណុចប្រទាក់ដែលបានភ្ជាប់។ ចំណុចប្រទាក់ដែលបានភ្ជាប់នេះលេចឡើងជាចំណុចប្រទាក់បណ្តាញនិម្មិតតែមួយចំពោះប្រព័ន្ធប្រតិបត្តិការ និងកម្មវិធី។
ចំណាំ
ចំណងគឺជាចំណុចប្រទាក់ឡូជីខល ដូច្នេះវាមិនអាចធ្វើទៅបានដើម្បីកំណត់ទំនាក់ទំនងស៊ីភីយូដោយផ្ទាល់នៅលើចំណុចប្រទាក់ចំណង (សម្រាប់អតីតample, bond0) ។ នោះ​គឺ​វា​មិន​មាន​ការ​គ្រប់​គ្រង​ដោយ​ផ្ទាល់​លើ​ការ​គ្រប់គ្រង​ការ​រំខាន ឬ​ភាព​ស៊ីភីយូ​ទេ។ ភាពស្និទ្ធស្នាលរបស់ CPU ត្រូវតែកំណត់រចនាសម្ព័ន្ធសម្រាប់ចំណុចប្រទាក់មូលដ្ឋានដែលជាផ្នែកមួយនៃចំណង។
Bonding ផ្តល់នូវរបៀបជាច្រើននៃប្រតិបត្តិការ ដែលនីមួយៗមានលក្ខណៈផ្ទាល់ខ្លួនរបស់វា។

របៀប  ប្រភេទ
0 ជុំរ៉ូប៊ីន
1 ការបម្រុងទុកសកម្ម
2 XOR
3 ផ្សាយ
4 LACP
5 បញ្ជូនសមតុល្យផ្ទុក
6 សមតុល្យផ្ទុកអាដាប់ធ័រ

មានវិធីសាស្រ្តផ្សេងគ្នាដើម្បីបង្កើតចំណងនៅក្នុងលីនុច។ វិធីសាស្រ្តមួយក្នុងចំណោមវិធីសាស្រ្តទូទៅបំផុតគឺដោយប្រើការកំណត់រចនាសម្ព័ន្ធបណ្តាញ files (សម្រាប់ឧample, /etc/network/ interfaces ឬ /etc/sysconfig/network-scripts/ifcfg-bondX)។
ការកំណត់រចនាសម្ព័ន្ធដោយប្រើការកំណត់បណ្តាញ Files
ជំហានខាងក្រោមបង្កើតការភ្ជាប់តាមរយៈការកំណត់រចនាសម្ព័ន្ធបណ្តាញ files.

  1. ជ្រើសរើសច្រក NIC ពីរ ឬច្រើនសម្រាប់ការភ្ជាប់ (សម្រាប់ឧample, ethX និង ethY)
  2. បើកការកំណត់រចនាសម្ព័ន្ធ NIC Files នៅក្រោម /etc/sysconfig/network-scripts/ សម្រាប់ចំណុចប្រទាក់ NIC ដែលត្រូវការ (សម្រាប់ example, vi ifcfg-ethX និង vi ifcfg-ethY) ហើយបន្ថែមអត្ថបទខាងក្រោម៖
    MASTER=bondN [ចំណាំ៖ N គឺជាចំនួនគត់ដែលនិយាយអំពីលេខមូលបត្របំណុល។] SLAVE=yes
  3. បង្កើតស្គ្រីបបណ្តាញទំនាក់ទំនង file ដោយប្រើ vi /etc/sysconfig/networkscripts/ifcfg-bondN ហើយបញ្ចូលអត្ថបទខាងក្រោម៖
    DEVICE=bondN [ចំណាំ៖ N គឺជាចំនួនគត់ដែលនិយាយអំពីលេខចំណង] ONBOOT=បាទ/ចាស USERCTL=គ្មាន BOOTPROTO=dhcp (ឬ) គ្មាន
    IPADDR=200.20.2.4 [តម្រូវ​ឱ្យ​មាន​ប្រសិន​បើ BOOTPROTO=none] NETMASK=255.255.255.0 [តម្រូវ​ឱ្យ​មាន​ប្រសិន​បើ BOOTPROTO=none] NETWORK=200.20.2.0 [តម្រូវ​ឱ្យ​មាន​ប្រសិន​បើ BOOTPROTO=none] BROADCAST.200.20.2.255 BOOTPROTO=none] BONDING_OPTS=”mode=1 miimon=100″
    ចំណាំ
    របៀបអាចជាចំនួនគត់ពី 0 ដល់ 6 ដោយផ្អែកលើតម្រូវការ។
  4. ចាប់ផ្តើមសេវាកម្មបណ្តាញឡើងវិញដោយប្រើសេវាចាប់ផ្តើមបណ្តាញឡើងវិញ ឬ systemctl ចាប់ផ្តើម NetworkManager.service ឡើងវិញ

ការដោះស្រាយបញ្ហាការអនុវត្ត

7.1 ការប្រើប្រាស់ស៊ីភីយូ
ពិនិត្យមើលការប្រើប្រាស់ស៊ីភីយូក្នុងមួយស្នូល ខណៈពេលដែលបន្ទុកការងារកំពុងដំណើរការ។
ចំណាំថាការប្រើប្រាស់ក្នុងមួយស្នូលគឺពាក់ព័ន្ធនឹងការអនុវត្តច្រើនជាងការប្រើប្រាស់ស៊ីភីយូទាំងមូល ចាប់តាំងពីវាផ្តល់នូវគំនិតនៃការប្រើប្រាស់ស៊ីភីយូក្នុងមួយជួរបណ្តាញ។ ប្រសិនបើអ្នកមានខ្សែស្រឡាយមួយចំនួនដែលដំណើរការចរាចរបណ្តាញ នោះអ្នកប្រហែលជាមានស្នូលមួយចំនួនប៉ុណ្ណោះដែលត្រូវបានប្រើប្រាស់។ ទោះយ៉ាងណាក៏ដោយ ប្រសិនបើស្នូលទាំងនោះនៅ 100% នោះការបញ្ជូនបណ្តាញរបស់អ្នកទំនងជាត្រូវបានកំណត់ដោយការប្រើប្រាស់ស៊ីភីយូ ហើយវាដល់ពេលដែលត្រូវអនុវត្តដូចខាងក្រោម៖

  1. លៃតម្រូវការសម្របសម្រួល/ទំហំចិញ្ចៀន IRQ ដូចដែលបានរៀបរាប់លម្អិតនៅក្នុងការសម្របសម្រួលរំខាន។
  2. បង្កើនចំនួនខ្សែស្រឡាយកម្មវិធី ដើម្បីចែកចាយបន្ទុកស៊ីភីយូលើស្នូលបន្ថែមទៀត។ ប្រសិនបើស្នូលទាំងអស់ដំណើរការនៅ 100% នោះកម្មវិធីរបស់អ្នកអាចត្រូវបានចង CPU ជាជាងភ្ជាប់បណ្តាញ។

ឧបករណ៍ដែលអាចប្រើបានជាទូទៅ៖

  • កំពូល
    - ចុច 1 ដើម្បីពង្រីកបញ្ជីស៊ីភីយូ ហើយពិនិត្យមើលថាតើមួយណាកំពុងត្រូវបានប្រើប្រាស់។
    - សម្គាល់កម្រិតនៃការប្រើប្រាស់។
    - សម្គាល់ដំណើរការណាមួយដែលត្រូវបានរាយបញ្ជីថាសកម្មបំផុត (កំពូលនៃបញ្ជី)។
  • mpstat
    ខាងក្រោមនេះ example បន្ទាត់ពាក្យបញ្ជាត្រូវបានសាកល្បងនៅលើ Red Hat Enterprise Linux 7.x ។
    វាបង្ហាញការប្រើប្រាស់ស៊ីភីយូក្នុងមួយស្នូល (ដោយការស្វែងរកភាគរយសរុបដែលទំនេរ និងដកពី 100) ហើយរំលេចតម្លៃខាងលើ 80% ជាពណ៌ក្រហម។ mpstat -P ALL 1 1 | grep -v មធ្យម | កន្ទុយ -n +5 | ក្បាល -n -1 | awk '{ print (100-$13)}' | egrep -color=always '[^\.][8-9][0-9][\.]?.*|^[8-9][0-9][\.]?.*| 100|' | ជួរឈរ
  • perf top រកមើលកន្លែងដែលវដ្តកំពុងត្រូវបានចំណាយ។

បញ្ជរ 7.2 i40e
កម្មវិធីបញ្ជា i40e ផ្តល់នូវបញ្ជីរាប់វែងសម្រាប់ការបំបាត់កំហុសចំណុចប្រទាក់ និងការត្រួតពិនិត្យតាមរយៈពាក្យបញ្ជា ethtool -S ethX ។ វាអាចមានប្រយោជន៍ក្នុងការមើលលទ្ធផលខណៈពេលដែលបន្ទុកការងារកំពុងដំណើរការ និង/ឬប្រៀបធៀបតម្លៃរាប់មុន និងក្រោយពេលដំណើរការបន្ទុកការងារ។

  • ដើម្បីទទួលបានការបោះចោលពេញលេញនៃបញ្ជរ i40e៖ ethtool -S ethX
  • ដើម្បីមើលគ្រាន់តែរាប់មិនសូន្យ៖ មើល -d (ethtool -S ethX) | egreg -v :\ 0 | ជួរឈរ
    រឿងមួយចំនួនដែលត្រូវរកមើល៖
  • rx_dropped មានន័យថា CPU មិនដំណើរការ buffers លឿនគ្រប់គ្រាន់ទេ។
  • port.rx_dropped មានន័យថាមានអ្វីមួយមិនលឿនគ្រប់គ្រាន់នៅក្នុងប្រព័ន្ធ slot/memory/។

7.3 បណ្តាញរាប់
ពិនិត្យ netstat -s មុន/បន្ទាប់ពីការដំណើរការបន្ទុកការងារ។
Netstat ប្រមូលព័ត៌មានបណ្តាញពីឧបករណ៍បណ្តាញទាំងអស់នៅក្នុងប្រព័ន្ធ។ ដូច្នេះ លទ្ធផល​អាច​នឹង​ត្រូវ​បាន​ប៉ះពាល់​ពី​បណ្តាញ​ផ្សេង​ទៀត​ក្រៅ​ពី​បណ្តាញ​ដែល​ស្ថិត​ក្រោម​ការ​សាកល្បង។ លទ្ធផលពី netstat -s អាចជាសូចនាករដ៏ល្អនៃបញ្ហាដំណើរការនៅក្នុងប្រព័ន្ធប្រតិបត្តិការលីនុច ឬខឺណែល។ ពិគ្រោះជាមួយមគ្គុទ្ទេសក៍ការលៃតម្រូវប្រព័ន្ធប្រតិបត្តិការ ដូចជា Red Hat Enterprise Linux Network Performance Tuning Guide សម្រាប់ការយល់ដឹងបន្ថែមអំពីការលៃតម្រូវប្រព័ន្ធប្រតិបត្តិការទូទៅ។
7.4 កំណត់ហេតុប្រព័ន្ធ
ពិនិត្យមើលកំណត់ហេតុប្រព័ន្ធសម្រាប់កំហុស និងការព្រមាន (/var/log/messages, dmesg)។
7.5 ឧបករណ៍ព័ត៌មាន Intel svr-info
Intel ផ្តល់ឧបករណ៍ svr-info (សូមមើល https://github.com/intel/svr-info) សម្រាប់លីនុច ដែលចាប់យកព័ត៌មានលម្អិតផ្នែករឹង និងផ្នែកទន់ដែលពាក់ព័ន្ធពីម៉ាស៊ីនមេ។ លទ្ធផល svr-info អាចមានប្រយោជន៍ខ្លាំងណាស់ក្នុងការកំណត់អត្តសញ្ញាណបញ្ហាស្ទះនៃប្រព័ន្ធ ឬការកំណត់/ការលៃតម្រូវដែលមិនត្រូវបានធ្វើឱ្យប្រសើរសម្រាប់បន្ទុកការងារ។ នៅពេលបើកករណីជំនួយជាមួយ Intel សម្រាប់បញ្ហាដំណើរការដែលទាក់ទងនឹងអ៊ីសឺរណិត ត្រូវប្រាកដថារួមបញ្ចូលលទ្ធផល svr-info (អត្ថបទ file) សម្រាប់ម៉ាស៊ីនមេលីនុចនីមួយៗក្នុងការកំណត់រចនាសម្ព័ន្ធសាកល្បង។

  1. ទាញយក និងដំឡើង svr-info:
    wget -qO- https://github.com/intel/svr-info/releases/latest/download/svrinfo.tgz| tar xvz cd svr-info
    ./svr-info
    > hostname.txt
  2. ប្រមូលទិន្នផល៖
    ./svr-info > hostname.txt
  3. ភ្ជាប់អត្ថបទមួយ (.txt) file សម្រាប់ម៉ាស៊ីនមេនីមួយៗចំពោះករណីគាំទ្រ Intel របស់អ្នកសម្រាប់ការវិភាគ។

ការណែនាំសម្រាប់សេណារីយ៉ូការអនុវត្តទូទៅ

8.1 ការបញ្ជូនបន្ត IP

  • ធ្វើបច្ចុប្បន្នភាពខឺណែល។
    ខឺណែល in-distro ថ្មីៗមួយចំនួនបានធ្វើឱ្យដំណើរការផ្លូវចុះអន់ថយ ដោយសារការផ្លាស់ប្តូរខឺណែលនៅក្នុងលេខកូដផ្លូវដែលចាប់ផ្តើមជាមួយនឹងការយកចេញនៃឃ្លាំងសម្ងាត់ផ្លូវចេញដោយសារតែសុវត្ថិភាព។ ខឺណែលដែលចេញពីការចែកចាយថ្មីៗគួរតែមានបំណះដែលកាត់បន្ថយផលប៉ះពាល់នៃដំណើរការនៃការផ្លាស់ប្តូរទាំងនេះ ហើយអាចផ្តល់នូវការធ្វើឱ្យប្រសើរឡើងនូវដំណើរការ។
  • បិទដំណើរការ hyper-threading (ស្នូលឡូជីខល) ។
  • កែសម្រួលប៉ារ៉ាម៉ែត្រចាប់ផ្ដើមខឺណែល។
    - បង្ខំ iommu បិទ (intel_iommu=off ឬ iommu=off) ពីបន្ទាត់ចាប់ផ្ដើមខឺណែល លុះត្រាតែត្រូវការសម្រាប់និម្មិត
    - បិទការគ្រប់គ្រងថាមពល៖ processor.max_cstates=1 idle=poll pcie_aspm=off
  • កំណត់ចំនួននៃជួរឱ្យស្មើនឹងចំនួនស្នូលនៅលើរន្ធមូលដ្ឋាន (12 នៅក្នុង ex នេះampលេ) ethtool -L ethX រួមបញ្ចូលគ្នា ១២
  • ខ្ទាស់រំខានទៅរន្ធមូលដ្ឋានតែប៉ុណ្ណោះ។ set_irq_affinity -X local ethX OR set_irq_affinity -X local ethX
    ចំណាំ
    -X ឬ -x អាចប្រើបានអាស្រ័យលើបន្ទុកការងារ។
  • ផ្លាស់ប្តូរទំហំចិញ្ចៀន Tx និង Rx តាមតម្រូវការ។ តម្លៃធំជាងត្រូវការធនធានច្រើន ប៉ុន្តែអាចផ្តល់អត្រាបញ្ជូនបន្តកាន់តែប្រសើរ។ ethtool -G ethX rx 4096 tx 4096
  • បិទ GRO ពេល​កំណត់​ផ្លូវ។
    ដោយសារបញ្ហាខឺណែលដែលគេស្គាល់ GRO ត្រូវតែបិទនៅពេលបញ្ជូន/បញ្ជូនបន្ត។ ethtool -K ethX gro off ដែល ethX គឺជាចំណុចប្រទាក់អ៊ីសឺរណិតដែលត្រូវកែប្រែ។
  • បិទការសម្របសម្រួលការរំខានដោយអាដាប់ធ័រ និងកំណត់តម្លៃឋិតិវន្ត។ ethtool -C ethX adaptive-rx បិទ adaptive-tx បិទ ethtool -C ethX rx-usecs 64 tx-usecs 64

ចំណាំ
អាស្រ័យលើប្រភេទនៃដំណើរការ និងបន្ទុកការងារ ប៉ារ៉ាម៉ែត្រនៃការបង្រួបបង្រួមសម្រាប់ RX និង TX អាចត្រូវបានកែតម្រូវសម្រាប់ដំណើរការប្រសើរឡើង (ឬការបាត់បង់ស៊ុមតិចជាង) ។

  • បិទជញ្ជាំងភ្លើង។ sudo systemctl បិទ firewalld sudo systemctl បញ្ឈប់ firewalld
  • បើកការបញ្ជូនបន្ត IP ។ sysctl -w net.ipv4.ip_forward=1
  • កំណត់រចនាសម្ព័ន្ធតម្លៃអតិបរមាសម្រាប់ទំហំសតិបណ្ដោះអាសន្នរន្ធទទួល និងផ្ញើ។ sysctl -w net.core.rmem_max=16777216 sysctl -w net.core.wmem_max=16777216

ចំណាំ
អាស្រ័យលើបន្ទុកការងារ ឬតម្រូវការ តម្លៃទាំងនេះអាចត្រូវបានផ្លាស់ប្តូរពីលំនាំដើម។
8.2 ភាពយឺតយ៉ាវទាប

  • បិទ Hyper-threading (ស្នូលឡូជីខល) ។
  • ត្រូវប្រាកដថាឧបករណ៍បណ្តាញមានមូលដ្ឋានដល់លេខ 0 ។
  • ខ្ទាស់គោលគោលទៅស្នូល 0 ដោយប្រើសំណុំកិច្ចការ -c 0 ។
  • បិទ irqbalance ដោយប្រើ systemctl បញ្ឈប់ irqbalance ឬ systemctl បិទ irqbalance
  • ដំណើរការស្គ្រីប affinity ដើម្បីផ្សព្វផ្សាយតាមស្នូល។ សាកល្បងទាំងក្នុងស្រុក ឬទាំងអស់។
  • បិទការសម្របសម្រួលរំខាន។ ethtool -C ethX rx-usecs 0 tx-usecs 0 adaptive-rx off adaptive-tx off rxusecs- ខ្ពស់ 0
  • កំណត់ចំនួនជួរឱ្យស្មើនឹងចំនួនស្នូលនៅលើរន្ធមូលដ្ឋាន (32 ក្នុងឧ។ampលេ) ethtool -L ethX រួមបញ្ចូលគ្នា ១២
  • ខ្ទាស់រំខានទៅរន្ធមូលដ្ឋានតែប៉ុណ្ណោះ (ស្គ្រីបដែលខ្ចប់ជាមួយប្រភពកម្មវិធីបញ្ជា i40e) ។ set_irq_affinity -X មូលដ្ឋាន ethX
  • ប្រើស្តង់ដារដែលបានបង្កើតឡើងដូចជា netperf -t TCP_RR, netperf -t UDP_RR ឬ NetPipe ។ netperf -t TCP_RR ឬ netperf -t UDP_RR
  • ខ្ទាស់គោលគោលទៅស្នូលតែមួយនៅក្នុងថ្នាំង NUMA មូលដ្ឋាន។ សំណុំ​កិច្ចការ -c

Intel ® Ethernet 700 ស៊េរី
មគ្គុទ្ទេសក៍លៃតម្រូវការអនុវត្តលីនុច
ខែធ្នូ ឆ្នាំ 2024
បណ្ឌិត លេខ៖ 334019, Rev.: 1.2

ឯកសារ/ធនធាន

Intel Ethernet 700 Series Tuning ដំណើរការលីនុច [pdf] ការណែនាំអ្នកប្រើប្រាស់
334019, Ethernet 700 Series Linux Performance Tuning, Ethernet 700 Series, Linux Performance Tuning, Performance Tuning, Tuning

ឯកសារយោង

ទុកមតិយោបល់

អាសយដ្ឋានអ៊ីមែលរបស់អ្នកនឹងមិនត្រូវបានផ្សព្វផ្សាយទេ។ វាលដែលត្រូវការត្រូវបានសម្គាល់ *