Intel ® 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 ឯកសារយោងដែលពាក់ព័ន្ធ
- មគ្គុទ្ទេសក៍អ្នកប្រើប្រាស់សម្រាប់អាដាប់ទ័រ និងឧបករណ៍ Intel ® Ethernet ទាំងអស់ ដែលគាំទ្រ Windows និង Linux៖
មគ្គុទ្ទេសក៍អ្នកប្រើប្រាស់ Intel ® Ethernet Adapters and Devices - ឯកសារបច្ចេកទេស៖
សន្លឹកទិន្នន័យ Intel ® Ethernet Controller X710/XXV710/XL710 - បំពេញកញ្ចប់ SW សម្រាប់ផលិតផល Intel ® Ethernet ទាំងអស់ (ទាញយកកម្មវិធីបញ្ជាទាំងអស់ NVMs ឧបករណ៍។ល។)៖
កញ្ចប់កម្មវិធីបញ្ជាពេញលេញរបស់ Intel ® Ethernet Adapter - កញ្ចប់អាប់ដេត NVM (អង្គចងចាំមិនប្រែប្រួល)៖
ឧបករណ៍ប្រើប្រាស់អាប់ដេតមិនងាយប្រែប្រួល (NVM) សម្រាប់ Intel ® Ethernet Network Adapter 700 Series - ឧបករណ៍ svr-info សម្រាប់លីនុច ដែលចាប់យកព័ត៌មានលម្អិតផ្នែករឹង និងផ្នែកទន់ដែលពាក់ព័ន្ធពីម៉ាស៊ីនមេ៖ https://github.com/intel/svr-info
- ការណែនាំអំពីបច្ចេកវិទ្យា DDP៖
ការណែនាំអំពីបច្ចេកវិទ្យា Intel ® Ethernet 700 Series Dynamic Device Personalization (DDP)
បញ្ជីពិនិត្យបឋម
2.1 ធ្វើបច្ចុប្បន្នភាពកំណែកម្មវិធីបញ្ជា/កម្មវិធីបង្កប់
ពិនិត្យកំណែកម្មវិធីបញ្ជា/កម្មវិធីបង្កប់ដោយប្រើ ethtool -i ethx ។
ធ្វើបច្ចុប្បន្នភាពដូចខាងក្រោមតាមតម្រូវការ៖
- ធ្វើបច្ចុប្បន្នភាពកម្មវិធីបញ្ជា i40e
http://sourceforge.net/projects/e1000/files/i40e%20stable/ or https:// downloadcenter.intel.com/ download/24411/Network-Adapter-Driver-for-PCI-E-40- Gigabit-Network-Connections-under-Linux - ធ្វើបច្ចុប្បន្នភាពកម្មវិធីបង្កប់
https://downloadcenter.intel.com/download/24769/NVM-Update-Utility-for-Intel- Ethernet-ConvergedNetwork-Adapter-XL710-X710-Series
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 ទាំងអស់គាំទ្រពួកវានោះទេ។
- ត្រូវប្រាកដថាអ្នកមានកម្មវិធីបញ្ជាចាំបាច់ និងការគាំទ្រផ្នែករឹង មុនពេលព្យាយាមកំណត់រចនាសម្ព័ន្ធជួរស៊ីមេទ្រី។
ដើម្បីកំណត់រចនាសម្ព័ន្ធជួរស៊ីមេទ្រី សូមអនុវត្តតាមជំហានទូទៅទាំងនេះ៖
- កែសម្រួលការកំណត់រចនាសម្ព័ន្ធចំណុចប្រទាក់បណ្តាញ File៖ ប្រើកម្មវិធីកែអត្ថបទ (សម្រាប់ឧample, vi, nano, ឬ gedit) ដើម្បីកែសម្រួលការកំណត់រចនាសម្ព័ន្ធចំណុចប្រទាក់បណ្តាញ file. នេះ។ file ជាធម្មតាមានទីតាំងនៅក្រោមថត /etc/sysconfig/network-scripts/ ហើយមានឈ្មោះដូចជា ifcfg-ethX ដែល ethX គឺជាឈ្មោះនៃចំណុចប្រទាក់បណ្តាញរបស់អ្នក។
- បន្ថែមប៉ារ៉ាម៉ែត្រជួរស៊ីមេទ្រី។ បន្ថែមបន្ទាត់ខាងក្រោមទៅការកំណត់រចនាសម្ព័ន្ធចំណុចប្រទាក់បណ្តាញ file៖ ETHTOOL_OPTS=”rx-queues 8 tx-queues 8″
- ចាប់ផ្តើមសេវាបណ្តាញឡើងវិញ។
បន្ទាប់ពីធ្វើការផ្លាស់ប្តូរ សូមចាប់ផ្តើមសេវាបណ្តាញឡើងវិញ ដើម្បីអនុវត្តការកំណត់រចនាសម្ព័ន្ធថ្មី។ 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)។
If your CPU is at 100%, then increasing the interrupt rate is not advised. In certain circumstances such as a CPU bound workload, you might want to increase the μs value to enable more CPU time for other applications.
ប្រសិនបើអ្នកត្រូវការដំណើរការ 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
ចំណាំ
To fix Rx packet drops found with ethtool -S ethX|grep drop, consider increasing the ring size to 4096. Experiment to find the best setting for the workload but watch out for excessive memory usage with higher values.
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
កំណត់ចំណាំ៖
- បិទដំណើរការ C-states នៅលើ CPU ប្រសិនបើ Server មាន Intel® 4th Gen Intel® Xeon® Scalable Processor(s)។ នៅពេលដែល Hyper Threading ត្រូវបានបើក ឬបិទ ការបិទស្ថានភាពទំនេរ (-D0) ការពារស្នូលពីការចូលទៅក្នុងស្ថានភាពថាមពលទាបក្នុងអំឡុងពេលទំនេរ និងកាត់បន្ថយភាពយឺតយ៉ាវសម្រាប់ CPU ដើម្បីផ្លាស់ប្តូររវាងស្ថានភាពទំនេរ និងសកម្ម។
- ការគ្រប់គ្រងថាមពលរបស់ 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 ការផ្លាស់ទីកម្មវិធីទៅថ្នាំងដែលមិនមែនជាមូលដ្ឋានផ្តល់អត្ថប្រយោជន៍។
Experiment with increasing the number of threads used by your application if possible.
5.6 កំណែខឺណែល
ខឺណែលក្នុងប្រអប់ទំនើបភាគច្រើនត្រូវបានធ្វើឱ្យប្រសើរឡើងដោយសមហេតុផលសម្រាប់ដំណើរការ ប៉ុន្តែអាស្រ័យលើករណីប្រើប្រាស់របស់អ្នក ការធ្វើបច្ចុប្បន្នភាពខឺណែលអាចផ្តល់នូវដំណើរការប្រសើរឡើង។ ការទាញយកប្រភពក៏អនុញ្ញាតឱ្យអ្នកបើក / បិទមុខងារជាក់លាក់មុនពេលបង្កើតខឺណែល។
5.7 ការកំណត់ប្រព័ន្ធប្រតិបត្តិការ/ខឺណែល។
ពិគ្រោះជាមួយមគ្គុទ្ទេសក៍ការលៃតម្រូវប្រព័ន្ធប្រតិបត្តិការ ដូចជា Red Hat Enterprise Linux Network Performance Tuning Guide សម្រាប់ការយល់ដឹងបន្ថែមអំពីការលៃតម្រូវប្រព័ន្ធប្រតិបត្តិការទូទៅ។
Some common parameters to tune are listed in the following table. Note that these are only suggested starting points, and changing them from the defaults might increase the resources used on the system. Though increasing the values can help improve performance, it is necessary to experiment with different values to determine what works best for a given system, workload and traffic type.
ប៉ារ៉ាម៉ែត្រខឺណែលអាចកំណត់រចនាសម្ព័ន្ធបានដោយប្រើឧបករណ៍ប្រើប្រាស់ 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 ដែលបានណែនាំសម្រាប់ដំណើរការខ្ពស់បំផុត
- បើក/បិទដំណើរការ Hyper-threading (ផ្អែកលើតម្រូវការការងារ និងគោលដៅដំណើរការ) នៅលើ CPU ។
- កំណត់ប្រព័ន្ធគាំទ្រfile ទៅការអនុវត្តសម្រាប់ការអនុវត្តអតិបរមា។
ចំណាំ
នេះនាំឱ្យមានការប្រើប្រាស់ថាមពលខ្ពស់ជាង - កំណត់ការគ្រប់គ្រងថាមពលស៊ីភីយូទៅជាការអនុវត្តអតិបរមា ដើម្បីផ្តល់អាទិភាពដល់ដំណើរការស៊ីភីយូអតិបរមាលើប្រសិទ្ធភាពថាមពល។
- Enable Turbo Boost. Disabling Turbo Boost in the system BIOS settings typically prevents the CPU from dynamically increasing its clock speed beyond its base frequency.
- ចំណាំ
ការបិទដំណើរការ Turbo Boost អាចមានលក្ខណៈសមរម្យសម្រាប់ករណីប្រើប្រាស់មួយចំនួន ដែលការអនុវត្តជាប់លាប់ ប្រសិទ្ធភាពថាមពល ឬការគ្រប់គ្រងកម្ដៅត្រូវបានផ្តល់អាទិភាពលើដំណើរការអតិបរមា។ - បិទមុខងារ Single Root I/O Virtualization (SR-IOV) ប្រសិនបើប្រព័ន្ធមិនប្រើប្រាស់បច្ចេកវិទ្យានិម្មិត។
- បិទ C-states ដើម្បីណែនាំ CPU ឱ្យនៅសកម្ម និងការពារការចូលទៅក្នុងស្ថានភាពទំនេរកាន់តែជ្រៅ។
- បិទ C1E ដើម្បីធានាថា CPU នៅតែសកម្ម ហើយមិនចូលក្នុងស្ថានភាពទំនេរ C1E ទេ។
- កំណត់ប្រេកង់ uncore ដល់អតិបរមា ដើម្បីណែនាំប្រព័ន្ធឱ្យដំណើរការនៅប្រេកង់ខ្ពស់បំផុតដែលមាន។
- នៅលើវេទិកា Dell កំណត់ការត្រាប់តាមស្នូល APIC Description Table (MADT) ច្រើនទៅលីនេអ៊ែរ (ឬ Round-Robin អាស្រ័យលើ BIOS) ដើម្បីផ្តល់នូវផែនទីស៊ីភីយូច្បាស់លាស់ និងអាចព្យាករណ៍បាន។
ការលៃតម្រូវកម្រិតប្រព័ន្ធប្រតិបត្តិការដែលបានណែនាំសម្រាប់ដំណើរការល្អប្រសើរ
- កំណត់អភិបាលការធ្វើមាត្រដ្ឋានប្រេកង់ស៊ីភីយូទៅនឹងដំណើរការ។ cpupower frequency-set -g performance cpupower frequency-info
- បិទ C-States ។ cpupower idle-set -D0
- កំណត់ស្នូល Rx (rmem) និង Tx (wmem) buffers ទៅតម្លៃអតិបរមា។ sysctl -w net.core.rmem_max=16777216 sysctl -w net.core.wmem_max=16777216
- កំណត់កំណត់ហេតុឧបករណ៍បណ្តាញ។ sysctl -w net.core.netdev_max_backlog=8192
- កំណត់ការលៃតម្រូវfile (បន្ទុកការងារអាស្រ័យលើការបញ្ជូន/ភាពយឺតយ៉ាវ)។
tuned-adm profile បណ្តាញឆ្លងកាត់
ការលៃតម្រូវកម្រិតអាដាប់ទ័រដែលបានណែនាំសម្រាប់ដំណើរការល្អប្រសើរបំផុត។
- កំណត់ចំនួនជួរដែលត្រូវប្រើសម្រាប់ចរាចរណ៍កម្មវិធី។ ប្រើចំនួនអប្បបរមានៃជួរដែលត្រូវការ ដើម្បីរក្សាស្នូលស៊ីភីយូដែលជាប់ទាក់ទងឱ្យសកម្ម ដើម្បីការពារពួកវាពីការចូលទៅក្នុងស្ថានភាពទំនេរកាន់តែជ្រៅ (កែតម្រូវសម្រាប់បន្ទុកការងារ): ethtool -L រួម ៣២
- កំណត់អត្រាការសម្របសម្រួលរំខាន។ ethtool -C adaptive-rx បិទ adaptive-tx បិទ rx-usecs-high 50 rx-usecs 50 tx-usecs 50
សាកល្បងកែសម្រួលកម្មវិធីកំណត់ពេលបញ្ជូន/ទទួល/ការបង្រួបបង្រួមអាទិភាពខ្ពស់ខ្ពស់ជាង (80/100/150/200) ឬទាបជាង (25/20/10/5) ដើម្បីស្វែងរកតម្លៃដ៏ប្រសើរសម្រាប់បន្ទុកការងារ។ - កំណត់ទំហំចិញ្ចៀន Rx/Tx ។ ethtool -G rx 4096 tx 4096
ចំណាំ
ប្រសិនបើអ្នកឃើញកញ្ចប់ព័ត៌មាន Rx ធ្លាក់ចុះជាមួយ ethtool -S| grep drop សូមព្យាយាមកាត់បន្ថយទំហំចិញ្ចៀនមក <4096។ ព្យាយាមស្វែងរកតម្លៃល្អបំផុតសម្រាប់បន្ទុកការងារ ដែលកញ្ចប់ព័ត៌មានមិនត្រូវបានទម្លាក់។ - កំណត់ 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 ដែលបានណែនាំសម្រាប់ដំណើរការខ្ពស់បំផុត
- បើកមុខងារផ្ទាល់ខ្លួន ដើម្បីអនុញ្ញាតឱ្យអ្នកប្រើកែតម្រូវដំណើរការស៊ីភីយូ ការប្រើប្រាស់ថាមពល និងការកំណត់ផ្សេងទៀត។ នេះជួយក្នុងការកែសម្រួលប្រព័ន្ធសម្រាប់តុល្យភាពល្អបំផុតរវាងការអនុវត្ត និងប្រសិទ្ធភាពថាមពល។
- បើកដំណើរការការជំរុញដំណើរការស្នូល ដើម្បីអនុញ្ញាតឱ្យស៊ីភីយូបង្កើនល្បឿនដោយស្វ័យប្រវត្តិ ដើម្បីដោះស្រាយកិច្ចការដែលពឹងផ្អែកខ្លាំងជាងមុន ធ្វើឱ្យដំណើរការទាំងមូលប្រសើរឡើង។
- បិទការគ្រប់គ្រងរដ្ឋ C សកល ដើម្បីការពារ CPU ពីការចូលទៅក្នុងរដ្ឋសន្សំថាមពលកាន់តែជ្រៅដែលគេស្គាល់ថា C-states ដែលអាចរក្សាការឆ្លើយតប។
ចំណាំ
ការបិទ C-states អាចបណ្តាលឱ្យមានការប្រើប្រាស់ថាមពលបន្ថែម និងបង្កើនសីតុណ្ហភាពកម្ដៅ។ ត្រួតពិនិត្យទាំងពីរសម្រាប់បន្ទុកការងារ។ - បើក/បិទដំណើរការ 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.
- ជ្រើសរើសច្រក NIC ពីរ ឬច្រើនសម្រាប់ការភ្ជាប់ (សម្រាប់ឧample, ethX និង ethY)
- បើកការកំណត់រចនាសម្ព័ន្ធ NIC Files នៅក្រោម /etc/sysconfig/network-scripts/ សម្រាប់ចំណុចប្រទាក់ NIC ដែលត្រូវការ (សម្រាប់ example, vi ifcfg-ethX និង vi ifcfg-ethY) ហើយបន្ថែមអត្ថបទខាងក្រោម៖
MASTER=bondN [ចំណាំ៖ N គឺជាចំនួនគត់ដែលនិយាយអំពីលេខមូលបត្របំណុល។] SLAVE=yes - បង្កើតស្គ្រីបបណ្តាញទំនាក់ទំនង 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 ដោយផ្អែកលើតម្រូវការ។ - ចាប់ផ្តើមសេវាកម្មបណ្តាញឡើងវិញដោយប្រើសេវាចាប់ផ្តើមបណ្តាញឡើងវិញ ឬ systemctl ចាប់ផ្តើម NetworkManager.service ឡើងវិញ
ការដោះស្រាយបញ្ហាការអនុវត្ត
7.1 ការប្រើប្រាស់ស៊ីភីយូ
ពិនិត្យមើលការប្រើប្រាស់ស៊ីភីយូក្នុងមួយស្នូល ខណៈពេលដែលបន្ទុកការងារកំពុងដំណើរការ។
ចំណាំថាការប្រើប្រាស់ក្នុងមួយស្នូលគឺពាក់ព័ន្ធនឹងការអនុវត្តច្រើនជាងការប្រើប្រាស់ស៊ីភីយូទាំងមូល ចាប់តាំងពីវាផ្តល់នូវគំនិតនៃការប្រើប្រាស់ស៊ីភីយូក្នុងមួយជួរបណ្តាញ។ ប្រសិនបើអ្នកមានខ្សែស្រឡាយមួយចំនួនដែលដំណើរការចរាចរបណ្តាញ នោះអ្នកប្រហែលជាមានស្នូលមួយចំនួនប៉ុណ្ណោះដែលត្រូវបានប្រើប្រាស់។ ទោះយ៉ាងណាក៏ដោយ ប្រសិនបើស្នូលទាំងនោះនៅ 100% នោះការបញ្ជូនបណ្តាញរបស់អ្នកទំនងជាត្រូវបានកំណត់ដោយការប្រើប្រាស់ស៊ីភីយូ ហើយវាដល់ពេលដែលត្រូវអនុវត្តដូចខាងក្រោម៖
- លៃតម្រូវការសម្របសម្រួល/ទំហំចិញ្ចៀន IRQ ដូចដែលបានរៀបរាប់លម្អិតនៅក្នុងការសម្របសម្រួលរំខាន។
- បង្កើនចំនួនខ្សែស្រឡាយកម្មវិធី ដើម្បីចែកចាយបន្ទុកស៊ីភីយូលើស្នូលបន្ថែមទៀត។ ប្រសិនបើស្នូលទាំងអស់ដំណើរការនៅ 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) សម្រាប់ម៉ាស៊ីនមេលីនុចនីមួយៗក្នុងការកំណត់រចនាសម្ព័ន្ធសាកល្បង។
- ទាញយក និងដំឡើង svr-info:
wget -qO- https://github.com/intel/svr-info/releases/latest/download/svrinfo.tgz| tar xvz cd svr-info
./svr-info
> hostname.txt - ប្រមូលទិន្នផល៖
./svr-info > hostname.txt - ភ្ជាប់អត្ថបទមួយ (.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 |
