انٽيل ® ايٿرنيٽ 700 سيريز
لينڪس پرفارمنس ٽيوننگ گائيڊ
اين ايڪس ڪلائوڊ نيٽ ورڪنگ گروپ (اين سي اين جي)
Rev. 1.2
ڊسمبر 2024
نظرثاني جي تاريخ
نظرثاني | تاريخ | تبصرا |
1.2 | ڊسمبر 2024 | · اضافي پاور مئنيجمينٽ گائيڊنس شامل ڪيو ويو. · انٽيل* ٽربو بوسٽ شامل ڪيو ويو. · نيٽ ورڪ ڊيوائس بيڪ لاگ شامل ڪيو ويو. · پليٽ فارم جي مخصوص ترتيب ۽ ٽيوننگ شامل ڪئي وئي. · چوٿين نسل جي انٽيل* %eon* اسڪيلبل پروسيسرز شامل ڪيا ويا. · AMD EPYC شامل ڪيو ويو. · سسٽم هارڊويئر صلاحيتن کي اپڊيٽ ڪيو ويو. · اپڊيٽ ٿيل iPerf2. · اپڊيٽ ٿيل iPerf3. · اپڊيٽ ٿيل ٽيڪس/آر ايڪس قطارون. · اپڊيٽ ٿيل مداخلت جي چڪاس. · انگوزي جي سائيز کي اپڊيٽ ڪيو ويو. · اپڊيٽ ٿيل پليٽ فارم ٽيوننگ (i40e غير مخصوص). · اپڊيٽ ٿيل BIOS سيٽنگون. · اپڊيٽ ٿيل سي-اسٽيٽ ڪنٽرول. · اپڊيٽ ٿيل سي پي يو فريڪوئنسي اسڪيلنگ. · اپڊيٽ ٿيل ايپليڪيشن سيٽنگون. · اپڊيٽ ٿيل آپريٽنگ سسٽم/ڪرنل سيٽنگون. · اپڊيٽ ٿيل IP فارورڊنگ. · گھٽ دير سان اپڊيٽ ڪيو ويو. |
آگسٽ 2023 | هن دستاويز ۾ تبديليون شامل آهن: · لاڳاپيل حوالا شامل ڪيا ويا. · شامل ڪيو ويو پڪ ڪريو ته ڊي ڊي پي پيڪيج صحيح طرح لوڊ ٿي رهيو آهي. · iPerf2 شامل ڪيو ويو. · iPerf3 شامل ڪيو ويو. · نيٽ پرف شامل ڪيو ويو. · اپڊيٽ ٿيل IRQ لاڳاپو. · شامل ڪيل ٽيڪس/آر ايڪس قطارون. · انگوزي جي سائيز کي اپڊيٽ ڪيو ويو. · جمبو فريم شامل ڪيا ويا. · اڊاپٽر بانڊنگ شامل ڪئي وئي. · شامل ڪيو ويو Intel svr-info ٽول. |
|
1.0 | مارچ 2016 | شروعاتي رليز (انٽيل پبلڪ). |
تعارف
هي گائيڊ لينڪس ماحول ۾ Intel® Ethernet 700 Series NICs استعمال ڪندي بهترين نيٽ ورڪنگ ڪارڪردگي لاءِ ماحول کي ترتيب ڏيڻ لاءِ هدايت فراهم ڪرڻ جو ارادو رکي ٿو. اهو هارڊويئر، ڊرائيور، ۽ آپريٽنگ سسٽم جي حالتن ۽ سيٽنگن تي ڌيان ڏئي ٿو جيڪي نيٽ ورڪ ڪارڪردگي کي بهتر بڻائي سگهن ٿيون. اهو ياد رکڻ گهرجي ته نيٽ ورڪنگ ڪارڪردگي ڪنهن به ٻاهرين اثرن کان متاثر ٿي سگهي ٿي، صرف انهن مان سڀ کان عام ۽ ڊرامائي هن گائيڊ ۾ شامل آهن.
1.1 لاڳاپيل حوالا
- ونڊوز ۽ لينڪس کي سپورٽ ڪندڙ سڀني انٽيل ® ايٿرنيٽ اڊاپٽرن ۽ ڊوائيسز لاءِ استعمال ڪندڙ گائيڊ:
انٽيل ® ايٿرنيٽ اڊاپٽر ۽ ڊوائيسز استعمال ڪندڙ گائيڊ - ٽيڪنيڪل ڊيٽا شيٽ:
انٽيل ® ايٿرنيٽ ڪنٽرولر X710/XXV710/XL710 ڊيٽا شيٽ - سڀني Intel® Ethernet پراڊڪٽس لاءِ مڪمل SW بنڊل (سڀ ڊرائيور، NVM، اوزار، وغيره ڊائون لوڊ ڪريو):
انٽيل ® ايٿرنيٽ اڊاپٽر مڪمل ڊرائيور پيڪ - NVM (نان-وولٽائل ميموري) اپڊيٽ پيڪيج:
انٽيل ® ايٿرنيٽ نيٽ ورڪ اڊاپٽر 700 سيريز لاءِ نان-وولٽائل ميموري (NVM) اپڊيٽ يوٽيلٽي - لينڪس لاءِ svr-info ٽول جيڪو سرور کان لاڳاپيل هارڊويئر ۽ سافٽ ويئر تفصيل حاصل ڪري ٿو: https://github.com/intel/svr-info
- ڊي ڊي پي ٽيڪنالاجي گائيڊ:
انٽيل ® ايٿرنيٽ 700 سيريز ڊائنامڪ ڊيوائس پرسنلائيزيشن (ڊي ڊي پي) ٽيڪنالاجي گائيڊ
شروعاتي چيڪ لسٽ
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 - تازه ڪاري firmware
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 ايڪسپريس (PCIe) سلاٽ x8 آهي.
ڪجھ PCIe x8 سلاٽ اصل ۾ x4 سلاٽ جي طور تي ترتيب ڏنل آهن. انهن سلاٽ ۾ ڊبل پورٽ ۽ ڪواڊ پورٽ ڊوائيسز سان مڪمل لائن ريٽ لاءِ ڪافي بينڊوڊٿ ناهي. ان کان علاوه، جيڪڏهن توهان PCIe v3.0-قابل اڊاپٽر کي PCIe v2.x سلاٽ ۾ رکون ٿا، ته توهان مڪمل بينڊوڊٿ حاصل نٿا ڪري سگهو. سافٽ ويئر ڊيوائس ڊرائيور هن صورتحال کي ڳولي ٿو ۽ سسٽم لاگ ۾ هيٺ ڏنل پيغام لکي ٿو:
هن ڪارڊ لاءِ موجود PCI-Express بينڊوڊٿ بهترين ڪارڪردگي لاءِ ڪافي ناهي. بهترين ڪارڪردگي لاءِ هڪ x8 PCI-Express سلاٽ گهربل آهي.
جيڪڏهن هي غلطي ٿئي ٿي، ته مسئلو حل ڪرڻ لاءِ پنهنجي اڊاپٽر کي هڪ سچي PCIe v3.0 x8 سلاٽ ڏانهن منتقل ڪريو.
2.4 سسٽم هارڊويئر صلاحيتون چيڪ ڪريو
10 Gbps، 25 Gbps، ۽ 40 Gbps ايٿرنيٽ تي، ڪجھ گھٽ ۾ گھٽ سي پي يو ۽ سسٽم جون گهرجون آهن. عام طور تي، توهان جي پليٽ فارم لاءِ هڪ جديد سرور ڪلاس پروسيسر ۽ بهترين ميموري ترتيب ڪافي هجڻ گهرجي، پر ضرورتون توهان جي ڪم جي لوڊ جي لحاظ کان مختلف هونديون آهن. سڀئي ميموري چينلز کي آباد ڪيو وڃي ۽ ميموري ڪارڪردگي موڊ کي BIOS ۾ فعال ڪيو وڃي. تصديق ڪريو ته توهان جو سي پي يو ۽ ميموري ترتيب توهان جي ڪم جي لوڊ لاءِ گهربل نيٽ ورڪ ڪارڪردگي جي سطح کي سپورٽ ڪرڻ جي قابل آهن.
نوٽ
XL710 هڪ 40 GbE ڪنٽرولر آهي. هن ڪنٽرولر کي استعمال ڪندڙ 2 x 40 GbE اڊاپٽر 2 x 40 GbE نه پر هڪ فعال بيڪ اپ پورٽ سان 1 x 40 GbE هجڻ جو ارادو رکي ٿو. جڏهن ٻنهي بندرگاهن کي شامل ڪندي لائن ريٽ ٽرئفڪ استعمال ڪرڻ جي ڪوشش ڪئي وڃي ٿي، ته اندروني سوئچ سير ٿيل هوندو آهي ۽ ٻنهي بندرگاهن جي وچ ۾ گڏيل بينڊوڊٿ ڪل SO Gbps تائين محدود هوندي آهي.
2.4.1 ڪرنل بوٽ پيرا ميٽرز
جيڪڏهن BIOS ۾ Intel® ورچوئلائيزيشن ٽيڪنالاجي فار ڊائريڪٽڊ I/O (Intel® VT-d) فعال آهي، ته Intel سفارش ڪري ٿو ته IOMMU کي بهترين هوسٽ نيٽ ورڪ ڪارڪردگي لاءِ پاس-ٿرو موڊ ۾ هجي. اهو هوسٽ ٽرئفڪ تي DMA اوور هيڊ کي ختم ڪري ٿو جڏهن ته ورچوئل مشينن (VMs) کي اڃا تائين Intel® VT-d جا فائدا حاصل ڪرڻ جي قابل بڻائي ٿو. اهو ڪرنل بوٽ پيرا ميٽرز ۾ هيٺ ڏنل لائن شامل ڪندي حاصل ڪيو ويندو آهي: fommu-pt.
2.5 پڪ ڪريو ته ڊي ڊي پي پيڪيج صحيح طرح لوڊ ٿي رهيو آهي
140ea ۽ 140eb بيس ڊرائيورن کي ڊائنامڪ ڊيوائس پرسنلائيزيشن (DDP) لاءِ سڌو سنئون سپورٽ ناهي. 700 سيريز ڊوائيسز سان DDP استعمال ڪرڻ لاءِ، هڪ DDP پروfile testpmd ايپليڪيشن سان لاڳو ڪري سگهجي ٿو.
ڊي ڊي پي پرو بابت تفصيل لاءِfiles، ۽ ڊي ڊي پي پرو ڪيئن لاڳو ڪجيfile 700 سيريز ڊوائيسز تي testpmd سان، Intel® Ethernet 700 سيريز ڊائنامڪ ڊيوائس پرسنلائيزيشن (DDP) ٽيڪنالاجي گائيڊ جو حوالو ڏيو.
تصديق ڪرڻ لاءِ ته ڇا ڊي ڊي پي پروfile ڪاميابي سان لوڊ ڪيو ويو:
testpmd> ddp لسٽ 0 پرو حاصل ڪريوfile نمبر آهي: 1
نوٽ
جيڪڏهن پروfile نمبر 0 آهي، ڪو به DDP پيڪيج لوڊ نه ٿيو آهي. DDP پيڪيج لوڊ ڪرڻ جي غلطي جي صورت ۾، ڊوائيس محفوظ موڊ تي ڊفالٽ ٿي ويندو آهي ۽ ڪيتريون ئي ڪارڪردگي خاصيتون دستياب نه هونديون آهن. جيڪڏهن DDP پيڪيج لوڊ ڪرڻ سان لاڳاپيل غلطيون آهن، ته اهو ڪارڪردگي جي مسئلن جو سبب بڻجندو. مسئلا حل ڪرڻ جي مرحلن لاءِ، Inte/* Ethernet 700 Series Dynamic Device Personalization (DDP) ٽيڪنالاجي گائيڊ جو حوالو ڏيو.
بنيادي ڪارڪردگي جي ماپ ۽ ٽيوننگ جو طريقو
3.1 نيٽ ورڪ ڪارڪردگي جا معيار
ٽيوننگ جي مشق شروع ڪرڻ کان اڳ، اهو ضروري آهي ته توهان جي نيٽ ورڪ جي ڪارڪردگي جو هڪ سٺو بنيادي ماپ هجي. عام طور تي توهان جي مخصوص ايپليڪيشن/ورڪ لوڊ جي ڪارڪردگي جي شروعاتي ماپ حاصل ڪرڻ کان علاوه، اهو هڪ سٺو خيال آهي ته هڪ معياري نيٽ ورڪ ڪارڪردگي بينچ مارڪ پڻ استعمال ڪيو وڃي ته جيئن تصديق ڪري سگهجي ته توهان جو نيٽ ورڪ ڊوائيس سٺي حالت ۾ آهي.
سنگل سسٽم آپٽمائيزيشن لاءِ، نيٽ پرف يا آئي پي آر ايف ۽ نيٽ پائپ سڀ مضبوط اوپن سورس مفت اوزار آهن جيڪي توهان کي ڪنيڪشن تي زور ڏيڻ ۽ ڪارڪردگي جي مسئلن جي تشخيص ڪرڻ جي قابل بڻائين ٿا.
نيٽ پرف ٿرو پُٽ ۽ ليٽنسي ٽيسٽنگ ٻنهي لاءِ مضبوط آهي. نيٽ پائپ هڪ ليٽنسي مخصوص اوزار آهي پر ڪنهن به قسم جي ماحول لاءِ مرتب ڪري سگهجي ٿو.
نوٽ
netperf ۾ TCP_RR ٽيسٽ ٽرانزيڪشن/سيڪنڊ جي قدر ۾ ليٽنسي واپس ڪري ٿو. هي هڪ گول ٽرپ نمبر آهي. هڪ طرفي ليٽنسي کي هيٺ ڏنل مساوات استعمال ڪندي ڳڻپيو وڃي ٿو:
دير (يو ايس سي) = (1⁄2) / [ٽرانزيڪشن/سيڪنڊ] * 1,000,000
3.1.1 آئي پرف 2
انٽيل اڪثر بينچ مارڪنگ حالتن لاءِ iperf2 تي iperf3 جي سفارش ڪري ٿو ڇاڪاڻ ته استعمال ۾ آساني ۽ هڪ ئي ايپليڪيشن مثال ۾ ڪيترن ئي ٿريڊز جي سپورٽ جي ڪري. انٽيل 2G ڪنيڪشن لاءِ 4-25 ٿريڊز ۽ 4G ڪنيڪشن لاءِ تقريباً 6-40 ٿريڊز سان -P آپشن سان هلائڻ جي سفارش ڪري ٿو.
- ڪلائنٽ کان سرور تائين هڪ طرفي ٽرئفڪ هلائڻ لاءِ: سرور ڪمانڊ exampلي: iperf2 -s
ڪلائنٽ ڪمانڊ ايڪسampلي: iperf2 -c -پي - ڪلائنٽ کان سرور تائين ٻه طرفي ٽرئفڪ هلائڻ لاءِ (۽ ان جي برعڪس): سرور ڪمانڊ exampلي: iperf2 –s –p
ڪلائنٽ ڪمانڊ ايڪسampاليزي:
آئي پي آر ايف 2 - سي -پي -پي --مڪمل ڊپلڪس OR
آئي پي آر ايف 2 - سي -پي -پي -ڊي
نوٽ
iperf2 ۾ ٻئي -full-duplex ۽ -d آپشن استعمال ڪندڙ کي ٻہ طرفي ٽيسٽنگ ڪرڻ جي اجازت ڏين ٿا. جڏهن ته، -full-duplex آپشن خاص طور تي مڪمل ڊپلڪس ٽيسٽنگ تي ڌيان ڏئي ٿو.
نوٽ
جڏهن ڪيترن ئي سرور پورٽن تي iperf2 جي جانچ ڪئي پئي وڃي، ته -d پرچم سرور ڪمانڊ ۾ شامل ڪري سگهجي ٿو ته جيئن ساڳئي ٽرمينل ونڊو مان پس منظر ۾ سڀني سرور سيشن کي هلائي سگهجي. -d پرچم پڻ استعمال ڪري سگهجي ٿو جڏهن سرور ڪمانڊ اسڪرپٽ ۾ فار-لوپ اندر شامل ڪيو وڃي.
نوٽ
جڏهن نيٽ ورڪ ٿرو پُٽ ٽيسٽ کي هڪ واحد وهڪرو/ڌاڙي سان هلائي رهيا آهيو (مثال طورample: P1)، AMD پروسيسر شايد متوقع ٿرو پُٽ مهيا نه ڪري سگھن، خاص طور تي وڌيڪ بينڊوڊٿ NICs (جيڪڏهن رفتار >= 25G بينڊوڊٿ آهي). نتيجي طور، وڌيڪ ٿرو پُٽ حاصل ڪرڻ لاءِ مخصوص ڪورن تي ايپليڪيشن پننگ جي ضرورت آهي. صفحي 22 تي ايپليڪيشن سيٽنگون ڏسو.
3.1.2 آئي پرف 3
جيڪڏهن iperf3 استعمال ڪيو وڃي ٿو، ته پوءِ ايڊوانس وٺڻ لاءِ ايپليڪيشن جا ڪيترائي مثال گهربل آهن.tagملٽي ٿريڊز، آر ايس ايس، ۽ هارڊويئر قطارن مان اي. انٽيل 2G ڪنيڪشن لاءِ 4-25 ايپليڪيشن سيشن ۽ 4G ڪنيڪشن لاءِ تقريباً 6-40 سيشن هلائڻ جي صلاح ڏئي ٿو. هر سيشن کي -p آپشن استعمال ڪندي هڪ منفرد TCP پورٽ ويليو بيان ڪرڻ گهرجي.
- ڪلائنٽ کان سرور تائين هڪ طرفي ٽرئفڪ هلائڻ لاءِ:
سرور ڪمانڊ ايڪسampاليزي:
آئي پي آر ايف 3 -ايس -پي
ڪلائنٽ ڪمانڊ ايڪسampاليزي:
آئي پي آر ايف 3 - سي -پي - ڪلائنٽ کان سرور تائين ٻه طرفي ٽرئفڪ هلائڻ لاءِ (۽ ان جي برعڪس):
سرور ڪمانڊ ايڪسampاليزي:
iperf3 -s -p
ڪلائنٽ ڪمانڊ ايڪسampلي: iperf3 -c -پي -پي --بيدير - iperf3 جي گھڻن مثالن (ٿريڊز) کي شروع ڪرڻ لاءِ، سفارش اها آهي ته TCP پورٽس تي ٿريڊز کي ميپ ڪرڻ لاءِ فار-لوپ استعمال ڪيو وڃي ۽ متوازي ۾ گھڻن عملن کي ٺاهڻ لاءِ پس منظر ۾ iperf3 کي هلايو وڃي.
سرور ڪمانڊ ايڪسampلي، 4 موضوع شروع ڪريو: port=””; لاءِ i {0..3} ۾; do port=520$i; bash -c “iperf3 -s -p $port &”; done; ڪلائنٽ ڪمانڊ exampلي، 4 موضوع شروع ڪريو - ٽيسٽ پورٽ منتقل ڪريو = ""؛ i لاءِ {0..3} ۾؛ ڪريو پورٽ = 520 $ i؛ bash -c “iperf3 -c $serverIP -p $port &”؛ ٿي ويو؛ ڪلائنٽ ڪمانڊ exampلي، 4 ٿريڊ شروع ڪريو - ٽيسٽ پورٽ حاصل ڪريو=””; لاءِ i ۾ {0..3}; do port=520$i; bash -c “iperf3 -R -c $serverIP -p $port &”; ٿي ويو; 40G ڪنيڪشن لاءِ، 6 انسٽنس/ٿريڊ ٺاهڻ لاءِ فار-لوپ وڌايو.
نوٽ
جڏهن نيٽ ورڪ ٿرو پُٽ ٽيسٽ کي هڪ واحد وهڪرو/ڌاڙي سان هلائي رهيا آهيو (مثال طورample: P1)، AMD پروسيسر شايد متوقع ٿرو پُٽ مهيا نه ڪري سگھن، خاص طور تي وڌيڪ بينڊوڊٿ
NICs (جيڪڏهن رفتار >= 25G بينڊوڊٿ آهي). نتيجي طور، وڌيڪ ٿرو پُٽ حاصل ڪرڻ لاءِ مخصوص ڪورن تي ايپليڪيشن پننگ جي ضرورت آهي. صفحي 22 تي ايپليڪيشن سيٽنگون ۽ صفحي 26 تي AMD EPYC ڏسو.
3.1.3 نيٽ پرف
نيٽ پرف ٽول ٿرو پُٽ ۽ ليٽنسي ٽيسٽنگ ٻنهي لاءِ مضبوط انتخاب آهي.
- netperf ۾ TCP_STREAM ٽيسٽ ڊوائيس جي ٿرو پُٽ صلاحيتن کي ماپي ٿو. سرور ڪمانڊ example: netserver ڪلائنٽ حڪم مثالampلي: نيٽ پرف -ٽي TCP_اسٽريم -ايل 30 -ايڇ
- netperf ۾ TCP_RR ٽيسٽ ٽرانزيڪشن/سيڪنڊ جي قدر ۾ ليٽنسي واپس ڪري ٿو. هي هڪ گول ٽرپ نمبر آهي. جيڪڏهن x ڊوائيس تي CPU مقامي آهي ته -T x,x آپشن استعمال ڪرڻ جي سفارش ڪئي وئي آهي. هڪ طرفي ليٽنسي کي استعمال ڪندي حساب ڪري سگهجي ٿو: Latency(usec)=(1⁄2)/ [ٽرانزيڪشن/سيڪنڊ]*1,000,\ سرور ڪمانڊ exampلي: نيٽ سرور
ڪلائنٽ ڪمانڊ ايڪسampلي: نيٽ پرف -ٽي TCP_RR -ايل 30 -ايڇ -ٽي ايڪس، ايڪس - نيٽ پرف جي گھڻن مثالن (ٿريڊز) کي شروع ڪرڻ لاءِ، سفارش اها آهي ته فار-لوپ استعمال ڪيو وڃي ته جيئن ٿريڊز کي TCP پورٽس تي ميپ ڪيو وڃي ۽ نيٽ پرف کي پس منظر ۾ هلايو وڃي ۽ متوازي طور تي گھڻن عملن کي ٺاهڻ لاءِ & استعمال ڪيو وڃي.
سرور ڪمانڊ ايڪسampلي، 8 موضوع شروع ڪريو:
port=””; {0..7} ۾ i لاءِ; port=520$i ڪريو; bash -c “netserver -L $serverIP -p $port &”; ٿي ويو;
ڪلائنٽ ڪمانڊ ايڪسampلي، 8 موضوع شروع ڪريو: port=””; لاءِ i {0..7} ۾; ڪريو port=520$i; bash -c “netperf -H $serverIP -p $port -t TCP_STREAM -l 30 &”; ٿي ويو;
3.2 ٽيوننگ جو طريقو
هڪ وقت ۾ هڪ ٽيوننگ تبديلي تي ڌيان ڏيو ته جيئن توهان کي خبر پوي ته هر تبديلي توهان جي ٽيسٽ تي ڪهڙو اثر وجهي ٿي. ٽيوننگ جي عمل ۾ توهان جيترا وڌيڪ طريقي سان هوندا، ڪارڪردگي جي رڪاوٽن جي سببن کي سڃاڻڻ ۽ انهن کي حل ڪرڻ اوترو ئي آسان هوندو.
i40e ڊرائيور سيٽنگون ٽيوننگ
4.1 IRQ لاڳاپو
IRQ affinity کي ترتيب ڏيڻ ته جيئن مختلف نيٽ ورڪ قطارن لاءِ مداخلتون مختلف CPU ڪور سان لاڳاپيل هجن، ڪارڪردگي تي وڏو اثر پئجي سگهي ٿو، خاص طور تي ملٽي ٿريڊ ٿرو پُٽ ٽيسٽ.
IRQ affinity کي ترتيب ڏيڻ لاءِ، irqbalance کي روڪيو ۽ پوءِ يا ته i40e سورس پيڪيج مان set_irq_affinity اسڪرپٽ استعمال ڪريو يا دستي طور تي قطارن کي پن ڪريو. قطار پننگ کي فعال ڪرڻ لاءِ يوزر-اسپيس IRQ بيلنس کي غير فعال ڪريو:
- سسٽم سي ٽي ايل بي توازن کي غير فعال ڪريو
- سسٽم سي ٽي ايل اسٽاپ آئي آر ڪيو بيلنس
i40e سورس پيڪيج مان set_irq_affinity اسڪرپٽ استعمال ڪندي (سفارش ٿيل): - سڀني ڪورن کي استعمال ڪرڻ لاءِ:
[path-to-i40epackage]/scripts/set_irq_affinity -X سڀ ethX - مقامي NUMA ساکٽ تي صرف ڪور استعمال ڪرڻ لاءِ: [path-to-i40epackage]/scripts/set_irq_affinity -X مقامي ethX
- توهان ڪور جي هڪ حد پڻ چونڊي سگهو ٿا. cpu0 استعمال ڪرڻ کان پاسو ڪريو ڇاڪاڻ ته اهو ٽائمر ٽاسڪ هلائي ٿو. [path-to-i40epackage]/scripts/set_irq_affinity 1-2 ethX
نوٽ
جڏهن -x آپشن بيان ڪيو ويندو آهي ته افينٽي اسڪرپٽ ٽرانسمٽ پيڪٽ اسٽيئرنگ (XPS) کي پننگ جي عمل جي حصي طور فعال ڪري ٿو. جڏهن XPS فعال ڪيو ويندو آهي، انٽيل سفارش ڪري ٿو ته توهان irqbalance کي غير فعال ڪريو، ڇاڪاڻ ته XPS سان ڪرنل بيلنس ڪندڙ غير متوقع ڪارڪردگي جو سبب بڻجي سگهي ٿو. افينٽي اسڪرپٽ 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-قطارون 8 tx-قطارون 8″
- نيٽ ورڪ سروس ٻيهر شروع ڪريو.
تبديليون ڪرڻ کان پوءِ، نئين ترتيب لاڳو ڪرڻ لاءِ نيٽ ورڪ سروس کي ٻيهر شروع ڪريو. sudo systemctl نيٽ ورڪ ٻيهر شروع ڪريو
دستي طور:
-
هر نوڊ سان ڳنڍيل پروسيسر ڳوليو: numactl –hardware lscpu استعمال ڪندي
-
هر پروسيسر لاءِ بٽ ماسڪ ڳوليو:
- نوڊ 0 لاءِ ڪور 11-0 فرض ڪندي: [1,2,4,8,10,20,40,80,100,200,400,800]
- تفويض ڪيل پورٽ کي تفويض ڪيل IRQs ڳوليو: grep ethX /proc/interrupts ۽ IRQ قدرن کي نوٽ ڪريو مثال طورample، 181-192 لوڊ ٿيل 12 ویکٹرن لاءِ.
- SMP affinity ويليو کي لاڳاپيل IRQ داخلا ۾ گونجايو. نوٽ ڪريو ته اهو هر IRQ داخلا لاءِ ڪرڻ جي ضرورت آهي: echo 1 > /proc/irq/181/smp_affinity echo 2 > /proc/irq/182/smp_affinity echo 4 > /proc/irq/183/smp_affinity IRQ affinity ڏيکاريو:
- سڀني ڪورن لاءِ IRQ لاڳاپو ڏيکارڻ لاءِ: /اسڪرپٽ/سيٽ_آئرق_اَفينٽي -s اخلاقيات
- مقامي NUMA ساکٽ تي صرف ڪور ڏيکارڻ لاءِ: /scripts/set_irq_affinity -s مقامي اخلاقيات
- توهان ڪور جي هڪ حد پڻ چونڊي سگهو ٿا: /scripts/set_irq_affinity -s 40-0-8,16 ايٿ ايڪس
نوٽ
set_irq_affinity اسڪرپٽ i40e ڊرائيور ورجن 2.16.11 ۽ بعد ۾ -s فليگ کي سپورٽ ڪري ٿي.
4.2 ٽيڪس/آر ايڪس قطارون
ڊرائيور پاران شروعات تي هر ايٿرنيٽ پورٽ لاءِ فعال ڪيل قطارن جو ڊفالٽ تعداد پليٽ فارم ۾ موجود سي پي يوز جي ڪل تعداد جي برابر آهي. هي ڪيترن ئي پليٽ فارمن ۽ ورڪ لوڊ ترتيبن لاءِ سٺو ڪم ڪري ٿو. جڏهن ته، اعليٰ ڪور ڳڻپ ۽/يا اعليٰ ايٿرنيٽ پورٽ کثافت وارن پليٽ فارمن ۾، هي ترتيب وسيلن جي تڪرار جو سبب بڻجي سگهي ٿي. تنهن ڪري، ڪجهه حالتن ۾ سسٽم ۾ هر پورٽ لاءِ ڊفالٽ کي تبديل ڪرڻ ضروري ٿي سگهي ٿو.
Tx/Rx قطارن جو ڊفالٽ تعداد مخصوص ماڊل ۽ ڊرائيور ورزن جي لحاظ کان مختلف ٿي سگھي ٿو. قطارن جو تعداد ھيٺ ڏنل ethtool -L ڪمانڊ استعمال ڪندي ترتيب ڏئي سگھجي ٿو.
نوٽ
انهن حالتن ۾، انٽيل سفارش ڪري ٿو ته توهان هر پورٽ لاءِ ڊفالٽ قطار جي ڳڻپ کي NUMA نوڊ مقامي ۾ اڊاپٽر پورٽ تائين موجود CPUs جي تعداد کان وڌيڪ نه ڪريو. ڪجهه حالتن ۾، جڏهن اعلي پورٽ ڳڻپ جي عملن تي وسيلن کي متوازن ڪرڻ جي ڪوشش ڪئي پئي وڃي، ته اهو ضروري ٿي سگهي ٿو ته هن نمبر کي اڃا به گهٽايو وڃي.
قطار جي ترتيب کي تبديل ڪرڻ لاءِ:
هيٺيون سابقample پورٽ کي 32 Tx/Rx قطارن تي سيٽ ڪري ٿو: ethtool -L ethX گڏيل 32
Exampلي آئوٽ:
ايٿ ٽول - ايل ايٿ ايڪس
ethX لاءِ چينل پيرا ميٽرز: اڳ ۾ مقرر ڪيل وڌ ۾ وڌ:
RX: 96
TX: 96
ٻيا: 1
گڏيل: 96
موجوده هارڊويئر سيٽنگون:
RX: 0
TX: 0
ٻيا: 1
گڏيل: 32
4.3 مداخلت جي چڪاس
ايڊاپٽيو انٽرپٽ ماڊريشن ڊفالٽ طور تي آن هوندو آهي، ۽ گهٽ سي پي يو استعمال ۽ اعليٰ ڪارڪردگي جي وچ ۾ هڪ متوازن طريقو مهيا ڪرڻ لاءِ ٺاهيو ويو آهي. جڏهن ته، توهان پنهنجي استعمال جي صورت ۾ مناسب ڪرڻ لاءِ دستي طور تي انٽرپٽ سيٽنگز کي ترتيب ڏيڻ جي ڪوشش ڪري سگهو ٿا.
0-235 مائڪرو سيڪنڊن جي حد 4,310 کان 250,000 انٽرپٽس في سيڪنڊ جي اثرائتي حد فراهم ڪري ٿي. rx-μsecs-high جي قيمت ساڳئي ethtool ڪمانڊ ۾ rx-μsecs ۽ tx-μsecs کان آزاد سيٽ ڪري سگهجي ٿي، ۽ اهو adaptive interrupt moderation algorithm کان پڻ آزاد آهي. بنيادي هارڊويئر 2 مائڪرو سيڪنڊ وقفن ۾ گرينولرٽي کي سپورٽ ڪري ٿو، تنهن ڪري ويجهن قدرن جي نتيجي ۾ ساڳئي انٽرپٽ ريٽ ٿي سگهي ٿو.
- اڊاپٽو انٽرپٽ ماڊريشن کي بند ڪرڻ لاءِ: ethtool -C ethX adaptive-rx off adaptive-tx off
- اڊاپٽو انٽرپٽ ماڊريشن کي آن ڪرڻ لاءِ: ethtool -C ethX adaptive-rx on adaptive-tx on
عام ٽيوننگ لاءِ شروع ڪرڻ لاءِ هڪ سٺي جاءِ 84 μs، يا ~12000 انٽرپٽس/s آهي. جيڪڏهن توهان ڏسندا ته rx_dropped ڪائونٽر ٽرئفڪ دوران هلي رهيا آهن (ethtool -S ethX استعمال ڪندي) ته پوءِ توهان وٽ شايد CPU تمام سست آهي، اڊاپٽر جي رنگ سائيز (ethtool -G) کان ڪافي بفر نه آهن ته 84 μs لاءِ پيڪٽ رکي سگهن يا انٽرپٽ ريٽ کان گهٽ.
- وقفي جي اعتدال کي وقفي جي وچ ۾ 84 μs جي مقرر وقفي جي شرح تي مقرر ڪرڻ لاءِ (12000 وقفا/s): ethtool -C ethX adaptive-rx off adaptive-tx off rx-usecs 84 tx-usecs 84 جيڪڏهن توهان CPU استعمال تي وڌ کان وڌ نه آهيو ته ڪوشش ڪرڻ لاءِ ايندڙ قدر 62 μs آهي. هي وڌيڪ CPU استعمال ڪري ٿو، پر اهو تيزيءَ سان بفرز جي خدمت ڪري ٿو، ۽ گهٽ وضاحت ڪندڙن جي ضرورت آهي (رنگ سائيز، ethtool -G).
- وقفي جي اعتدال کي وقفي جي وچ ۾ 62 استعمال ڪندڙن جي مقرر ڪيل وقفي جي شرح تي مقرر ڪرڻ لاءِ (16000 وقفا/s). ethtool -C ethX adaptive-rx off adaptive-tx off rx-usecs 62 tx-usecs 62
جيڪڏهن rx_dropped ڪائونٽر ٽرئفڪ دوران وڌن ٿا (ethtool -S ethX استعمال ڪندي)، ته شايد توهان وٽ CPU تمام سست آهي، اڊاپٽر جي رنگ سائيز (ethtool -G) کان ڪافي بفر نه آهن، يا هڪ مداخلت جي شرح تمام گهٽ آهي. جيڪڏهن توهان CPU استعمال تي وڌ کان وڌ نه آهيو، ته توهان ITR قدر کي گهٽائي مداخلت جي شرح وڌائي سگهو ٿا. اهو وڌيڪ CPU استعمال ڪري ٿو، پر خدمتون تيزيءَ سان بفر ڪن ٿيون، ۽ گهٽ وضاحت ڪندڙن جي ضرورت آهي (رنگ سائيز، ethtool -G).
جيڪڏهن توهان جو سي پي يو 100٪ تي آهي، ته پوءِ مداخلت جي شرح وڌائڻ جي صلاح نه ڏني وئي آهي. ڪجهه حالتن ۾ جيئن ته سي پي يو سان ڳنڍيل ڪم لوڊ، توهان شايد ٻين ايپليڪيشنن لاءِ وڌيڪ سي پي يو وقت کي فعال ڪرڻ لاءِ μs جي قيمت وڌائڻ چاهيندا.
جيڪڏهن توهان کي گهٽ دير جي ڪارڪردگي جي ضرورت آهي ۽/يا نيٽ ورڪ پروسيسنگ لاءِ وقف ڪرڻ لاءِ ڪافي سي پي يو آهي، ته توهان مداخلت جي اعتدال کي مڪمل طور تي غير فعال ڪري سگهو ٿا، جيڪو مداخلتن کي جلد کان جلد فائر ڪرڻ جي قابل بڻائي ٿو. - مداخلت جي چڪاس کي غير فعال ڪرڻ لاءِ ethtool -C ethX adaptive-rx off adaptive-tx off rx-usecs 0 tx-usecs 0
نوٽ
جڏهن مداخلت واري ماڊريشن کي غير فعال ڪيو وڃي، ته هر قطار تي مداخلت جي شرح تمام گهڻي ٿي سگهي ٿي. مداخلت جي شرح تي مٿئين حد مقرر ڪرڻ لاءِ rx-usec-high پيرا ميٽر کي شامل ڪرڻ تي غور ڪريو. هيٺ ڏنل حڪم موافق مداخلت واري ماڊريشن کي غير فعال ڪري ٿو ۽ وصول ڪرڻ يا منتقل ڪرڻ جي مڪمل ٿيڻ جي نشاندهي ڪرڻ کان اڳ وڌ ۾ وڌ 5 مائڪرو سيڪنڊن جي اجازت ڏئي ٿو. في سيڪنڊ 200,000 وقفن جي نتيجي ۾، اهو rx-usec-high پيرا ميٽر ذريعي في سيڪنڊ ڪل مداخلت کي 50,000 تائين محدود ڪري ٿو. # ethtool -C ethX adaptive-rx off adaptive-tx off rx-usecs-high 20 rx-usecs 5 txusecs 5 ڪم جي لوڊ لاءِ بهترين قدر ڳولڻ لاءِ ٽرانسمٽ/رسيور/هاءِ-پرائيورٽي ڪوئليسنگ ٽائمر کي وڌيڪ (80/100/150/200) يا گهٽ (25/20/10/5) ترتيب ڏيڻ جي ڪوشش ڪريو.
4.4 انگوزي جي ماپ
جيڪڏهن توهان ethtool -S ethX (rx_dropped, rx_dropped.nic) ۾ rx_dropped ڪائونٽر ڏسي رهيا آهيو، يا ڪيترن ئي قطارن سان ڪيش پريشر جو شڪ آهي، ته توهان ڊفالٽ ويليو مان رنگ جي سائيز کي ترتيب ڏيڻ جي ڪوشش ڪري سگهو ٿا. ڊفالٽ ويليو 512 آهي، وڌ ۾ وڌ 4096 آهي.
- موجوده قدرن کي جانچڻ لاءِ: ethtool -g ethX
جيڪڏهن اهو شڪ آهي ته بفرنگ جي کوٽ موجوده مداخلت جي شرح تي گهٽتائي جو سبب بڻجي رهي آهي، ته توهان پهرين وڌ ۾ وڌ ڪوشش ڪري سگهو ٿا، پوءِ گهٽ ۾ گهٽ، پوءِ بائنري ڳولا ۾ جاري رکو جيستائين توهان بهترين ڪارڪردگي نه ڏسو.
جيڪڏهن ڪيش پريشر جو شڪ آهي (ڪيترائي قطارون فعال آهن) ته ڊفالٽ کان بفرز کي گهٽائڻ سان انٽيل ® ڊيٽا ڊائريڪٽ I/O (انٽيل ® DDIO) کي بهتر ڪارڪردگي سان ڪم ڪرڻ ۾ مدد ملندي. انٽيل 128 يا 256 في قطار کي آزمائڻ جي صلاح ڏئي ٿو، اهو ڄاڻڻ ته ethtool -C ذريعي مداخلت جي شرح ۾ اضافو rx_dropped ۾ واڌ کان بچڻ لاءِ ضروري ٿي سگهي ٿو. - رنگ جي سائيز کي مقرر ڪيل قدر تي سيٽ ڪرڻ لاءِ: ethtool -G eth12 rx 256 tx 256
نوٽ
ethtool -S ethX|grep drop سان مليل Rx پيڪٽ ڊراپس کي درست ڪرڻ لاءِ، رنگ جي سائيز کي 4096 تائين وڌائڻ تي غور ڪريو. ڪم لوڊ لاءِ بهترين سيٽنگ ڳولڻ لاءِ تجربو ڪريو پر وڌيڪ قدرن سان ميموري جي ضرورت کان وڌيڪ استعمال تي نظر رکو.
4.5 وهڪري جو ڪنٽرول
پرت 2 جي وهڪري جو ڪنٽرول TCP جي ڪارڪردگي تي تمام گهڻو اثر انداز ٿي سگهي ٿو ۽ گھڻن ڪم جي لوڊ لاءِ ان کي غير فعال ڪرڻ جي سفارش ڪئي وئي آهي. هڪ امڪاني استثنا برسٽ ٽرئفڪ آهي جتي برسٽ ڊگهي عرصي ۾ نه هوندا آهن.
فلو ڪنٽرول ڊفالٽ طور تي بند ٿيل آهي.
- وهڪري جي ڪنٽرول کي فعال ڪرڻ لاءِ: ethtool -A ethX rx on tx on
- وهڪري جي ڪنٽرول کي غير فعال ڪرڻ لاءِ: ethtool -A ethX rx off tx off
نوٽ
فلو ڪنٽرول کي ڪاميابي سان فعال ڪرڻ لاءِ توهان وٽ هڪ فلو ڪنٽرول قابل لنڪ پارٽنر هجڻ گهرجي.
4.6 جمبو فريم
جڏهن متوقع ٽرئفڪ ماحول ۾ ڊيٽا جي وڏي بلاڪن جي منتقلي شامل هجي، ته جمبو فريم فيچر کي فعال ڪرڻ فائديمند ٿي سگهي ٿو. جمبو فريم سپورٽ کي وڌ ۾ وڌ ٽرانسميشن يونٽ (MTU) کي 1500 جي ڊفالٽ ويليو کان وڏي ويليو ۾ تبديل ڪندي فعال ڪيو ويو آهي. هي ڊوائيس کي نيٽ ورڪ ماحول ۾ وڏن پيڪٽس ۾ ڊيٽا منتقل ڪرڻ جي اجازت ڏئي ٿو. هي سيٽنگ ٿرو پُٽ کي بهتر بڻائي سگهي ٿي ۽ وڏي I/O ورڪ لوڊ لاءِ CPU استعمال کي گهٽائي سگهي ٿي. بهرحال، اهو ننڍي پيڪٽ يا ليٽيسي-حساس ورڪ لوڊ کي متاثر ڪري سگهي ٿو.
نوٽ
جمبو فريم يا وڏيون MTU سيٽنگون توهان جي نيٽ ورڪ ماحول ۾ صحيح طرح سان ترتيب ڏنل هجڻ گهرجن.
MTU سائيز وڌائڻ لاءِ ifconfig ڪمانڊ استعمال ڪريو. مثال طورample، هيٺ ڏنل داخل ڪريو، جتي انٽرفيس نمبر آهي: ifconfig ايم ٽي يو 9000 مٿي
متبادل طور تي، توهان هيٺ ڏنل طريقي سان ip ڪمانڊ استعمال ڪري سگهو ٿا: ip لنڪ سيٽ mtu 9000 dev آئي پي لنڪ سيٽ اپ ڊولپر
پليٽ فارم ٽيوننگ (i40e غير مخصوص)
5.1 BIOS سيٽنگون
- ورچوئلائيزيشن ورڪ لوڊ لاءِ Intel® VT-d کي فعال ڪريو.
- هائپر ٿريڊنگ (منطقي پروسيسر) ڪارڪردگي کي متاثر ڪري سگهن ٿا. پنهنجي ڪم جي لوڊ لاءِ ان کي آن يا آف سان تجربو ڪريو.
- انٽيل® ٽربو بوسٽ سي پي يو ڪور کي سي پي يو جي بنيادي فريڪوئنسي کان وڌيڪ فريڪوئنسي تي ڪم ڪرڻ جي اجازت ڏئي ٿو. انٽيل® ٽربو بوسٽ کي فعال ڪرڻ سان ڪيترن ئي ڪم جي لوڊ لاءِ ڪارڪردگي بهتر ٿي سگهي ٿي پر ڪور کي وڌيڪ فريڪوئنسي تي رکڻ لاءِ وڌيڪ بجلي استعمال ٿئي ٿي. پنهنجي ڪم جي لوڊ لاءِ ٽربو بوسٽ کي بند/آن سان تجربو ڪريو.
نوٽ
جيڪڏهن پليٽ فارم تي مجموعي طور تي سي پي يو جي استعمال ۾ اضافو ٿي رهيو آهي ته ٽربو فريڪوئنسي جي ضمانت نه آهي. اعليٰ ڪور ٽربو فريڪوئنسي گهٽجي وينديون آهن جيئن مجموعي طور تي سي پي يو جي استعمال ۾ اضافو ٿيندو آهي.
5.2 پاور مئنيجمينٽ
پاور مئنيجمينٽ ڪارڪردگي تي اثر انداز ٿي سگھي ٿو، خاص طور تي گھٽ ليٽيسي ڪم لوڊ ۾. جيڪڏهن ڪارڪردگي بجلي جي استعمال کي گهٽائڻ کان وڌيڪ ترجيح آهي، ته انٽيل سفارش ڪري ٿو ته توهان پاور مئنيجمينٽ جي اثرن کي محدود ڪرڻ سان تجربو ڪريو. پاور مئنيجمينٽ کي محدود ڪرڻ جا ڪيترائي مختلف طريقا آهن، آپريٽنگ سسٽم ٽولز، BIOS سيٽنگون، ۽ ڪرنل بوٽ پيرا ميٽرز ذريعي. پنهنجي ماحول جي مطابق بهترين طريقو ۽ سطح چونڊيو.
5.2.1 سي-اسٽيٽ ڪنٽرول
سي-اسٽيٽ جي داخلا کي CO يا C1 تائين محدود ڪرڻ سان ڪارڪردگي بهتر ٿئي ٿي ۽ بجلي جي استعمال ۾ اضافو ٿئي ٿو.
سي پي يو پيڪيج سي 6 اسٽيٽ انٽري کي غير فعال ڪرڻ سان نيٽ ورڪ جي ڪارڪردگي بهتر ٿي سگهي ٿي. جڏهن ته، اهو بجلي جي استعمال کي وڌائي ٿو.
ھيٺ ڏنل اختيارن موجود آھن:
- سي-اسٽيٽ داخلا کي متحرڪ طور تي ڪنٽرول ڪريو:
کليل
/dev/cpu_dma_latency ۽ ان ۾ وڌ ۾ وڌ قابل اجازت ليٽنسي لکو.
نوٽ
هڪ ننڍڙو پروگرام آهي جنهن کي cpudmalatency.c سڏيو ويندو آهي جيڪو اوپن سورس ڪميونٽي تان ڊائون لوڊ ڪري سگهجي ٿو، مرتب ڪري سگهجي ٿو، ۽ ڪمانڊ لائن تان هلائي سگهجي ٿو ته جيئن اهو بلڪل ڪري سگهجي.
هيٺيون سابقample پنج μs جاڳڻ جي وقت جي اجازت ڏئي ٿو، ۽ انهي ڪري C1 جي داخلا جي اجازت ڏئي ٿو: cpudmalatency 5 &
- ڪرنل بوٽ سيٽنگن ۾ وڌ ۾ وڌ سي-اسٽيٽ کي محدود ڪريو:
انٽيل سي پي يوز لاءِ: intel_idle.max_cstates=1
غير انٽيل سي پي يوز لاءِ: processor.max_cstates=1 - سي پي يو سي 6 جي حالت کي چيڪ ڪرڻ ۽ غير فعال ڪرڻ لاءِ سي پي يو پاور ڪمانڊ استعمال ڪريو: چيڪ ڪريو: سي پي يو پاور مانيٽر يا سي پي يو پاور آئيڊل-انفو
C6 کي غير فعال ڪريو: cpupower idle-set -d3 يا
سي-اسٽيٽس کي غير فعال ڪريو: cpupower idle-set -D0
نوٽس:
- جيڪڏهن سرور وٽ Intel® 4th Gen Intel® Xeon® Scalable Processor(s) آهن ته CPU تي C-states کي غير فعال ڪريو. جڏهن هائپر ٿريڊنگ کي فعال يا غير فعال ڪيو ويندو آهي، ته آئيڊل اسٽيٽس (-D0) کي غير فعال ڪرڻ ڪور کي آئيڊل دورن دوران گهٽ پاور اسٽيٽس ۾ داخل ٿيڻ کان روڪيندو آهي ۽ سي پي يو لاءِ آئيڊل ۽ فعال اسٽيٽس جي وچ ۾ منتقلي لاءِ ليٽيسي کي گهٽائيندو آهي.
- انٽيل® فورٿ جنريشن انٽيل® زين® اسڪيليبل پروسيسر جو پاور مئنيجمينٽ انتهائي جارحاڻو آهي. ڪور کي گهٽ پاور اسٽيٽس ۾ داخل ٿيڻ کان روڪڻ لاءِ، استعمال ۾ ڪور جي تعداد کي گهٽائڻ جي ڪوشش ڪريو ته جيئن انهن کي گهڻي وقت تائين جاڳندو رهي (ايٿ ٽول - ايل گڏيل ). انهي سان گڏ، سيٽ irq افينٽي استعمال ڪندي مخصوص ڪورن سان مداخلتن کي پابند ڪريو (گهڻو ڪري -x مقامي يا سي پي يو ڪورن جي فهرست سان)، ۽ يقيني بڻايو ته ڪم لوڊ انهن ساڳين ڪورن تي ٽاسڪ سيٽ يا نمڪٽل سان هلندو آهي. اهو ڪورن کي فعال رکڻ ۽ مداخلت جي هينڊلنگ کي بهتر بڻائي ڪارڪردگي کي بهتر بڻائي ٿو.
C6 کي فعال ڪريو:
سي پي يو پاور آئيڊل سيٽ -ڊي 3
سي-اسٽيٽس کي فعال ڪريو:
سي پي يو پاور آئيڊل سيٽ - اي
- ٻيو طريقو اهو آهي ته ٽيونڊ ٽول (ڪيترن ئي لينڪس ڊسٽريبيوشن سان گڏ) استعمال ڪيو وڃي ته جيئن ڪارڪردگي پرو سيٽ ڪري سگهجي.file. هنن پروfileصارفين ڪيترن ئي او ايس سيٽنگن کي تبديل ڪن ٿا جيڪي ڪيترن ئي ايپليڪيشنن ۾ ڪارڪردگي کي متاثر ڪري سگهن ٿيون. اهو مليو آهي ته نيٽ ورڪ-ٿرو پُٽ پروfile گھڻن ڪم جي لوڊ ۾ بهتري فراهم ڪري ٿو.
چيڪ ڪريو:
ٽيونڊ-ايڊ ايم فعال
سيٽ:
ٽيونڊ-اي ڊي ايم پروfile نيٽ ورڪ-ٿرو پُٽ
نوٽ
مٿي ڏنل حڪمن لاءِ ٽيون ٿيل سروس هلندڙ هجڻ گهرجي. چيڪ ڪرڻ/ٻيهر شروع ڪرڻ لاءِ، ٽيون ڪيو: systemctl status tuned systemctl restart tuned
توهان ڪرنل بوٽ لائن ۾ هيٺ ڏنل شامل ڪندي ڪنهن به سي-اسٽيٽ داخلا کي به رد ڪري سگهو ٿا:
بيڪار = پول - سسٽم جي BIOS پاور مئنيجمينٽ سيٽنگن ذريعي سي-اسٽيٽ کي محدود ڪريو، جنهن ۾ ڪارڪردگي پرو ٿي سگهي ٿي.file دستياب.
پاور مئنيجمينٽ سيٽنگز کي چيڪ ڪرڻ يا سيٽ ڪرڻ لاءِ ٽربوسٽٽ يا x86_energy_perf_policy جهڙا اوزار استعمال ڪري سگھجن ٿا.
5.2.2 PCIe پاور مئنيجمينٽ
ايڪٽو اسٽيٽ پاور مئنيجمينٽ (ASPM) PCIe لنڪس لاءِ گهٽ پاور اسٽيٽ کي فعال بڻائي ٿو جڏهن اهي فعال استعمال ۾ نه هوندا آهن. اهو PCIe نيٽ ورڪ ڊوائيسز تي وڌيڪ ليٽيسي جو سبب بڻجي سگهي ٿو، تنهن ڪري انٽيل سفارش ڪري ٿو ته توهان ليٽيسي-حساس ڪم لوڊ لاءِ ASPM کي غير فعال ڪريو. ڪرنل بوٽ لائن ۾ هيٺ ڏنل شامل ڪندي ASPM کي غير فعال ڪريو: pcie_aspm=off
5.2.3 سي پي يو فريڪوئنسي اسڪيلنگ
سي پي يو فريڪوئنسي اسڪيلنگ (يا سي پي يو اسپيڊ اسڪيلنگ) هڪ لينڪس پاور مئنيجمينٽ ٽيڪنڪ آهي جنهن ۾ سسٽم ڪلاڪ اسپيڊ کي بجلي ۽ گرمي بچائڻ لاءِ اڏام تي ترتيب ڏنو ويندو آهي. بلڪل سي-اسٽيٽس وانگر، هي نيٽ ورڪ ڪنيڪشن تي ناپسنديده دير جو سبب بڻجي سگهي ٿو.
سي پي يو پاور ٽول سي پي يو جي ڪارڪردگي ڊفالٽ ۽ حدن کي جانچڻ ۽ تبديل ڪرڻ لاءِ پڻ استعمال ڪري سگھجي ٿو:
- چيڪ ڪريو: سي پي يو پاور مانيٽر يا
- سي پي يو کي ڪارڪردگي موڊ تي سيٽ ڪريو: سي پي يو پاور فريڪوئنسي-سيٽ - جي ڪارڪردگي
نوٽ
سي پي يو فريڪوئنسي جي حدن ۾ تبديليون ڪيترن ئي ڪم جي لوڊ تي اثر انداز ٿي سگهن ٿيون ۽ ٻين خاصيتن کي غير فعال ڪري سگهن ٿيون، جهڙوڪ سي پي يو ٽربو موڊ.
سي پي يو فريڪوئنسي اسڪيلنگ کي غير فعال ڪرڻ لاءِ، هيٺ ڏنل حڪمن سان سي پي يو پاور سروس کي غير فعال ڪريو:
systemctl cpupower.service کي روڪيو
systemctl cpupower.service کي غير فعال ڪريو
5.2.4 اضافي پاور مئنيجمينٽ گائيڊنس
وڌيڪ تفصيل هن اعليٰ سطحي اوور ۾ مهيا ڪيا ويا آهنview ٽئين نسل جي Intel® Xeon® اسڪيلبل پروسيسرز ۾ پاور مئنيجمينٽ جي ڪيترين ئي خاصيتن جي، انهي سان گڏ هدايت ته انهن خاصيتن کي پليٽ فارم جي سطح تي ڪيئن ضم ڪري سگهجي ٿو: https://networkbuilders.intel.com/solutionslibrary/power-management-technologyoverview-technology-guide
5.3 انٽيل® ٽربو بوسٽ
انٽيل® ٽربو بوسٽ پروسيسر کي ضرورت پوڻ تي تيز ڪري ٿو پر اضافي بجلي استعمال ڪري سگهي ٿو. ٽربو بوسٽ کي بند ڪرڻ سان پروسيسر هڪ مستحڪم رفتار تي رهي ٿو، توهان کي مخصوص ڪم جي لوڊ لاءِ هڪجهڙائي واري ڪارڪردگي جي سطح ڏئي ٿو.
5.4 فائر والز
فائر والز ڪارڪردگي تي اثر انداز ٿي سگهن ٿا، خاص طور تي دير جي ڪارڪردگي.
جيڪڏهن ضرورت نه هجي ته iptables/firewalld کي غير فعال ڪريو.
5.5 ايپليڪيشن سيٽنگون
گهڻو ڪري هڪ واحد ٿريڊ (جيڪو هڪ واحد نيٽ ورڪ قطار سان ملندو آهي) وڌ ۾ وڌ بينڊوڊٿ حاصل ڪرڻ لاءِ ڪافي ناهي. ڪجهه پليٽ فارم آرڪيٽيڪچر، جهڙوڪ AMD، انٽيل تي ٻڌل پروسيسرز سان پليٽ فارمن جي مقابلي ۾ هڪ واحد ٿريڊ سان وڌيڪ Rx پيڪٽ ڇڏڻ جو رجحان رکن ٿا.
نيٽ ورڪ ڊيوائس تي مقامي طور تي NUMA نوڊ يا CPU ڪور تي ايپليڪيشنن کي پن ڪرڻ لاءِ ٽاسڪ سيٽ يا نمڪٽل جهڙن اوزارن کي استعمال ڪرڻ تي غور ڪريو. ڪجهه ڪم لوڊ جهڙوڪ اسٽوريج I/O لاءِ، ايپليڪيشن کي غير مقامي نوڊ ڏانهن منتقل ڪرڻ فائدو فراهم ڪري ٿو.
جيڪڏهن ممڪن هجي ته پنهنجي ايپليڪيشن پاران استعمال ٿيندڙ موضوعن جو تعداد وڌائڻ سان تجربو ڪريو.
5.6 ڪرنل ورجن
گھڻا جديد ان-باڪس ڪرنل ڪارڪردگي لاءِ مناسب طور تي بهتر ڪيل آهن پر، توهان جي استعمال جي صورت تي منحصر ڪري، ڪرنل کي اپڊيٽ ڪرڻ سان بهتر ڪارڪردگي ملي سگهي ٿي. سورس ڊائون لوڊ ڪرڻ سان توهان ڪنيل ٺاهڻ کان اڳ ڪجهه خاصيتن کي فعال/غير فعال ڪرڻ جي قابل پڻ ٿي سگهو ٿا.
5.7 آپريٽنگ سسٽم/ڪرنل سيٽنگون
عام آپريٽنگ سسٽم ٽيوننگ تي وڌيڪ بصيرت لاءِ آپريٽنگ سسٽم ٽيوننگ گائيڊ، جهڙوڪ ريڊ هيٽ انٽرپرائز لينڪس نيٽ ورڪ پرفارمنس ٽيوننگ گائيڊ، ڏسو.
هيٺ ڏنل جدول ۾ ڪجهه عام پيرا ميٽرز کي ترتيب ڏيڻ لاءِ درج ڪيو ويو آهي. ياد رکو ته اهي صرف تجويز ڪيل شروعاتي نقطا آهن، ۽ انهن کي ڊفالٽ کان تبديل ڪرڻ سان سسٽم تي استعمال ٿيندڙ وسيلن ۾ اضافو ٿي سگهي ٿو. جيتوڻيڪ قدرن کي وڌائڻ سان ڪارڪردگي بهتر ڪرڻ ۾ مدد ملي سگهي ٿي، اهو ضروري آهي ته مختلف قدرن سان تجربو ڪيو وڃي ته جيئن اهو طئي ڪري سگهجي ته ڏنل سسٽم، ڪم جي لوڊ ۽ ٽرئفڪ جي قسم لاءِ ڪهڙو بهترين ڪم ڪري ٿو.
ڪرنل پيرا ميٽرز لينڪس ۾ sysctl يوٽيليٽي استعمال ڪندي ترتيب ڏئي سگهجن ٿا جيئن هيٺ ڏيکاريل آهي.
جي طرف view سسٽم تي rmem ۽ wmem لاءِ ڊفالٽ ويليوز:
سسٽم نيٽ.ڪور.رميم_ڊفالٽ
سسٽم نيٽ.ڪور.ڊبليو ايم_ڊفالٽ
وڌ ۾ وڌ قدر مقرر ڪريو (16 ايم بي):
سسٽم -w نيٽ.ڪور.رميم_ميڪس = 16777216
سسٽم -w نيٽ.ڪور.ڊبليو ايم_ميڪس = 16777216
ساکٽ بفر سائيز، جن کي رسيو بفر (rmem) ۽ ٽرانسمٽ بفر (wmem) پڻ چيو ويندو آهي، اهي سسٽم پيرا ميٽر آهن جيڪي ايندڙ ۽ ٻاهر نڪرندڙ نيٽ ورڪ ٽرئفڪ لاءِ محفوظ ڪيل ميموري جي مقدار کي بيان ڪن ٿا.
-w دليل کان سواءِ sysctl هلائڻ سان پيرا ميٽر ان جي موجوده سيٽنگ سان گڏ لسٽ ٿئي ٿو.
اسٽيڪ سيٽنگ | وصف |
نيٽ.ڪور.رميم_ڊفالٽ | ڊفالٽ وصولي ونڊو سائيز |
نيٽ.ڪور.ڊبليو ايم_ڊفالٽ | ڊفالٽ ٽرانسمٽ ونڊو سائيز |
نيٽ.ڪور.رميم_ميڪس | وڌ ۾ وڌ رسيو ونڊو سائيز |
نيٽ.ڪور.ڊبليو ايم_ميڪس | وڌ ۾ وڌ ٽرانسمٽ ونڊو سائيز |
نيٽ.ڪور.آپٽميم_ميڪس | وڌ ۾ وڌ آپشن ميموري بفرز |
نيٽ.ڪور.نيٽ ديو_ميڪس_بئڪ لاگ | ڪرنل ڇڏڻ کان اڳ غير پروسيس ٿيل پيڪٽن جو بيڪ لاگ |
نيٽ. آءِ پي وي 4. ٽي سي پي_رميم | TCP پڙهڻ واري بفر لاءِ ميموري رزرو ڪندڙ |
نيٽ.آئي پي وي 4.ٽي سي پي_ڊبليو ايم | TCP موڪليندڙ بفرن لاءِ ميموري رزرو ڪندڙ |
ڪرنل، نيٽ ورڪ اسٽيڪ، ميموري هينڊلر، سي پي يو اسپيڊ، ۽ پاور مئنيجمينٽ پيرا ميٽرز نيٽ ورڪ جي ڪارڪردگي تي وڏو اثر وجهي سگهن ٿا. هڪ عام سفارش نيٽ ورڪ ٿرو پُٽ پرو تي لاڳو ڪرڻ آهي.file ٽيونڊ ڪمانڊ استعمال ڪندي. هي نيٽ ورڪنگ ايپليڪيشنن کي ترجيح ڏيڻ لاءِ ڪجھ او ايس سيٽنگز کي تبديل ڪري ٿو.
چيڪ ڪريو:
ٽيونڊ-ايڊ ايم فعال
سيٽ:
ٽيونڊ-اي ڊي ايم پروfile نيٽ ورڪ-ٿرو پُٽ
5.8 نيٽ ورڪ ڊيوائس بيڪ لاگ
هي خصوصيت ايندڙ ٽرئفڪ کي مؤثر طريقي سان منظم ڪرڻ، پيڪٽ نقصان کي گهٽائڻ، دير کي گهٽائڻ، ۽ ٿرو پُٽ کي وڌائڻ سان نيٽ ورڪ جي ڪارڪردگي کي بهتر بڻائڻ ۾ مدد ڪري ٿي. اهو هڪ بهتر صارف تجربو ۽ تيز سسٽم جواب جي طرف وٺي ٿو.
ڊفالٽ طور، اهو گھڻن لينڪس آپريٽنگ سسٽم ۾ فعال هوندو آهي. ڊفالٽ ويليو چيڪ ڪرڻ لاءِ:
سسٽم نيٽ.ڪور.نيٽ ڊيو_مڪس_بئڪ لاگ
netdev_max_backlog جي وڌ ۾ وڌ قيمت ڪرنل ورزن، هارڊويئر، ميموري، ۽ ڪم جي لوڊ جهڙن عنصرن جي لحاظ کان مختلف ٿي سگهي ٿي. ڪيترن ئي ڪيسن ۾، 8192 کي سٺي قيمت طور ڏٺو ويندو آهي. sysctl -w net.core.netdev_max_backlog=8192
5.9 پليٽ فارم جي مخصوص ترتيب ۽ ٽيوننگ
5.9.1 چوٿين نسل جو Intel® Xeon® اسڪيلبل پروسيسرز
انٽيل® فورٿ جنريشن انٽيل® زين® اسڪيليبل پروسيسر جو پاور مئنيجمينٽ ٽئين جنريشن انٽيل® زين® اسڪيليبل پروسيسرز جي مقابلي ۾ انتهائي جارحاڻو آهي. ڪور کي گهٽ پاور اسٽيٽس ۾ داخل ٿيڻ کان روڪڻ لاءِ، استعمال ۾ ڪور جي تعداد کي گهٽائڻ جي ڪوشش ڪريو ته جيئن انهن کي گهڻي وقت تائين جاڳندو رهي.
اعليٰ ترين ڪارڪردگي لاءِ تجويز ڪيل بايوس سيٽنگون
- سي پي يو تي هائپر-ٿريڊنگ فعال/غير فعال (ڪور لوڊ جي ضرورت ۽ ڪارڪردگي جي مقصدن جي بنياد تي).
- سسٽم پرو سيٽ ڪريوfile وڌ ۾ وڌ ڪارڪردگي لاءِ ڪارڪردگي ڏانهن.
نوٽ
ان جي نتيجي ۾ بجلي جو استعمال وڌيڪ ٿئي ٿو - سي پي يو پاور مئنيجمينٽ کي وڌ ۾ وڌ ڪارڪردگي تي سيٽ ڪريو ته جيئن پاور ڪارڪردگي تي وڌ ۾ وڌ سي پي يو ڪارڪردگي کي ترجيح ڏني وڃي.
- ٽربو بوسٽ کي فعال ڪريو. سسٽم BIOS سيٽنگز ۾ ٽربو بوسٽ کي غير فعال ڪرڻ عام طور تي سي پي يو کي ان جي بنيادي فريڪوئنسي کان وڌيڪ متحرڪ طور تي ڪلاڪ جي رفتار وڌائڻ کان روڪي ٿو.
- نوٽ
ٽربو بوسٽ کي غير فعال ڪرڻ ڪجهه استعمال جي ڪيسن لاءِ مناسب ٿي سگهي ٿو جتي مسلسل ڪارڪردگي، بجلي جي ڪارڪردگي، يا حرارتي انتظام کي وڌ کان وڌ ڪارڪردگي تي ترجيح ڏني وڃي ٿي. - جيڪڏهن سسٽم ورچوئلائيزيشن ٽيڪنالاجي استعمال نه ڪري رهيو آهي ته سنگل روٽ I/O ورچوئلائيزيشن (SR-IOV) فيچر کي بند ڪريو.
- سي پي يو کي فعال رهڻ ۽ وڌيڪ بيڪار حالتن ۾ داخل ٿيڻ کان روڪڻ لاءِ سي-اسٽيٽس کي غير فعال ڪريو.
- C1E کي غير فعال ڪريو، انهي کي يقيني بڻائڻ لاءِ ته CPU فعال رهي ۽ C1E آئيڊل حالت ۾ داخل نه ٿئي.
- سسٽم کي سڀ کان وڌيڪ دستياب فريڪوئنسي تي هلائڻ جي هدايت ڪرڻ لاءِ انڪور فريڪوئنسي کي وڌ ۾ وڌ سيٽ ڪريو.
- ڊيل پليٽ فارمن تي، سي پي يو ڪور جي واضح ۽ پيش گوئي واري نقشي مهيا ڪرڻ لاءِ ملٽيپل APIC ڊسڪريپشن ٽيبل (MADT) ڪور ايموليشن کي لينئر (يا BIOS تي منحصر گول رابن) تي سيٽ ڪريو.
بهتر ڪارڪردگي لاءِ تجويز ڪيل او ايس ليول ٽيوننگ
- سي پي يو فريڪوئنسي اسڪيلنگ گورنر کي ڪارڪردگي تي سيٽ ڪريو. cpupower frequency-set -g ڪارڪردگي cpupower frequency-info
- سي-اسٽيٽس کي غير فعال ڪريو. cpupower idle-set -D0
- ڪور Rx (rmem) ۽ Tx (wmem) بفرز کي وڌ ۾ وڌ قدر تي سيٽ ڪريو. sysctl -w net.core.rmem_max=16777216 sysctl -w net.core.wmem_max=16777216
- نيٽ ورڪ ڊيوائس بيڪ لاگ سيٽ ڪريو. sysctl -w net.core.netdev_max_backlog=8192
- ٽيون ٿيل پرو سيٽ ڪريوfile (ڪم جو لوڊ ٿرو پُٽ/ليٽنسي تي منحصر آهي).
ٽيونڊ-اي ڊي ايم پروfile نيٽ ورڪ-ٿرو پُٽ
بهتر ڪارڪردگي لاءِ تجويز ڪيل اڊاپٽر ليول ٽيوننگ
- ايپليڪيشن ٽرئفڪ لاءِ استعمال ڪرڻ لاءِ قطارن جي تعداد کي محدود ڪريو. لاڳاپيل سي پي يو ڪور کي فعال رکڻ لاءِ گهربل قطارن جي گھٽ ۾ گھٽ تعداد استعمال ڪريو ته جيئن انهن کي وڌيڪ بيڪار حالتن ۾ داخل ٿيڻ کان روڪيو وڃي (ڪور لوڊ لاءِ ترتيب ڏيو): ethtool -L گڏيل 32
- مداخلت جي چڪاس جي شرح مقرر ڪريو. ethtool -C اڊاپٽو-آر ايڪس آف اڊاپٽو-ٽي ايڪس آف آر ايڪس-يو ايس اي سي ايس-هاءِ 50 آر ايڪس-يو ايس اي سي ايس 50 ٽي ايڪس-يو ايس اي سي ايس 50
ڪم جي لوڊ لاءِ بهترين قدر ڳولڻ لاءِ ٽرانسمٽ/رسيور/هاءِ-پرائيوريٽي ڪوئليسنگ ٽائمر کي وڌيڪ (80/100/150/200) يا گهٽ (25/20/10/5) ترتيب ڏيڻ جي ڪوشش ڪريو. - Rx/Tx رنگ جي سائيز مقرر ڪريو. ethtool -G آر ايڪس 4096 ٽي ايڪس 4096
نوٽ
جيڪڏهن توهان ethtool -S| grep drop سان Rx پيڪٽ ڊراپس ڏسندا آهيو، ته رنگ جي سائيز کي <4096 تائين گهٽائڻ جي ڪوشش ڪريو. ڪم جي لوڊ لاءِ بهترين قدر ڳولڻ جي ڪوشش ڪريو جتي پيڪٽ نه ڇڏيا وڃن. - IRQ Affinity سيٽ ڪريو. NIC ۾ مقامي ڪور استعمال ڪريو، يا مخصوص ڪور ميپنگ (جتي # ڪور صفحي 1 تي 26 ۾ سيٽ ڪيل قطارن جي تعداد جي برابر آهي. systemctl اسٽاپ irqbalance set_irq_affinity -X مقامي يا سيٽ_آئرق_افنيٽي -X
5.9.2 اي ايم ڊي اي پي وائي سي
AMD EPYC پروسيسر طاقتور سي پي يو آهن جيڪي سرورز ۽ ڊيٽا سينٽرن لاءِ ٺاهيا ويا آهن، جيڪي AMD جي زين آرڪيٽيڪچر تي ٺهيل آهن. هيٺ ڏنل سيٽنگون AMD جي چوٿين نسل جي EPYC سيريز مان آهن.
اعليٰ ترين ڪارڪردگي لاءِ تجويز ڪيل BIOS سيٽنگون
- ڪسٽم موڊ کي فعال ڪريو ته جيئن صارفين سي پي يو جي ڪارڪردگي، بجلي جي استعمال، ۽ ٻين سيٽنگن کي ترتيب ڏئي سگهن. هي ڪارڪردگي ۽ توانائي جي ڪارڪردگي جي وچ ۾ بهترين توازن لاءِ سسٽم کي بهتر ڪرڻ ۾ مدد ڪري ٿو.
- ڪور پرفارمنس بوسٽ کي فعال ڪريو ته جيئن سي پي يو وڌيڪ سخت ڪمن کي سنڀالڻ لاءِ پنهنجي رفتار کي خودڪار طريقي سان وڌائي سگهي، مجموعي ڪارڪردگي کي بهتر بڻائي.
- گلوبل سي-اسٽيٽ ڪنٽرول کي غير فعال ڪريو، ته جيئن سي پي يو کي وڌيڪ گهري بجلي بچائڻ وارين حالتن ۾ داخل ٿيڻ کان روڪيو وڃي جيڪي سي-اسٽيٽس جي نالي سان مشهور آهن، جيڪي ردعمل برقرار رکي سگهن ٿيون.
نوٽ
سي-اسٽيٽس کي غير فعال ڪرڻ سان اضافي بجلي جي استعمال ۽ حرارتي گرمي پد ۾ اضافو ٿي سگهي ٿو. ڪم جي لوڊ لاءِ ٻنهي جي نگراني ڪريو. - ڪم جي لوڊ جي ضرورت ۽ ڪارڪردگي جي مقصدن جي بنياد تي، سي پي يو تي هڪجهڙائي ملٽي ٿريڊنگ (ايس ايم ٽي) کي فعال/غير فعال ڪريو. ايس ايم ٽي انٽيل سي پي يو تي هائپر ٿريڊنگ جي برابر آهي.
نوٽ
بهتر ڪارڪردگيءَ لاءِ، تجويز ڪيل OS ۽ اڊاپٽر ليول ٽيوننگ لاءِ صفحي 40 تي ٽيوننگ i13e ڊرائيور سيٽنگون ۽ صفحي 40 تي پليٽ فارم ٽيوننگ (i19e غير مخصوص) ڏسو.
اڊاپٽر بانڊنگ
لينڪس بانڊنگ هڪ طاقتور خصوصيت آهي جيڪا سرور جي ماحول ۾ نيٽ ورڪ جي ڪارڪردگي، ريڊنڊنسي، ۽ فالٽ برداشت کي خاص طور تي بهتر بڻائي سگهي ٿي. بهرحال، اهو نوٽ ڪرڻ ضروري آهي ته ان کي صحيح طريقي سان ڪم ڪرڻ لاءِ سرور ۽ سوئچ ٻنهي تي مطابقت رکندڙ نيٽ ورڪ هارڊويئر ۽ مناسب ترتيب جي ضرورت آهي.
لينڪس ۾ بانڊنگ ڊرائيور توهان کي ڪيترن ئي جسماني نيٽ ورڪ انٽرفيس کي هڪ بانڊڊ انٽرفيس ۾ گڏ ڪرڻ جي اجازت ڏئي ٿو. هي بانڊڊ انٽرفيس آپريٽنگ سسٽم ۽ ايپليڪيشنن لاءِ هڪ واحد ورچوئل نيٽ ورڪ انٽرفيس جي طور تي ظاهر ٿئي ٿو.
نوٽ
بانڊ هڪ منطقي انٽرفيس آهي، تنهنڪري بانڊ انٽرفيس تي سڌو سنئون سي پي يو لاڳاپو مقرر ڪرڻ ممڪن ناهي (مثال طورample, bond0). يعني، ان جو مداخلت واري هٿ ڪرڻ يا CPU لاڳاپي تي ڪو به سڌو ڪنٽرول ناهي. CPU لاڳاپي کي بانڊ جو حصو بڻجندڙ بنيادي انٽرفيس لاءِ ترتيب ڏيڻ گهرجي.
بانڊنگ آپريشن جا ڪيترائي طريقا مهيا ڪري ٿي، هر هڪ پنهنجي خاصيتن سان.
موڊ | قسم |
0 | گول رابن |
1 | فعال بيڪ اپ |
2 | XOR |
3 | براڊڪاسٽ |
4 | LACP |
5 | لوڊ بيلنس منتقل ڪريو |
6 | موافقت وارو لوڊ بيلنس |
لينڪس ۾ بانڊنگ ٺاهڻ جا مختلف طريقا آهن. سڀ کان عام طريقن مان هڪ نيٽ ورڪ ڪنفيگريشن استعمال ڪندي آهي. files (مثال طورample، /etc/network/ انٽرفيس يا /etc/sysconfig/network-scripts/ifcfg-bondX).
نيٽ ورڪ ڪنفيگريشن استعمال ڪندي ڪنفيگريشن Files
هيٺيان قدم نيٽ ورڪ ترتيب ذريعي بانڊنگ ٺاهيندا آهن. files.
- بانڊنگ لاءِ ٻه يا وڌيڪ NIC پورٽ چونڊيو (مثال طورamp(لي، ايٿ ايڪس ۽ ايٿ وائي)
- اين آءِ سي ڪنفگريشن کوليو Fileگهربل NIC انٽرفيس لاءِ /etc/sysconfig/network-scripts/ جي تحت s (مثال طورample، vi ifcfg-ethX ۽ vi ifcfg-ethY) ۽ هيٺ ڏنل متن شامل ڪريو:
MASTER=bondN [نوٽ: N بانڊ نمبر جو ذڪر ڪرڻ لاءِ هڪ عدد آهي.] SLAVE=ها - هڪ بانڊ نيٽ ورڪ اسڪرپٽ ٺاهيو file vi /etc/sysconfig/networkscripts/ifcfg-bondN استعمال ڪندي ۽ هيٺ ڏنل متن داخل ڪريو:
DEVICE=bondN [نوٽ: N بانڊ نمبر جو ذڪر ڪرڻ لاءِ هڪ عدد آهي] ONBOOT=ها USERCTL=نه BOOTPROTO=dhcp (يا) ڪو به نه
IPADDR=200.20.2.4 [ضروري آهي جيڪڏهن BOOTPROTO=ڪو به نه] NETMASK=255.255.255.0 [ضروري آهي جيڪڏهن BOOTPROTO=ڪو به نه] NETWORK=200.20.2.0 [ضروري آهي جيڪڏهن BOOTPROTO=ڪو به نه] BROADCAST=200.20.2.255 [ضروري آهي جيڪڏهن BOOTPROTO=ڪو به نه] BONDING_OPTS=”mode=1 miimon=100″
نوٽ
ضرورت جي بنياد تي موڊ 0 کان 6 تائين ڪو به عدد ٿي سگهي ٿو. - سروس نيٽ ورڪ ريسٽارٽ يا سسٽم سي ٽي ايل ريسٽارٽ استعمال ڪندي نيٽ ورڪ سروسز کي ريسٽارٽ ڪريو NetworkManager.service
ڪارڪردگي جو مسئلو حل ڪرڻ
7.1 سي پي يو استعمال
ڪم لوڊ هلندڙ هجڻ دوران في ڪور سي پي يو جي استعمال کي چيڪ ڪريو.
ياد رهي ته في ڪور استعمال مجموعي سي پي يو استعمال جي ڀيٽ ۾ ڪارڪردگي سان وڌيڪ لاڳاپيل آهي ڇو ته اهو هر نيٽ ورڪ قطار ۾ سي پي يو استعمال جو خيال فراهم ڪري ٿو. جيڪڏهن توهان وٽ صرف ڪجهه ٿريڊ نيٽ ورڪ ٽرئفڪ هلائي رهيا آهن، ته پوءِ توهان وٽ صرف ڪجهه ڪور استعمال ٿي سگهن ٿا. جڏهن ته، جيڪڏهن اهي ڪور 100٪ تي آهن، ته پوءِ توهان جو نيٽ ورڪ ٿرو پُٽ سي پي يو استعمال جي ڪري محدود هوندو ۽ اهو هيٺ ڏنل ڪم ڪرڻ جو وقت آهي:
- IRQ ماڊريشن/رنگ سائيز کي ٽيون ڪريو جيئن انٽرپٽ ماڊريشن ۾ تفصيل سان بيان ڪيو ويو آهي.
- سي پي يو لوڊ کي وڌيڪ ڪورن تي پکيڙڻ لاءِ ايپليڪيشن ٿريڊز جو تعداد وڌايو. جيڪڏهن سڀئي ڪور 100٪ تي هلي رهيا آهن ته پوءِ توهان جي ايپليڪيشن نيٽ ورڪ پابند ٿيڻ بدران سي پي يو پابند ٿي سگهي ٿي.
عام طور تي موجود اوزار:
- مٿي
— سي پي يو جي فهرست کي وڌائڻ لاءِ 1 کي دٻايو ۽ چيڪ ڪريو ته ڪهڙا استعمال ٿي رهيا آهن.
— استعمال جي سطح تي ڌيان ڏيو.
— ڏسو ته ڪهڙا عمل سڀ کان وڌيڪ فعال طور تي درج ٿيل آهن (فهرست جي چوٽي تي). - ايم پي اسٽيٽ
هيٺيون سابقample ڪمانڊ لائن کي Red Hat Enterprise Linux 7.x تي آزمايو ويو.
اهو في ڪور سي پي يو استعمال ڏيکاري ٿو (ڪل سيڪڙو بيڪار ڳولڻ ۽ 100 مان گھٽائڻ سان) ۽ 80٪ کان مٿي قدرن کي ڳاڙهي رنگ ۾ نمايان ڪري ٿو. mpstat -P ALL 1 1 | grep -v سراسري | tail -n +5 | head -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
- صرف غير صفر ڪائونٽر ڏسڻ لاءِ: watch -d (ethtool -S ethX) | egrep -v :\ 0 | column
ڪجهه شيون ڳولڻ لاءِ: - rx_dropped جو مطلب آهي ته سي پي يو بفرز کي تيزيءَ سان سروس نه ڪري رهيو آهي.
- port.rx_dropped جو مطلب آهي ته ڪا شيءِ سلاٽ/ميموري/ سسٽم ۾ ڪافي تيز نه آهي.
7.3 نيٽ ورڪ ڪائونٽر
ڪم لوڊ هلائڻ کان اڳ/بعد ۾ نيٽ اسٽيٽ -s چيڪ ڪريو.
نيٽ اسٽيٽ سسٽم ۾ سڀني نيٽ ورڪ ڊوائيسز کان نيٽ ورڪ جي معلومات گڏ ڪري ٿو. تنهن ڪري، نتيجا ٽيسٽ هيٺ نيٽ ورڪ کان سواءِ ٻين نيٽ ورڪن کان متاثر ٿي سگهن ٿا. نيٽ اسٽيٽ -s مان آئوٽ پُٽ لينڪس آپريٽنگ سسٽم يا ڪرنل ۾ ڪارڪردگي جي مسئلن جو هڪ سٺو اشارو ٿي سگهي ٿو. عام آپريٽنگ سسٽم ٽيوننگ تي وڌيڪ بصيرت لاءِ آپريٽنگ سسٽم ٽيوننگ گائيڊز، جهڙوڪ ريڊ هيٽ انٽرپرائز لينڪس نيٽ ورڪ پرفارمنس ٽيوننگ گائيڊ، سان صلاح ڪريو.
7.4 سسٽم لاگز
غلطين ۽ ڊيڄاريندڙن لاءِ سسٽم لاگ چيڪ ڪريو (/var/log/messages, dmesg).
7.5 انٽيل ايس وي آر-انفو ٽول
انٽيل هڪ ايس وي آر-انفو ٽول فراهم ڪري ٿو (ڏسو https://github.com/intel/svr-info) لينڪس لاءِ جيڪو سرور کان لاڳاپيل هارڊويئر ۽ سافٽ ويئر تفصيلن کي قبضو ڪري ٿو. svr-info آئوٽ پُٽ سسٽم جي رڪاوٽن يا سيٽنگن/ ٽيوننگز کي سڃاڻڻ لاءِ انتهائي مددگار ثابت ٿي سگهي ٿو جيڪي ڪم جي لوڊ لاءِ بهتر نه آهن. ايٿرنيٽ سان لاڳاپيل ڪارڪردگي جي مسئلن لاءِ انٽيل سان سپورٽ ڪيس کولڻ وقت، svr-info آئوٽ پُٽ شامل ڪرڻ جي پڪ ڪريو (ٽيڪسٽ file) ٽيسٽ ترتيب ۾ هر لينڪس سرور لاءِ.
- svr-info ڊائون لوڊ ۽ انسٽال ڪريو:
ويجيٽ -ڪي او- https://github.com/intel/svr-info/releases/latest/download/svrinfo.tgz| ٽار xvz سي ڊي ايس وي آر-معلومات
./svr-معلومات
> ميزبان نالو.txt - پيداوار گڏ ڪريو:
./svr-info > ميزبان نالو.txt - هڪ متن (.txt) شامل ڪريو file هر سرور لاءِ توهان جي انٽيل سپورٽ ڪيس کي تجزيو لاءِ.
عام ڪارڪردگي جي منظرنامي لاءِ سفارشون
8.1 IP فارورڊنگ
- ڪرنل کي اپڊيٽ ڪريو.
ڪجهه تازين ان-ڊسٽرو ڪنيلز روٽنگ ڪوڊ ۾ ڪرنل تبديلين جي ڪري روٽنگ ڪارڪردگي کي خراب ڪيو آهي، سيڪيورٽي جي ڪري روٽنگ ڪيش کي هٽائڻ سان شروع ٿئي ٿو. تازين آئوٽ آف ڊسٽرو ڪنيلز ۾ پيچ هجڻ گهرجن جيڪي انهن تبديلين جي ڪارڪردگي اثر کي گهٽائي سگهن ٿا ۽ بهتر ڪارڪردگي فراهم ڪري سگهن ٿا. - هائپر-ٿريڊنگ (منطقي ڪور) کي بند ڪريو.
- ڪرنل بوٽ پيرا ميٽرز کي ايڊٽ ڪريو.
— ڪرنل بوٽ لائن تان iommu کي زبردستي بند ڪريو (intel_iommu=off يا iommu=off) جيستائين ورچوئلائيزيشن لاءِ گهربل نه هجي.
— پاور مئنيجمينٽ بند ڪريو: processor.max_cstates=1 idle=poll pcie_aspm=off - قطارن جي تعداد کي مقامي ساکٽ تي ڪور جي تعداد جي برابر محدود ڪريو (هن اڳوڻي ۾ 12)ample). ethtool -L ethX گڏيل 12
- پن صرف مقامي ساکٽ ۾ مداخلت ڪري ٿو. set_irq_affinity -X مقامي ethX يا set_irq_affinity -X مقامي 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 off adaptive-tx off ethtool -C ethX rx-usecs 64 tx-usecs 64
نوٽ
پروسيسر جي قسم ۽ ڪم جي لوڊ تي منحصر ڪري، RX ۽ TX لاءِ ڪوئليسنگ پيرا ميٽرز کي بهتر ڪارڪردگي (يا گهٽ فريم نقصان) لاءِ ترتيب ڏئي سگهجي ٿو.
- فائر وال کي بند ڪريو. sudo systemctl فائر والڊ کي بند ڪريو sudo systemctl اسٽاپ فائر والڊ
- IP فارورڊنگ کي فعال ڪريو. sysctl -w net.ipv4.ip_forward=1
- وصول ڪرڻ ۽ موڪلڻ واري ساکٽ بفر سائيز لاءِ وڌ ۾ وڌ قدر ترتيب ڏيو. sysctl -w net.core.rmem_max=16777216 sysctl -w net.core.wmem_max=16777216
نوٽ
ڪم جي لوڊ يا ضرورت تي مدار رکندي، اهي قدر ڊفالٽ کان تبديل ڪري سگھجن ٿا.
8.2 گھٽ دير
- هائپر-ٿريڊنگ (منطقي ڪور) کي بند ڪريو.
- پڪ ڪريو ته نيٽ ورڪ ڊيوائس numa core 0 تي مقامي آهي.
- ٽاسڪ سيٽ -c 0 استعمال ڪندي بينچ مارڪ کي ڪور 0 تي پن ڪريو.
- systemctl استعمال ڪندي irqbalance بند ڪريو irqbalance کي روڪيو يا systemctl irqbalance کي غير فعال ڪريو
- ڪورن ۾ پکيڙڻ لاءِ افينٽي اسڪرپٽ هلايو. مقامي يا سڀ ڪوشش ڪريو.
- مداخلت جي چڪاس بند ڪريو. ethtool -C ethX rx-usecs 0 tx-usecs 0 adaptive-rx off adaptive-tx off rxusecs- high 0
- قطارن جي تعداد کي مقامي ساکٽ تي ڪور جي تعداد جي برابر هجڻ جي حد مقرر ڪريو (هن اڳوڻي ۾ 32)ample). ethtool -L ethX گڏيل 32
- پن صرف مقامي ساکٽ ۾ مداخلت ڪري ٿو (اسڪرپٽ 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
انٽيل ® ايٿرنيٽ 700 سيريز
لينڪس پرفارمنس ٽيوننگ گائيڊ
ڊسمبر 2024
دستاويز نمبر: 334019، حوالو: 1.2
دستاويز / وسيلا
![]() |
انٽيل ايٿرنيٽ 700 سيريز لينڪس پرفارمنس ٽيوننگ [pdf] استعمال ڪندڙ ھدايت 334019، ايٿرنيٽ 700 سيريز لينڪس پرفارمنس ٽيوننگ، ايٿرنيٽ 700 سيريز، لينڪس پرفارمنس ٽيوننگ، پرفارمنس ٽيوننگ، ٽيوننگ |