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)។
ប្រសិនបើស៊ីភីយូរបស់អ្នកនៅ 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
កំណត់ចំណាំ៖
- បិទដំណើរការ 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 ការផ្លាស់ទីកម្មវិធីទៅថ្នាំងដែលមិនមែនជាមូលដ្ឋានផ្តល់អត្ថប្រយោជន៍។
ពិសោធន៍ជាមួយការបង្កើនចំនួនខ្សែស្រឡាយដែលប្រើដោយកម្មវិធីរបស់អ្នកប្រសិនបើអាចធ្វើទៅបាន។
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 ដែលបានណែនាំសម្រាប់ដំណើរការខ្ពស់បំផុត
- បើក/បិទដំណើរការ Hyper-threading (ផ្អែកលើតម្រូវការការងារ និងគោលដៅដំណើរការ) នៅលើ CPU ។
- កំណត់ប្រព័ន្ធគាំទ្រfile ទៅការអនុវត្តសម្រាប់ការអនុវត្តអតិបរមា។
ចំណាំ
នេះនាំឱ្យមានការប្រើប្រាស់ថាមពលខ្ពស់ជាង - កំណត់ការគ្រប់គ្រងថាមពលស៊ីភីយូទៅជាការអនុវត្តអតិបរមា ដើម្បីផ្តល់អាទិភាពដល់ដំណើរការស៊ីភីយូអតិបរមាលើប្រសិទ្ធភាពថាមពល។
- បើកដំណើរការ Turbo Boost ។ ការបិទដំណើរការ Turbo Boost នៅក្នុងការកំណត់ប្រព័ន្ធ BIOS ជាធម្មតារារាំង CPU ពីការបង្កើនល្បឿននាឡិការបស់វាលើសពីប្រេកង់មូលដ្ឋានរបស់វា។
- ចំណាំ
ការបិទដំណើរការ 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 |