Intel ® Ethernet 700 Series
Linux ishlashini sozlash bo'yicha qo'llanma
NEX Cloud Networking Group (NCNG)
Vahiy 1.2
2024 yil dekabr
Qayta ko'rib chiqish tarixi
Qayta ko'rib chiqish | Sana | Fikrlar |
1.2 | 2024 yil dekabr | · Quvvatni boshqarish bo'yicha qo'shimcha yo'riqnoma qo'shildi. · Intel* Turbo Boost qo'shildi. · Qo'shilgan tarmoq qurilmalari zaxiralari. · Platformaga xos konfiguratsiyalar va sozlash qo‘shildi. · 4-avlod Intel* %eon* kengaytiriladigan protsessorlari qo‘shildi. · AMD EPYC qo‘shildi. · Yangilangan tekshirish tizimi apparat imkoniyatlari. · Yangilangan iPerf2. · Yangilangan iPerf3. · Yangilangan Tx/Rx navbatlari. · Interrupt moderatsiyasi yangilandi. · Yangilangan Ring hajmi. · Yangilangan platformani sozlash (i40e Nonspecific). · Yangilangan BIOS sozlamalari. · Yangilangan C-davlat nazorati. · Yangilangan CPU chastotasi o'lchovi. · Yangilangan ilova sozlamalari. · Yangilangan operatsion tizim/yadro sozlamalari. · Yangilangan IP yo'naltirish. · Yangilangan past kechikish. |
2023 yil avgust | Ushbu hujjatga kiritilgan o'zgartirishlar quyidagilarni o'z ichiga oladi: · Qo'shilgan tegishli havolalar. · Qo'shildi DDP to'plami to'g'ri yuklanishiga ishonch hosil qiling. · iPerf2 qo'shildi. · iPerf3 qo'shildi. · Netperf qo'shildi. · Yangilangan IRQ Affinity. · Qo‘shilgan Tx/Rx navbatlari. · Yangilangan Ring hajmi. · Jumbo ramkalar qo'shildi. · Qo'shilgan adapter ulanishi. · Intel svr-info vositasi qo'shildi. |
|
1.0 | 2016 yil mart | Dastlabki nashr (Intel Public). |
Kirish
Ushbu qo'llanma Linux muhitlarida Intel ® Ethernet 700 Series NIC-lardan foydalangan holda optimal tarmoq ishlashi uchun muhitlarni sozlash bo'yicha ko'rsatmalar berishga mo'ljallangan. U tarmoq ish faoliyatini yaxshilashi mumkin bo'lgan apparat, drayver va operatsion tizim sharoitlari va sozlamalariga e'tibor qaratadi. Shuni ta'kidlash kerakki, tarmoq ishlashiga har qanday tashqi ta'sirlar ta'sir qilishi mumkin, ulardan faqat eng keng tarqalgan va dramatiklari ushbu qo'llanmada yoritilgan.
1.1 Tegishli havolalar
- Windows va Linuxni qo'llab-quvvatlaydigan barcha Intel ® Ethernet adapterlari va qurilmalari uchun foydalanuvchi qo'llanmasi:
Intel ® Ethernet adapterlari va qurilmalari foydalanuvchi qo'llanmasi - Texnik ma'lumotlar jadvali:
Intel ® Ethernet Controller X710/XXV710/XL710 ma'lumotlar jadvali - Barcha Intel ® Ethernet mahsulotlari uchun to'liq SW to'plami (barcha drayverlarni, NVM'larni, asboblarni va boshqalarni yuklab oling):
Intel ® Ethernet Adapter to'liq drayverlar to'plami - NVM (O'zgaruvchan xotira) yangilanish to'plami:
Intel ® Ethernet Network Adapter 700 Series uchun uchuvchan bo'lmagan xotira (NVM) yangilash yordam dasturi - Serverdan tegishli apparat va dasturiy ta'minot tafsilotlarini oladigan Linux uchun svr-info vositasi: https://github.com/intel/svr-info
- DDP texnologiyasi bo'yicha qo'llanma:
Intel ® Ethernet 700 Series Dynamic Device Personalization (DDP) texnologiyasi bo'yicha qo'llanma
Dastlabki nazorat ro'yxati
2.1 Drayv/proshivka versiyalarini yangilash
ethtool -i ethx yordamida drayver/proshivka versiyalarini tekshiring.
Zarur bo'lganda quyidagilarni yangilang:
- I40e drayverini yangilash
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 - Mikrodasturni yangilash
https: //downloadcenter.intel.com/download/24769/NVM-Update-Utility-for-Intel- Ethernet-ConvergedNetwork-Adapter-XL710-X710-Series
2.2 README ni o'qing
Ma'lum muammolarni tekshiring va README-dan so'nggi konfiguratsiya ko'rsatmalarini oling file i40e manba paketiga kiritilgan.
2.3 PCI Express (PCIe) uyasi x8 ekanligini tekshiring
Ba'zi PCIe x8 uyalari aslida x4 uyasi sifatida tuzilgan. Ikki portli va to'rt portli qurilmalar bilan to'liq liniya tezligi uchun bu slotlarda tarmoqli kengligi yetarli emas. Bunga qo'shimcha ravishda, agar siz PCIe v3.0-qobiliyatli adapterni PCIe v2.x uyasiga qo'ysangiz, to'liq tarmoqli kengligi ololmaydi. Dasturiy ta'minot qurilmasi drayveri ushbu vaziyatni aniqlaydi va tizim jurnaliga quyidagi xabarni yozadi:
Ushbu karta uchun mavjud bo'lgan PCI-Express tarmoqli kengligi optimal ishlash uchun etarli emas. Optimal ishlash uchun x8 PCI-Express uyasi talab qilinadi.
Agar bu xato yuzaga kelsa, muammoni hal qilish uchun adapteringizni haqiqiy PCIe v3.0 x8 uyasiga o'tkazing.
2.4 Tizim apparat imkoniyatlarini tekshirish
10 Gbps, 25 Gbps va 40 Gbps Ethernet tezligida protsessor va tizimning minimal talablari mavjud. Umuman olganda, zamonaviy server sinfi protsessori va platformangiz uchun optimal xotira konfiguratsiyasi etarli bo'lishi kerak, ammo ehtiyojlar ish yukingizga qarab o'zgaradi. Barcha xotira kanallari to'ldirilishi va BIOS-da xotira ishlash rejimi yoqilgan bo'lishi kerak. Sizning protsessoringiz va xotira konfiguratsiyasi ish yukingiz uchun talab qilinadigan tarmoq unumdorligi darajasini qo'llab-quvvatlay olishiga ishonch hosil qiling.
ESLATMA
XL710 - bu 40 GbE kontroller. Ushbu kontrollerdan foydalanadigan 2 x 40 GbE adapter 2 x 40 GbE emas, balki faol zaxira portiga ega 1 x 40 GbE bo'lishi uchun mo'ljallangan. Ikkala portni o'z ichiga olgan chiziqli trafikdan foydalanishga urinayotganda, ichki kalit to'yingan va ikkita port o'rtasidagi birlashtirilgan tarmoqli kengligi jami SO Gbps bilan cheklangan.
2.4.1 Yadro yuklash parametrlari
Agar BIOS-da yo'naltirilgan kiritish-chiqarish uchun Intel® Virtualizatsiya texnologiyasi (Intel® VT-d) yoqilgan bo'lsa, Intel host tarmog'ining optimal ishlashi uchun IOMMU-ni o'tish rejimida bo'lishini tavsiya qiladi. Bu virtual mashinalarga (VM) Intel® VT-d afzalliklariga ega bo'lish imkonini berib, xost trafigidagi DMA qo'shimcha xarajatlarini yo'q qiladi. Bu yadro yuklash parametrlariga quyidagi qatorni qo'shish orqali amalga oshiriladi: fommu-pt.
2.5 DDP to'plami to'g'ri yuklanganligiga ishonch hosil qiling
140ea va 140eb asosiy drayverlari Dynamic Device Personalization (DDP) uchun bevosita yordamga ega emas. DDP-ni 700 Series qurilmalari bilan ishlatish uchun DDP profile testpmd ilovasi bilan qo'llanilishi mumkin.
DDP pro haqida batafsil ma'lumot uchunfiles, va DDP pro qanday qo'llanilishifile 700 Series qurilmalarida testpmd bilan Intel® Ethernet 700 Series Dynamic Device Personalization (DDP) texnologiyasi qoʻllanmasiga qarang.
DDP pro ekanligini tekshirish uchunfile muvaffaqiyatli yuklandi:
testpmd> ddp olish ro'yxati 0 Profile soni: 1
ESLATMA
Agar profile raqam 0, DDP paketi yuklanmagan. DDP paketini yuklashda xatolik yuz bergan taqdirda, qurilma sukut bo'yicha xavfsiz rejimga o'tadi va ko'plab ishlash funksiyalari mavjud bo'lmaydi. Agar DDP to'plamini yuklash bilan bog'liq xatolar mavjud bo'lsa, u ishlash bilan bog'liq muammolarni keltirib chiqaradi. Muammolarni bartaraf etish uchun Inte/* Ethernet 700 Series Dynamic Device Personalization (DDP) texnologiyasi qo‘llanmasiga qarang.
Ishlashning asosiy o'lchovlari va sozlash metodologiyasi
3.1 Tarmoq unumdorligi mezonlari
Tyuning mashqlarini boshlashdan oldin, tarmoq ishlashining yaxshi asosiy o'lchoviga ega bo'lish muhimdir. Odatda maxsus ilovangiz/ish yukingiz unumdorligining dastlabki o‘lchovini olishdan tashqari, tarmoq qurilmangiz yaxshi holatda ekanligini tekshirish uchun standart tarmoq unumdorligi mezonidan ham foydalanish yaxshi fikrdir.
Yagona tizimni optimallashtirish uchun netperf yoki iperf va NetPIPE ulanishni ta'kidlash va ishlash muammolarini tashxislash imkonini beruvchi ochiq manbadan bepul vositalardir.
Netperf ham o'tkazuvchanlik, ham kechikish sinovlari uchun kuchli. NetPIPE kechikish uchun maxsus vositadir, lekin har qanday muhit uchun kompilyatsiya qilinishi mumkin.
ESLATMA
Netperf-dagi TCP_RR testi kechikish vaqtini tranzaksiyalar/sekund qiymatida qaytaradi. Bu ikki tomonga raqam. Bir tomonlama kechikish quyidagi tenglama yordamida hisoblanishi mumkin:
Kechikish(foydalanish) = (1⁄2) / [Tranzaktsiyalar/soniya] * 1,000,000 XNUMX XNUMX
3.1.1 iPerf2
Intel ko'pgina taqqoslash holatlari uchun iperf2-ni iperf3-dan ko'ra tavsiya qiladi, chunki ulardan foydalanish qulayligi va bitta dastur misolida bir nechta iplarni qo'llab-quvvatlash. Intel 2G ulanishlar uchun 4-25 tishli va 4G ulanishlar uchun taxminan 6-40 tishli -P opsiyasi bilan ishlashni tavsiya qiladi.
- Mijozdan serverga bir yo'nalishli trafikni ishga tushirish uchun: Server buyrug'i example: iperf2 -s
Mijoz buyrug'i, masalanample: iperf2 -c -P - Mijozdan serverga ikki yo'nalishli trafikni ishga tushirish uchun (va aksincha): Server buyrug'i, masalanample: iperf2 –s –p
Mijoz buyrug'i, masalanampga:
iperf2 -c -p -P -–toʻliq dupleks OR
iperf2 -c -p -P –d
ESLATMA
Iperf2-dagi –full-duplex va -d opsiyalari foydalanuvchiga ikki tomonlama test o‘tkazish imkonini beradi. Biroq, -to'liq dupleks varianti, ayniqsa, to'liq dupleks sinoviga qaratilgan.
ESLATMA
Iperf2-ni bir nechta server portlarida sinab ko'rishda server buyrug'iga -d bayrog'i bir xil terminal oynasidan fonda barcha server seanslarini ishga tushirish uchun qo'shilishi mumkin. -d bayrog'i server buyrug'i skriptdagi for-loop ichiga kiritilganda ham ishlatilishi mumkin.
ESLATMA
Tarmoq o'tkazuvchanligi testini bitta oqim/ip bilan bajarayotganda (masalanample: P1), AMD protsessorlari kutilgan o'tkazuvchanlikni ta'minlamasligi mumkin, ayniqsa yuqori tarmoqli kengligi NIC (agar tezlik >= 25G tarmoqli kengligi bo'lsa). Natijada, yuqori o'tkazuvchanlikka erishish uchun dasturni muayyan yadrolarga mahkamlash talab qilinadi. 22-betdagi Ilova sozlamalariga qarang.
3.1.2 iPerf3
Agar iperf3 ishlatilsa, advanni olish uchun dasturning bir nechta nusxalari talab qilinaditagko'p tarmoqli, RSS va apparat navbatlarining e. Intel 2G ulanishlar uchun 4-25 ta ilova seanslari va 4G ulanishlar uchun taxminan 6-40 seanslar bilan ishlashni tavsiya qiladi. Har bir seans -p opsiyasidan foydalangan holda noyob TCP port qiymatini belgilashi kerak.
- Mijozdan serverga bir yo'nalishli trafikni ishga tushirish uchun:
Server buyrug'i, masalanampga:
iperf3 -s -p
Mijoz buyrug'i, masalanampga:
iperf3 -c -p - Mijozdan serverga ikki tomonlama trafikni ishga tushirish uchun (va aksincha):
Server buyrug'i, masalanampga:
iperf3 –s –p
Mijoz buyrug'i, masalanample: iperf3 -c -p -P –-bidir - Iperf3 ning bir nechta nusxalarini (iplarini) ishga tushirish uchun iplarni TCP portlariga moslashtirish va parallel ravishda bir nechta jarayonlarni yaratish uchun & dan foydalanib fonda iperf3 ni ishga tushirish uchun for-loopdan foydalanish tavsiya etiladi.
Server buyrug'i, masalanample, 4 ta ipni boshlang: port=””; i uchun {0..3}; port=520$i; bash -c “iperf3 -s -p $port &”; bajarilgan; Mijoz buyrug'i, masalanample, 4 ta ipni ishga tushiring – Sinov portini uzatish =””; i uchun {0..3}; port=520$i; bash -c “iperf3 -c $serverIP -p $port &”; bajarilgan; Mijoz buyrug'i, masalanample, 4 ta ipni ishga tushiring – Sinov portini qabul qiling =””; i uchun {0..3}; port=520$i; bash -c “iperf3 -R -c $serverIP -p $port &”; bajarilgan; 40G ulanishlar uchun 6 tagacha misol/mavzu yaratish uchun for-loopni oshiring.
ESLATMA
Tarmoq o'tkazuvchanligi testini bitta oqim/ip bilan bajarayotganda (masalanample: P1), AMD protsessorlari kutilgan o'tkazuvchanlikni, ayniqsa yuqori tarmoqli kengligini ta'minlamasligi mumkin
NIClar (agar tezlik >= 25G tarmoqli kengligi bo'lsa). Natijada, yuqori o'tkazuvchanlikka erishish uchun dasturni muayyan yadrolarga mahkamlash talab qilinadi. 22-betdagi Ilova sozlamalari va 26-betdagi AMD EPYC-ga qarang.
3.1.3 netperf
Netperf vositasi o'tkazuvchanlik va kechikish sinovlari uchun kuchli tanlovdir.
- Netperf-dagi TCP_STREAM testi qurilmaning o'tkazish qobiliyatini o'lchaydi. Server buyrug'i, masalanample: netserver Client buyrug'i, masalanample: netperf -t TCP_STREAM -l 30 -H
- Netperf-dagi TCP_RR testi tranzaktsiyalar/soniya qiymatidagi kechikishni qaytaradi. Bu ikki tomonga raqam. -T x,x opsiyasidan foydalanish tavsiya etiladi, agar x qurilma uchun mahalliy protsessor bo'lsa. Bir tomonlama kechikish quyidagi yordamida hisoblanishi mumkin: Kechikish(usec)=(1⁄2)/ [Tranzaktsiyalar/sek]*1,000,\ Server buyrugʻi, ex.ample: netserver
Mijoz buyrug'i, masalanample: netperf -t TCP_RR -l 30 -H -T x,x - Netperf ning bir nechta nusxalarini (mavzularini) ishga tushirish uchun, bir nechta jarayonlarni parallel ravishda yaratish uchun TCP portlariga iplarni solishtirish va fonda netperfni ishlatish uchun for-loopdan foydalanish tavsiya etiladi.
Server buyrug'i, masalanample, 8 ta mavzuni boshlang:
port =""; i uchun {0..7}; port=520$i; bash -c “netserver -L $serverIP -p $port &”; bajarilgan;
Mijoz buyrug'i, masalanample, 8 ta ipni boshlang: port=””; i uchun {0..7}; port=520$i; bash -c “netperf -H $serverIP -p $port -t TCP_STREAM -l 30 &”; bajarilgan;
3.2 Sozlash metodologiyasi
Bir vaqtning o'zida bitta sozlash o'zgarishiga e'tibor qarating, shunda har bir o'zgarish testingizga qanday ta'sir qilishini bilasiz. Sozlash jarayonida qanchalik metodik bo'lsangiz, ishlashdagi qiyinchiliklarning sabablarini aniqlash va hal qilish osonroq bo'ladi.
i40e drayver sozlamalarini sozlash
4.1 IRQ yaqinligi
Turli xil tarmoq navbatlari uchun uzilishlar turli protsessor yadrolariga bog'langan bo'lishi uchun IRQ yaqinligini sozlash unumdorlikka katta ta'sir ko'rsatishi mumkin, ayniqsa ko'p tarmoqli o'tkazish testlari.
IRQ yaqinligini sozlash uchun irqbalance-ni to'xtating va keyin i40e manba paketidagi set_irq_affinity skriptidan foydalaning yoki navbatlarni qo'lda pin qiling. Navbatni mahkamlashni yoqish uchun foydalanuvchi maydoni IRQ balanslagichini o'chiring:
- systemctl irqbalanceni o'chirib qo'ying
- systemctl irqbalanceni to'xtatadi
I40e manba paketidagi set_irq_affinity skriptidan foydalanish (tavsiya etiladi): - Barcha yadrolardan foydalanish uchun:
[path-to-i40epackage]/scripts/set_irq_affinity -X all ethX - Mahalliy NUMA soketida faqat yadrolardan foydalanish uchun: [path-to-i40epackage]/scripts/set_irq_affinity -X mahalliy ethX
- Shuningdek, siz bir qator yadrolarni tanlashingiz mumkin. cpu0 dan foydalanmang, chunki u taymer vazifalarini bajaradi. [path-to-i40epackage]/scripts/set_irq_affinity 1-2 ethX
ESLATMA
Affinity skripti -x opsiyasi belgilangan bo'lsa, pinlash jarayonining bir qismi sifatida Paketlarni boshqarishni (XPS) uzatish imkonini beradi. XPS yoqilganda, Intel irqbalance-ni o'chirib qo'yishni tavsiya qiladi, chunki XPS bilan yadro balanslagichi oldindan aytib bo'lmaydigan ishlashga olib kelishi mumkin. -X opsiyasi belgilangan bo'lsa, yaqinlik skripti XPS-ni o'chiradi. XPS-ni o'chirib qo'yish va simmetrik navbatlarni yoqish Tx va Rx trafigiga bir xil navbat juftliklarida xizmat ko'rsatilganda eng yaxshi ishlashga erishiladigan ish yuklari uchun foydalidir.
Linuxda nosimmetrik navbatlarni sozlash qo'llab-quvvatlanadigan tarmoq adapterlari uchun simmetrik qabul qilish navbatlarini (Rx) va simmetrik uzatish navbatlarini (Tx) yoqish uchun tarmoq interfeysi drayveri parametrlarini sozlashni o'z ichiga oladi.
ESLATMA
- Simmetrik navbatlar rivojlangan tarmoq xususiyati bo'lib, barcha 700 seriyali tarmoq adapterlari yoki drayverlari ularni qo'llab-quvvatlamaydi.
- Simmetrik navbatlarni sozlashdan oldin kerakli drayver va apparat yordamiga ega ekanligingizga ishonch hosil qiling.
Nosimmetrik navbatlarni sozlash uchun quyidagi umumiy amallarni bajaring:
- Tarmoq interfeysi konfiguratsiyasini tahrirlash File: Matn muharriridan foydalaning (masalanample, vi, nano yoki gedit) tarmoq interfeysi konfiguratsiyasini tahrirlash uchun file. The file odatda /etc/sysconfig/network-scripts/ katalogi ostida joylashgan va ifcfg-ethX kabi nomga ega, bu yerda ethX tarmoq interfeysingiz nomidir.
- Simmetrik navbat parametrlarini qo'shing. Tarmoq interfeysi konfiguratsiyasiga quyidagi qatorlarni qo'shing file: ETHTOOL_OPTS="rx-quyruqlar 8 tx-navbatlar 8"
- Tarmoq xizmatini qayta ishga tushiring.
O'zgarishlarni amalga oshirgandan so'ng, yangi konfiguratsiyani qo'llash uchun tarmoq xizmatini qayta ishga tushiring. sudo systemctl tarmog'ini qayta ishga tushiring
Qo'lda:
-
Har bir tugunga biriktirilgan protsessorlarni toping: numactl –hardware lscpu
-
Har bir protsessor uchun bit maskalarini toping:
- 0-tugun uchun 11-0 yadrolari qabul qilinsa: [1,2,4,8,10,20,40,80,100,200,400,800]
- Tayinlangan portga tayinlangan IRQ-larni toping: grep ethX /proc/interrupts va IRQ qiymatlariga e'tibor bering, masalan.ample, yuklangan 181 vektor uchun 192-12.
- SMP yaqinlik qiymatini mos keladigan IRQ yozuviga aks ettiring. Buni har bir IRQ yozuvi uchun qilish kerakligini unutmang: echo 1 > /proc/irq/181/smp_affinity echo 2 > /proc/irq/182/smp_affinity echo 4 > /proc/irq/183/smp_affinity IRQ yaqinligini ko‘rsating:
- Barcha yadrolar uchun IRQ yaqinligini ko'rsatish uchun: /skriptlar/set_irq_affinity -s ethX
- Mahalliy NUMA soketida faqat yadrolarni ko'rsatish uchun: /scripts/set_irq_affinity -s mahalliy ethX
- Shuningdek, siz bir qator yadrolarni tanlashingiz mumkin: /skriptlar/set_irq_affinity -s 40-0-8,16 ethX
ESLATMA
set_irq_affinity skripti i40e drayverining 2.16.11 va undan keyingi versiyalarida -s bayrog'ini qo'llab-quvvatlaydi.
4.2 Tx/Rx navbatlari
Har bir chekilgan port uchun drayver tomonidan ishga tushirilganda yoqilgan navbatlarning standart soni platformadagi mavjud protsessorlarning umumiy soniga teng. Bu ko'plab platformalar va ish yuki konfiguratsiyasi uchun yaxshi ishlaydi. Biroq, yadro soni yuqori va/yoki Ethernet port zichligi yuqori bo'lgan platformalarda bu konfiguratsiya manbalar tortishuviga olib kelishi mumkin. Shuning uchun, ba'zi hollarda tizimdagi har bir port uchun standartni o'zgartirish kerak bo'lishi mumkin.
Tx/Rx navbatlarining standart soni muayyan model va drayver versiyasiga qarab farq qilishi mumkin. Navbatlar soni quyida keltirilgan ethtool -L buyrug'i yordamida sozlanishi mumkin.
ESLATMA
Bunday hollarda Intel har bir port uchun standart navbat sonini adapter portiga mahalliy NUMA tugunida mavjud bo'lgan protsessorlar sonidan ko'p bo'lmasligini tavsiya qiladi. Ba'zi hollarda, portlar sonining yuqori bo'lgan ilovalarida resurslarni muvozanatlashga urinayotganda, bu raqamni yanada kamaytirish kerak bo'lishi mumkin.
Navbat konfiguratsiyasini o'zgartirish uchun:
Quyidagi sobiqample portni 32 Tx/Rx navbatiga o'rnatadi: ethtool -L ethX birlashtirilgan 32
Exampchiqish:
ettool -l ethX
ethX uchun kanal parametrlari: Oldindan oʻrnatilgan maksimallar:
RX: 96
TX: 96
Boshqalar: 1 XNUMX
Birlashtirilgan: 96
Joriy apparat sozlamalari:
RX: 0
TX: 0
Boshqalar: 1 XNUMX
Birlashtirilgan: 32
4.3 Interrupt moderatsiyasi
Moslashuvchan uzilish moderatsiyasi sukut boʻyicha yoqilgan va protsessordan past foydalanish va yuqori unumdorlik oʻrtasida muvozanatli yondashuvni taʼminlash uchun moʻljallangan. Biroq, siz o'zingizning foydalanish holatlaringizga mos kelish uchun uzilish sozlamalarini qo'lda sozlashga urinib ko'rishingiz mumkin.
0-235 mikrosoniya oralig'i sekundiga 4,310 dan 250,000 2 gacha uzilishlar oralig'ini ta'minlaydi. rx-mseks-high qiymati bir xil ettool buyrug'ida rx-mseks va tx-mseksdan mustaqil ravishda o'rnatilishi mumkin, shuningdek, adaptiv uzilishni moderatsiya qilish algoritmiga bog'liq emas. Asosiy uskuna XNUMX mikrosekund oralig'ida granularlikni qo'llab-quvvatlaydi, shuning uchun qo'shni qiymatlar bir xil uzilish tezligiga olib kelishi mumkin.
- Moslashuvchan uzilish moderatsiyasini oʻchirish uchun: ethtool -C ethX adaptive-rx off adaptive-tx off
- Moslashuvchan uzilish moderatsiyasini yoqish uchun: ethtool -C ethX adaptive-rx on adaptive-tx yoqilgan
Umumiy sozlashni boshlash uchun yaxshi joy 84 mks yoki ~12000 uzilish/s. Agar rx_dropped hisoblagichlari trafik paytida ishlayotganini ko'rsangiz (ethtool -S ethX yordamida), u holda sizda protsessor juda sekin bo'lishi mumkin, adapter halqasi o'lchamidan (ettool -G) paketlarni 84 mks yoki past uzilish tezligigacha ushlab turish uchun etarli buferlar yo'q.
- Uzilish moderatsiyasini uzilishlar orasida (84 uzilish/s) belgilangan uzilish tezligini 12000 ms ga o‘rnatish uchun: ethtool -C ethX adaptive-rx off adaptive-tx off rx-usecs 84 tx-usecs 84 Sinab ko‘rish uchun keyingi qiymat, agar siz protsessordan foydalanish maksimal darajada bo‘lmagan bo‘lsa, 62 mk. Bu ko'proq protsessordan foydalanadi, lekin buferlarga tezroq xizmat ko'rsatadi va kamroq deskriptorlarni talab qiladi (ring hajmi, ettool -G).
- Uzilishlar oʻrtasida 62 martalik (16000 uzilish/s) qatʼiy uzilish tezligiga uzilish moderatsiyasini oʻrnatish. ethtool -C ethX adaptive-rx off adaptive-tx off rx-usecs 62 tx-usecs 62
Agar trafik paytida rx_dropped hisoblagichlari ko'paysa (ethtool -S ethX yordamida), ehtimol sizda protsessor juda sekin, adapter halqasi o'lchamidan buferlar etarli emas (ethtool -G) yoki uzilish tezligi juda past. Agar siz protsessordan maksimal darajada foydalanmasangiz, ITR qiymatini pasaytirish orqali uzilish tezligini oshirishingiz mumkin. Bunda koʻproq protsessor ishlatiladi, lekin xizmatlar tezroq buferlanadi va kamroq deskriptorlarni talab qiladi (ring oʻlchami, ettool -G).
Agar protsessoringiz 100% bo'lsa, uzilish tezligini oshirish tavsiya etilmaydi. Protsessorga bog'langan ish yuki kabi muayyan holatlarda, boshqa ilovalar uchun ko'proq CPU vaqtini yoqish uchun ms qiymatini oshirishni xohlashingiz mumkin.
Agar sizga past kechikish ishlashi kerak bo'lsa va/yoki tarmoqni qayta ishlashga bag'ishlash uchun ko'p protsessorga ega bo'lsangiz, uzilishlarni imkon qadar tezroq yoqish imkonini beruvchi uzilish moderatsiyasini butunlay o'chirib qo'yishingiz mumkin. - Interrupt moderatsiyasini o'chirish uchun ethtool -C ethX adaptive-rx off adaptive-tx off rx-usecs 0 tx-usecs 0
ESLATMA
Interrupt moderation o'chirilgan holda ishlayotganda, har bir navbatda uzilish tezligi juda yuqori bo'lishi mumkin. Uzilish tezligining yuqori chegarasini o'rnatish uchun rx-usec-high parametrini qo'shishni ko'rib chiqing. Quyidagi buyruq adaptiv uzilish moderatsiyasini o'chirib qo'yadi va qabul qilish yoki uzatish tugallanganligini ko'rsatishdan oldin maksimal 5 mikrosoniyaga ruxsat beradi. U soniyada 200,000 50,000 tagacha uzilishlarni keltirib chiqarish o'rniga, rx-usec-high parametri orqali soniyada jami uzilishlarni 20 5 gacha cheklaydi. # ethtool -C ethX adaptive-rx off adaptive-tx off rx-usecs-high 5 rx-usecs 80 txuseks 100 Uzatma/qabul/yuqori ustuvor birlashtiruvchi taymerni yuqoriroq (150/200/25/20) yoki undan pastroq (10/5/yuklash uchun optimal qiymatni toping) sozlashga harakat qiling.
4.4 Ring hajmi
Agar siz ethtool -S ethX (rx_dropped, rx_dropped.nic) da rx_dropped hisoblagichlarini ko'rsangiz yoki bir nechta navbat faol kesh bosimiga shubha qilsangiz, qo'ng'iroq o'lchamini standart qiymatdan o'zgartirishga urinib ko'rishingiz mumkin. Standart qiymat - 512, maksimal - 4096.
- Joriy qiymatlarni tekshirish uchun: ethtool -g ethX
Agar buferlashning etishmasligi joriy uzilish tezligining pasayishiga olib keladi deb gumon qilinsa, avval maksimalni, keyin minimalni sinab ko'ring, so'ngra optimal ishlashni ko'rmaguningizcha ikkilik qidiruvni davom ettiring.
Agar kesh bosimiga shubha bo'lsa (ko'p navbatlar faol) buferlarni sukut bo'yicha kamaytirish Intel ® Data Direct I/O (Intel ® DDIO) ning yanada samarali ishlashiga yordam beradi. Intel har bir navbat uchun 128 yoki 256 ni sinab ko'rishni tavsiya qiladi, chunki rx_dropped ko'payishiga yo'l qo'ymaslik uchun ettool -C orqali uzilish tezligini oshirish zarur bo'lishi mumkin. - Ring o'lchamini belgilangan qiymatga o'rnatish uchun: ethtool -G eth12 rx 256 tx 256
ESLATMA
ethtool -S ethX|grep tomchisi bilan topilgan Rx paketining tushishini tuzatish uchun qo'ng'iroq o'lchamini 4096 ga oshirishni o'ylab ko'ring. Ish yuki uchun eng yaxshi sozlamani topish uchun tajriba o'tkazing, lekin yuqori qiymatlarda xotiradan ortiqcha foydalanishga e'tibor bering.
4.5 Oqimni boshqarish
2-qavat oqimini boshqarish TCP ishlashiga sezilarli ta'sir ko'rsatishi mumkin va ko'pgina ish yuklari uchun o'chirib qo'yish tavsiya etiladi. Potentsial istisno - bu portlashlar uzoq davom etmaydigan tirbandlikdir.
Oqimni boshqarish sukut bo'yicha o'chirilgan.
- Oqim nazoratini yoqish uchun: ethtool -A ethX rx on tx on
- Oqim nazoratini o'chirish uchun: ethtool -A ethX rx off tx off
ESLATMA
Oqim nazoratini muvaffaqiyatli yoqish uchun sizda oqimni boshqarish qobiliyatiga ega bo'lgan havola hamkoringiz bo'lishi kerak.
4.6 Jumbo ramkalar
Kutilayotgan trafik muhiti uzatilayotgan ma'lumotlarning katta bloklaridan iborat bo'lsa, jumbo ramka xususiyatini yoqish foydali bo'lishi mumkin. Jumbo Frames qo'llab-quvvatlash maksimal uzatish birligini (MTU) standart qiymati 1500 dan kattaroq qiymatga o'zgartirish orqali yoqiladi. Bu qurilmaga tarmoq muhitida kattaroq paketlarda ma'lumotlarni uzatish imkonini beradi. Ushbu sozlama o'tkazish qobiliyatini yaxshilashi va katta kiritish-chiqarish ish yuklari uchun protsessordan foydalanishni kamaytirishi mumkin. Biroq, bu kichik paketlar yoki kechikishga sezgir bo'lgan ish yuklariga ta'sir qilishi mumkin.
ESLATMA
Jumbo ramkalar yoki kattaroq MTU sozlamalari tarmoq muhitida to'g'ri sozlangan bo'lishi kerak.
MTU hajmini oshirish uchun ifconfig buyrug'idan foydalaning. Misol uchunample, quyidagini kiriting, qaerda interfeys raqami: ifconfig mtu 9000 gacha
Shu bilan bir qatorda, ip buyrug'ini quyidagicha ishlatishingiz mumkin: ip link set mtu 9000 dev IP havolasini o'rnatish dev
Platformani sozlash (i40e nomaxsus)
5.1 BIOS sozlamalari
- Virtualizatsiya ish yuklari uchun Intel® VT-d ni yoqing.
- Hyper-threading (mantiqiy protsessorlar) ishlashga ta'sir qilishi mumkin. Ish yukingiz uchun uni yoqing yoki oʻchiring.
- Intel® Turbo Boost protsessor yadrolari protsessorning asosiy chastotasidan yuqori chastotada ishlashiga imkon beradi. Intel® Turbo Boost-ni yoqish ko'plab ish yuklari uchun unumdorlikni oshirishi mumkin, ammo yadrolarni yuqori chastotada ushlab turish uchun ko'proq quvvat sarflaydi. Ish yukingiz uchun Turbo Boost-ni o'chirish/yoqish bilan tajriba qiling.
ESLATMA
Agar platforma yuqori umumiy protsessordan foydalansa, turbo chastotalar kafolatlanmaydi. Yuqori yadroli turbo chastotalar umumiy protsessordan foydalanish ortishi bilan kamayadi.
5.2 Quvvatni boshqarish
Quvvatni boshqarish, ayniqsa, past kechikishli ish yuklarida ishlashga ta'sir qilishi mumkin. Agar unumdorlik quvvat sarfini kamaytirishdan ustunroq bo'lsa, Intel quvvatni boshqarish ta'sirini cheklash bilan tajriba o'tkazishingizni tavsiya qiladi. Operatsion tizim vositalari, BIOS sozlamalari va yadro yuklash parametrlari orqali quvvatni boshqarishni cheklashning turli usullari mavjud. Atrofingizga mos keladigan eng yaxshi usul va darajani tanlang.
5.2.1 C-davlat nazorati
CO yoki C1 ga C holatiga kirishni cheklash ishlashni yaxshilaydi va quvvat sarfini oshiradi.
CPU Package C6 holatini o'chirib qo'yish tarmoq ish faoliyatini yaxshilashi mumkin. Biroq, bu quvvat sarfini oshiradi.
Quyidagi variantlar mavjud:
- C-holat yozuvini dinamik ravishda boshqaring:
Ochiq
/dev/cpu_dma_latency va unga ruxsat etilgan maksimal kechikishni yozing.
ESLATMA
Cpudmalatency.c deb nomlangan kichik dastur mavjud bo'lib, uni ochiq manbalar hamjamiyatidan yuklab olish, kompilyatsiya qilish va aniq bajarish uchun buyruq satridan ishga tushirish mumkin.
Quyidagi sobiqample besh ms uyg'onish vaqtiga imkon beradi va shu bilan C1 kirishiga ruxsat beradi: cpudmalatency 5 &
- Yadro yuklash sozlamalarida maksimal C holatini cheklang:
Intel protsessorlari uchun: intel_idle.max_cstates=1
Intel bo'lmagan protsessorlar uchun: processor.max_cstates=1 - CPU C6 holatini tekshirish va o'chirish uchun cpupower buyrug'idan foydalaning: tekshiring: cpupower monitor yoki cpupower idle-info
C6 ni o'chiring: cpupower idle-set -d3 yoki
C-davlatlarini o'chirib qo'ying: cpupower idle-set -D0
Eslatmalar:
- Agar serverda Intel® 4-avlod Intel® Xeon® masshtabli protsessor(lar) bo'lsa, protsessorda C-holatlarini o'chiring. Hyper Threading yoqilgan yoki o'chirilgan bo'lsa, bo'sh rejimlarni o'chirib qo'yish (-D0) bo'sh vaqtlarda yadrolarning kam quvvatli holatlarga kirishiga yo'l qo'ymaydi va protsessorning bo'sh va faol holatlar o'rtasida o'tish kechikishini kamaytiradi.
- Intel® 4-avlod Intel® Xeon® Scalable protsessorining quvvat boshqaruvi juda agressivdir. Yadrolarning kam quvvatli holatlarga kirishiga yo'l qo'ymaslik uchun ularni uzoqroq vaqt davomida uyg'oq ushlab turish uchun ishlatilayotgan yadrolar sonini kamaytirishga harakat qiling (ettool -L birlashtirilgan ). Bundan tashqari, belgilangan irq yaqinligidan foydalanib, uzilishlarni ma'lum yadrolarga bog'lang (ko'pincha -x mahalliy yoki CPU yadrolari ro'yxati bilan) va ish yukining vazifalar to'plami yoki numactl bilan bir xil yadrolarda ishlashini ta'minlang. Bu yadrolarni faol ushlab turish va uzilishlarni boshqarishni optimallashtirish orqali ishlashni yaxshilaydi.
C6 ni yoqing:
CPU quvvati bo'sh rejimda -d3
C holatlarini yoqish:
CPU quvvati bo'sh o'rnatilgan -E
- Yana bir usul - bu sozlangan vositadan (ko'p Linux distributivlari bilan birga) foydalanish bo'lib, pro-performatorni o'rnatishdirfile. Bu profiles ko'plab ilovalarda ishlashga ta'sir qilishi mumkin bo'lgan bir nechta OS sozlamalarini o'zgartirish. Tarmoq o'tkazuvchanligi pro ekanligi aniqlandifile ko'pgina ish yuklarini yaxshilashni ta'minlaydi.
Tekshirish:
sozlangan-adm faol
Sozlash:
sozlangan-adm profile tarmoq o'tkazuvchanligi
ESLATMA
Yuqoridagi buyruqlar uchun sozlangan xizmat ishlayotgan bo'lishi kerak. Tekshirish/qayta ishga tushirish, sozlangan: systemctl holati sozlangan systemctl qayta ishga tushirish sozlangan
Bundan tashqari, yadro yuklash qatoriga quyidagilarni qo'shish orqali har qanday C-davlat yozuviga ruxsat berishingiz mumkin:
idle = so'rov - Tizimning BIOS quvvat boshqaruvi sozlamalari orqali C-holatini cheklang, bu esa unumdorlikka ega bo'lishi mumkinfile mavjud.
Turbostat yoki x86_energy_perf_policy kabi vositalar quvvatni boshqarish sozlamalarini tekshirish yoki sozlash uchun ishlatilishi mumkin.
5.2.2 PCIe quvvatni boshqarish
Active-State Power Management (ASPM) PCIe havolalari faol ishlatilmaganda ular uchun past quvvat holatini ta'minlaydi. Bu PCIe tarmoq qurilmalarida yuqori kechikishga olib kelishi mumkin, shuning uchun Intel kechikishga sezgir ish yuklari uchun ASPMni o'chirib qo'yishni tavsiya qiladi. Yadro yuklash qatoriga quyidagilarni qo'shish orqali ASPMni o'chiring: pcie_aspm=off
5.2.3 CPU chastotasini masshtablash
Protsessor chastotasini o'lchash (yoki protsessor tezligini o'lchash) Linux quvvatni boshqarish usuli bo'lib, unda tizim soat tezligi quvvat va issiqlikni tejash uchun tezda sozlanadi. Xuddi C-holatlari kabi, bu tarmoq ulanishlarida istalmagan kechikishga olib kelishi mumkin.
CPU quvvat vositasidan protsessor unumdorligi va chegaralarini tekshirish va o'zgartirish uchun ham foydalanish mumkin:
- Tekshiring: CPU quvvati monitori yoki
- CPU-larni ishlash rejimiga o'rnating: cpupower chastota-set -g ishlashi
ESLATMA
CPU chastotasi chegaralariga kiritilgan o'zgartirishlar ko'plab ish yuklariga ta'sir qilishi va CPU turbo rejimi kabi boshqa xususiyatlarni o'chirib qo'yishi mumkin.
CPU chastotasini masshtablashni o'chirish uchun quyidagi buyruqlar orqali CPU quvvat xizmatini o'chiring:
systemctl to'xtating cpupower.service
systemctl cpupower.service-ni o'chirib qo'ying
5.2.4 Quvvatni boshqarish bo'yicha qo'shimcha yo'riqnoma
Qo'shimcha ma'lumotlar ushbu yuqori darajada berilganview 3-avlod Intel® Xeon® Scalable protsessorlaridagi quvvatni boshqarishning ko'plab xususiyatlari, shuningdek, ushbu xususiyatlarni platforma darajasida qanday birlashtirish bo'yicha ko'rsatmalar: https://networkbuilders.intel.com/solutionslibrary/power-management-technologyoverview-technology-guide
5.3 Intel® Turbo Boost
Intel® Turbo Boost protsessorni kerak bo'lganda tezlashtiradi, lekin qo'shimcha quvvat sarflaydi. Turbo Boost-ni o'chirish protsessorni barqaror tezlikda ushlab turadi, bu sizga muayyan ish yuklari uchun barqaror ishlash darajasini beradi.
5.4 Faervollar
Xavfsizlik devorlari ishlashga, ayniqsa kechikish ishlashiga ta'sir qilishi mumkin.
Agar kerak bo'lmasa, iptables/firewalld-ni o'chirib qo'ying.
5.5 Ilova sozlamalari
Ko'pincha bitta ip (bitta tarmoq navbatiga to'g'ri keladi) maksimal tarmoqli kengligiga erishish uchun etarli emas. AMD kabi ba'zi platformalar arxitekturalari Intel protsessorlariga ega platformalarga qaraganda bir ipli Rx paketlarini ko'proq tashlab yuborishga moyildirlar.
Ilovalarni NUMA tuguniga yoki tarmoq qurilmasiga mahalliy protsessor yadrolariga mahkamlash uchun vazifalar to'plami yoki numactl kabi vositalardan foydalanishni o'ylab ko'ring. I/U saqlash kabi ba'zi ish yuklari uchun ilovani mahalliy bo'lmagan tugunga ko'chirish foyda keltiradi.
Iloji bo'lsa, ilovangiz tomonidan ishlatiladigan iplar sonini ko'paytirish bilan tajriba qiling.
5.6 Yadro versiyasi
Ko'pgina zamonaviy in-box yadrolari ishlash uchun juda yaxshi optimallashtirilgan, ammo foydalanish holatiga qarab, yadroni yangilash yaxshilangan ishlashni ta'minlashi mumkin. Manbani yuklab olish, shuningdek, yadro yaratishdan oldin ma'lum xususiyatlarni yoqish/o'chirish imkonini beradi.
5.7 Operatsion tizim/yadro sozlamalari
Umumiy operatsion tizimni sozlash haqida koʻproq maʼlumot olish uchun Red Hat Enterprise Linux Network Performance Tuning Guide kabi operatsion tizimni sozlash qoʻllanmalariga murojaat qiling.
Sozlash uchun ba'zi umumiy parametrlar quyidagi jadvalda keltirilgan. E'tibor bering, bular faqat tavsiya etilgan boshlang'ich nuqtalardir va ularni standart sozlamalardan o'zgartirish tizimda ishlatiladigan resurslarni oshirishi mumkin. Qiymatlarni oshirish samaradorlikni oshirishga yordam berishi mumkin bo'lsa-da, ma'lum bir tizim, ish yuki va trafik turi uchun eng yaxshisini aniqlash uchun turli qiymatlar bilan tajriba o'tkazish kerak.
Yadro parametrlari quyida ko'rsatilganidek, Linuxda sysctl yordam dasturi yordamida sozlanishi mumkin.
Kimga view tizimdagi rmem va wmem uchun standart qiymatlar:
sysctl net.core.rmem_default
sysctl net.core.wmem_default
Qiymatlarni maksimal (16 MB) ga o'rnating:
sysctl -w net.core.rmem_max=16777216
sysctl -w net.core.wmem_max=16777216
Qabul qiluvchi bufer (rmem) va uzatish buferi (wmem) sifatida ham tanilgan rozetka buferining o'lchamlari kiruvchi va chiquvchi tarmoq trafigiga ajratilgan xotira hajmini belgilaydigan tizim parametrlaridir.
-w argumentisiz sysctl-ni ishga tushirish parametrni joriy sozlamalari bilan ro'yxatga oladi.
Stack sozlamalari | Tavsif |
net.core.rmem_default | Qabul qilish oynasining standart oʻlchami |
net.core.wmem_default | Odatiy uzatish oynasi oʻlchami |
net.core.rmem_max | Qabul qilish oynasining maksimal hajmi |
net.core.wmem_max | Maksimal uzatish oynasi hajmi |
net.core.optmem_max | Maksimal opsiya xotira buferlari |
net.core.netdev_max_backlog | Yadro tushishini boshlashdan oldin qayta ishlanmagan paketlar to'plami |
net.ipv4.tcp_rmem | TCP o'qish buferlari uchun xotira zaxirasi |
net.ipv4.tcp_wmem | TCP yuborish buferlari uchun xotira zaxirasi |
Yadro, tarmoq stek, xotira ishlovchisi, protsessor tezligi va quvvatni boshqarish parametrlari tarmoq ishlashiga katta ta'sir ko'rsatishi mumkin. Umumiy tavsiya tarmoq protsessoriga murojaat qilishdirfile sozlangan buyrug'i yordamida. Bu tarmoq ilovalariga ustunlik berish uchun bir nechta OS sozlamalarini o'zgartiradi.
Tekshirish:
sozlangan-adm faol
Sozlash:
sozlangan-adm profile tarmoq o'tkazuvchanligi
5.8 Tarmoq qurilmalari zaxiralari
Bu xususiyat kiruvchi trafikni samarali boshqarish, paket yo‘qotilishini kamaytirish, kechikishni kamaytirish va o‘tkazish qobiliyatini oshirish orqali tarmoq ish faoliyatini yaxshilashga yordam beradi. Bu yaxshi foydalanuvchi tajribasi va tezroq tizim javobiga olib keladi.
Odatiy bo'lib, u Linux operatsion tizimlarining ko'pchiligida yoqilgan. Standart qiymatni tekshirish uchun:
sysctl net.core.netdev_max_backlog
Netdev_max_backlog uchun maksimal qiymat yadro versiyasi, apparat, xotira va ish yuki kabi omillarga qarab farq qilishi mumkin. Ko'p hollarda 8192 yaxshi qiymat sifatida ko'riladi. sysctl -w net.core.netdev_max_backlog=8192
5.9 Platformaga xos konfiguratsiyalar va sozlash
5.9.1 4-avlod Intel® Xeon® miqyosli protsessorlari
Intel® 4-avlod Intel® Xeon® Scalable protsessorining quvvat boshqaruvi 3-avlod Intel® Xeon® Scalable protsessorlariga nisbatan juda agressivdir. Yadrolarning kam quvvatli holatlarga kirishiga yo'l qo'ymaslik uchun ularni uzoqroq vaqt davomida uyg'oq tutish uchun ishlatilayotgan yadrolar sonini kamaytirishga harakat qiling.
Eng yuqori samaradorlik uchun tavsiya etilgan Bios sozlamalari
- Protsessorda Hyper-threading yoqish/o'chirish (ish yuki talabi va ishlash maqsadlari asosida).
- Tizim pro-ni o'rnatingfile Maksimal ishlash uchun ishlashga.
ESLATMA
Bu yuqori quvvat sarfiga olib keladi - Maksimal protsessor unumdorligini quvvat samaradorligidan ustun qo'yish uchun CPU quvvat boshqaruvini Maksimal ishlashga o'rnating.
- Turbo Boost-ni yoqing. Tizimning BIOS sozlamalarida Turbo Boost-ni o'chirib qo'yish odatda protsessorning soat tezligini asosiy chastotasidan tashqari dinamik ravishda oshirishiga to'sqinlik qiladi.
- ESLATMA
Turbo Boost-ni o'chirib qo'yish maksimal ishlashdan ko'ra barqaror ishlash, quvvat samaradorligi yoki issiqlik boshqaruvi ustuvor bo'lgan muayyan foydalanish holatlari uchun mos bo'lishi mumkin. - Tizim virtualizatsiya texnologiyalaridan foydalanmayotgan bo'lsa, Yagona ildizli kiritish-chiqarish virtualizatsiyasi (SR-IOV) funksiyasini o'chiring.
- CPU faol bo'lishini va chuqurroq bo'sh holatlarga kirishining oldini olish uchun C-holatlarini o'chiring.
- CPU faol bo'lishini va C1E bo'sh holatiga kirmasligini ta'minlash uchun C1E ni o'chiring.
- Tizimga mavjud bo'lgan eng yuqori chastotada ishlashga buyruq berish uchun yadrodan tashqari chastotani maksimal darajaga o'rnating.
- Dell platformalarida CPU yadrolarining aniq va bashorat qilinadigan xaritasini ta'minlash uchun bir nechta APIC tavsif jadvali (MADT) yadro emulyatsiyasini Lineer (yoki BIOSga qarab Round-Robin) ga o'rnating.
Optimallashtirilgan ishlash uchun tavsiya etilgan OS darajasidagi sozlashlar
- CPU chastotasini o'lchash regulyatorini ishlashga sozlang. cpupower chastotasi-to'siq -g ishlashi cpupower chastotasi-info
- C-davlatlarini o'chiring. CPU quvvati bo'sh rejimda -D0
- Asosiy Rx (rmem) va Tx (wmem) buferlarini maksimal qiymatga o'rnating. sysctl -w net.core.rmem_max=16777216 sysctl -w net.core.wmem_max=16777216
- Tarmoq qurilmalari to'plamini o'rnating. sysctl -w net.core.netdev_max_backlog=8192
- Sozlangan profile (ish yuki o'tkazish/kechikish vaqtiga bog'liq).
sozlangan-adm profile tarmoq o'tkazuvchanligi
Optimallashtirilgan ishlash uchun tavsiya etilgan adapter darajasidagi sozlashlar
- Ilovalar trafigida foydalanish uchun navbatlar sonini cheklash. Bog'langan protsessor yadrolarini chuqurroq bo'sh holatlarga kirishiga yo'l qo'ymaslik uchun ularni faol ushlab turish uchun zarur bo'lgan minimal navbatlardan foydalaning (ish yukiga moslang): ethtool -L birlashtirilgan 32
- Uzilishni moderatsiya qilish stavkalarini o'rnating. ettool -C adaptive-rx off adaptive-tx off rx-usecs-high 50 rx-usecs 50 tx-usecs 50
Ish yukining maqbul qiymatini topish uchun uzatish/qabul qilish/yuqori ustuvor birlashtiruvchi taymerni yuqoriroq (80/100/150/200) yoki undan pastroq (25/20/10/5) qilib sozlang. - Rx/Tx halqa o'lchamlarini o'rnating. ettool - G rx 4096 tx 4096
ESLATMA
Agar Rx paketi ettool -S| bilan tushib ketganini ko'rsangiz grep tomchisi, uzuk hajmini <4096 ga kamaytirishga harakat qiling. Paketlar tashlanmaydigan ish yukining optimal qiymatini topishga harakat qiling. - IRQ yaqinligini o'rnating. NICga mahalliy yadrolardan yoki maxsus yadro xaritasidan foydalaning (bu yerda # yadro 1-betdagi 26-da oʻrnatilgan navbatlar soniga teng. systemctl stop irqbalance set_irq_affinity -X mahalliy YOKI set_irq_affinity -X
5.9.2 AMD EPYC
AMD EPYC protsessorlari bu AMD Zen arxitekturasi asosida qurilgan serverlar va ma'lumotlar markazlari uchun yaratilgan kuchli protsessorlardir. Quyidagi sozlamalar AMD ning 4-avlod EPYC seriyasidan olingan.
Eng yuqori samaradorlik uchun tavsiya etilgan BIOS sozlamalari
- Foydalanuvchilarga protsessor unumdorligi, quvvat sarfi va boshqa sozlamalarni sozlash imkonini berish uchun maxsus rejimni yoqing. Bu samaradorlik va energiya samaradorligi o'rtasidagi eng yaxshi muvozanat uchun tizimni nozik sozlashda yordam beradi.
- Yadro unumdorligini oshirishni yoqing, bu esa protsessorga intensivroq vazifalarni bajarish uchun tezligini avtomatik ravishda oshirish va umumiy ish faoliyatini yaxshilash imkonini beradi.
- Protsessorning javob berish qobiliyatini saqlab qolishi mumkin bo'lgan C-holatlari deb nomlanuvchi chuqurroq quvvat tejash holatlariga kirishiga yo'l qo'ymaslik uchun global C-holat boshqaruvini o'chiring.
ESLATMA
C-holatlarini o'chirish qo'shimcha quvvat sarfini keltirib chiqarishi va termal haroratni oshirishi mumkin. Ish yukini ikkalasini ham kuzatib boring. - Ish yuki talabi va ishlash maqsadlaridan kelib chiqib, protsessorda bir vaqtning o'zida ko'p ish zarralarini (SMT) yoqish/o'chirish. SMT Intel protsessorlarida Hyper Threadingga teng.
ESLATMA
Optimallashtirilgan ishlash uchun tavsiya etilgan operatsion tizim va adapter darajasini sozlash uchun 40-betdagi i13e drayver sozlamalarini sozlash va 40-betdagi Platformani sozlash (i19e Non-maxsus) boʻlimlariga qarang.
Adapterni ulash
Linux ulanishi server muhitida tarmoq unumdorligini, ortiqcha va nosozliklarga chidamliligini sezilarli darajada yaxshilaydigan kuchli xususiyatdir. Ammo shuni ta'kidlash kerakki, u to'g'ri ishlashi uchun mos keladigan tarmoq uskunasi va serverda ham, kalitda ham to'g'ri konfiguratsiya talab qilinadi.
Linux-dagi ulanish drayveri bir nechta jismoniy tarmoq interfeyslarini bog'langan interfeysga jamlash imkonini beradi. Ushbu bog'langan interfeys operatsion tizim va ilovalar uchun yagona virtual tarmoq interfeysi sifatida namoyon bo'ladi.
ESLATMA
Bog'lanish mantiqiy interfeysdir, shuning uchun protsessorga yaqinlikni to'g'ridan-to'g'ri bog'lanish interfeysida o'rnatish mumkin emas (masalan,ample, bond0). Ya'ni, u uzilishlarni boshqarish yoki protsessorga yaqinlik ustidan bevosita nazoratga ega emas. Protsessor yaqinligi ulanishning bir qismi bo'lgan asosiy interfeyslar uchun sozlanishi kerak.
Bog'lanish har biri o'ziga xos xususiyatlarga ega bo'lgan bir nechta operatsiyalar usullarini ta'minlaydi.
Rejim | Turi |
0 | Round Robin |
1 | Faol zaxira |
2 | XOR |
3 | Translyatsiya |
4 | LACP |
5 | Yuk balansini uzatish |
6 | Moslashuvchan yuk balansi |
Linuxda bog'lanishni yaratishning turli usullari mavjud. Eng keng tarqalgan usullardan biri tarmoq konfiguratsiyasidan foydalanishdir files (masalanample, /etc/tarmoq/ interfeyslari yoki /etc/sysconfig/network-scripts/ifcfg-bondX).
Tarmoq konfiguratsiyasi yordamida konfiguratsiya Files
Quyidagi qadamlar tarmoq konfiguratsiyasi orqali bog'lanishni yaratadi files.
- Bog'lash uchun ikkita yoki undan ortiq NIC portlarini tanlang (masalanample, ethX va ethY)
- NIC konfiguratsiyasini oching Filekerakli NIC interfeysi uchun /etc/sysconfig/network-scripts/ ostida s (masalan,ample, vi ifcfg-ethX va vi ifcfg-ethY) va quyidagi matnni qo'shing:
MASTER=bondN [Izoh: N - bog'lanish raqamini eslatish uchun butun son.] SLAVE=ha - Bog'lanish tarmog'i skriptini yarating file vi /etc/sysconfig/networkscripts/ifcfg-bondN dan foydalanib, quyidagi matnni kiriting:
DEVICE=bondN [Izoh: N - bog‘lanish raqamini ko‘rsatish uchun butun son] ONBOOT=ha USERCTL=yo‘q BOOTPROTO=dhcp (yoki) yo‘q
IPADDR=200.20.2.4 [BOOTPROTO=yo'q bo'lsa kerak] NETMASK=255.255.255.0 [BOOTPROTO=yo'q bo'lsa kerak] TARMOQ=200.20.2.0 [BOOTPROTO=yo'q bo'lsa talab qilinadi] ESHIRLIK =200.20.2.255qizil. BOOTPROTO=yo‘q] BONDING_OPTS=”rejim=1 miimon=100″
ESLATMA
Talabga qarab rejim 0 dan 6 gacha bo'lgan har qanday butun son bo'lishi mumkin. - Xizmat tarmog'ini qayta ishga tushirish yoki NetworkManager.service tizimini qayta ishga tushirish orqali tarmoq xizmatlarini qayta ishga tushiring
Ishlash muammolarini bartaraf etish
7.1 Protsessordan foydalanish
Ish yuki ishlayotganda har bir yadro uchun protsessordan foydalanishni tekshiring.
E'tibor bering, har bir yadrodan foydalanish umumiy protsessordan foydalanishga qaraganda unumdorlikka ko'proq mos keladi, chunki u tarmoq navbatiga protsessordan foydalanish haqida fikr beradi. Agar sizda tarmoq trafigini boshqaradigan bir nechta tarmoq mavjud bo'lsa, sizda faqat bir nechta yadrolardan foydalanilgan bo'lishi mumkin. Biroq, agar bu yadrolar 100% bo'lsa, sizning tarmoq o'tkazuvchanligi protsessordan foydalanish bilan cheklangan bo'lishi mumkin va quyidagilarni bajarish vaqti keldi:
- IRQ moderatsiyasi/ring hajmini Interrupt Moderation-da batafsil sozlang.
- CPU yukini ko'proq yadrolarga tarqatish uchun dastur iplari sonini ko'paytiring. Agar barcha yadrolar 100% ishlayotgan bo'lsa, ilovangiz tarmoqqa ulangan emas, balki protsessor bilan bog'langan bo'lishi mumkin.
Keng tarqalgan vositalar:
- yuqori
— CPUlar roʻyxatini kengaytirish va qaysi biri ishlatilayotganligini tekshirish uchun 1 tugmasini bosing.
- Foydalanish darajasiga e'tibor bering.
— Qaysi jarayonlar eng faol (roʻyxatning yuqorisi) roʻyxatiga kiritilganiga eʼtibor bering. - mpstat
Quyidagi sobiqample buyruq qatori Red Hat Enterprise Linux 7.x da sinovdan o'tkazildi.
U har bir yadro uchun protsessordan foydalanishni ko'rsatadi (umumiy ishlamay qolgan foizni topish va 100 dan ayirish orqali) va 80% dan yuqori qiymatlarni qizil rang bilan ajratib ko'rsatadi. mpstat -P ALL 1 1 | grep -v O'rtacha | quyruq -n +5 | bosh -n -1 | awk '{ chop etish (100-$13)}' | egrep -color=always '[^\.][8-9][0-9][\.]?.*|^[8-9][0-9][\.]?.*| 100|' | ustun - perf top Tsikllar qayerda sarflanayotganini qidiring.
7.2 i40e hisoblagichlari
I40e drayveri ethtool -S ethX buyrug'i orqali interfeysni disk raskadrovka qilish va monitoring qilish uchun hisoblagichlarning uzoq ro'yxatini taqdim etadi. Ish yuki ishlayotganda chiqishni kuzatish va/yoki ish yukini ishga tushirishdan oldin va keyin hisoblagich qiymatlarini solishtirish foydali bo'lishi mumkin.
- To'liq i40e hisoblagichlarini olish uchun: ethtool -S ethX
- Faqat nolga teng bo'lmagan hisoblagichlarni tomosha qilish uchun: watch -d (ethtool -S ethX) | egrep -v :\ 0 | ustun
Qidiriladigan ba'zi narsalar: - rx_dropped protsessor buferlarga etarlicha tez xizmat ko'rsatmayotganligini bildiradi.
- port.rx_dropped slot/xotira/tizimida biror narsa yetarlicha tez emasligini bildiradi.
7.3 Tarmoq hisoblagichlari
Ish yukini ishga tushirishdan oldin/keyin netstat -s ni tekshiring.
Netstat tizimdagi barcha tarmoq qurilmalaridan tarmoq ma'lumotlarini to'playdi. Shuning uchun natijalarga sinov qilinayotgan tarmoqdan tashqari boshqa tarmoqlar ta'sir qilishi mumkin. Netstat -s dan olingan natijalar Linux operatsion tizimi yoki yadrosidagi ishlash muammolarining yaxshi ko'rsatkichi bo'lishi mumkin. Umumiy operatsion tizimni sozlash haqida koʻproq maʼlumot olish uchun Red Hat Enterprise Linux Network Performance Tuning Guide kabi operatsion tizimni sozlash qoʻllanmalariga murojaat qiling.
7.4 Tizim jurnallari
Tizim jurnallarini xatolar va ogohlantirishlar uchun tekshiring (/var/log/messages, dmesg).
7.5 Intel svr-info vositasi
Intel svr-info vositasini taqdim etadi (qarang https://github.com/intel/svr-info) serverdan tegishli apparat va dasturiy taʼminot tafsilotlarini oladigan Linux uchun. svr-info chiqishi tizimdagi qiyinchiliklarni yoki ish yuki uchun optimallashtirilmagan sozlamalar/sozlamalarni aniqlashda juda foydali bo'lishi mumkin. Ethernet bilan bog'liq ishlash muammolari bo'yicha Intel bilan qo'llab-quvvatlash qutisini ochganda, svr-info chiqishini (matnni) qo'shing. file) sinov konfiguratsiyasidagi har bir Linux serveri uchun.
- Svr-info-ni yuklab oling va o'rnating:
wget -qO- https://github.com/intel/svr-info/releases/latest/download/svrinfo.tgz| tar xvz cd svr-info
./svr-info
> hostname.txt - Chiqishni yig'ing:
./svr-info > hostname.txt - Bitta matn (.txt) biriktiring file tahlil qilish uchun har bir server uchun Intel qo'llab-quvvatlash kassasiga.
Umumiy ishlash stsenariylari uchun tavsiyalar
8.1 IP yo'naltirish
- Yadroni yangilang.
Ba'zi so'nggi tarqatish yadrolari xavfsizlik tufayli marshrutlash keshini olib tashlashdan boshlab marshrutlash kodidagi yadro o'zgarishlari tufayli marshrutlash samaradorligini yomonlashtirdi. Yaqinda distrodan chiqqan yadrolarda ushbu o'zgarishlarning ishlash ta'sirini engillashtiradigan va yaxshilangan ishlashni ta'minlaydigan yamoqlar bo'lishi kerak. - Hyper-threading (mantiqiy yadrolar) ni o'chiring.
- Yadro yuklash parametrlarini tahrirlang.
- Virtualizatsiya uchun zarur bo'lmasa, yadro yuklash liniyasidan iommu-ni o'chirib qo'ying (intel_iommu=off yoki iommu=off)
— Quvvatni boshqarishni o'chiring: processor.max_cstates=1 idle=poll pcie_aspm=off - Navbatlar sonini mahalliy rozetkadagi yadrolar soniga teng qilib cheklang (bu holda 12 taample). ethtool -L ethX birlashtirilgan 12
- PIN uzilishlari faqat mahalliy rozetkaga. set_irq_affinity -X mahalliy ethX OR set_irq_affinity -X mahalliy ethX
ESLATMA
-X yoki -x ish yukiga qarab ishlatilishi mumkin. - Agar kerak bo'lsa, Tx va Rx halqa o'lchamlarini o'zgartiring. Kattaroq qiymat ko'proq resurslarni talab qiladi, lekin yaxshiroq uzatish tezligini ta'minlaydi. ethtool -G ethX rx 4096 tx 4096
- Marshrutlashda GRO-ni o'chirib qo'ying.
Ma'lum yadro muammosi tufayli marshrutlash/yo'naltirishda GRO o'chirilishi kerak. ethtool -K ethX gro off, bu erda ethX o'zgartirilishi kerak bo'lgan Ethernet interfeysi. - Moslashuvchan uzilish moderatsiyasini o'chiring va statik qiymatni o'rnating. ethtool -C ethX adaptive-rx off adaptive-tx off ethtool -C ethX rx-usecs 64 tx-usecs 64
ESLATMA
Protsessor turiga va ish yukiga qarab, RX va TX uchun birlashtiruvchi parametrlar yaxshilangan ishlash (yoki kamroq ramka yo'qolishi) uchun sozlanishi mumkin.
- Xavfsizlik devorini o'chirib qo'ying. sudo systemctl xavfsizlik devorini o'chirish sudo systemctl xavfsizlik devorini to'xtatish
- IP yo'naltirishni yoqing. sysctl -w net.ipv4.ip_forward=1
- Qabul qilish va yuborish rozetkasi buferi o'lchamlari uchun maksimal qiymatlarni sozlang. sysctl -w net.core.rmem_max=16777216 sysctl -w net.core.wmem_max=16777216
ESLATMA
Ish yukiga yoki talabga qarab, bu qiymatlar sukut bo'yicha o'zgartirilishi mumkin.
8.2 Past kechikish
- Hyper-threading (mantiqiy yadrolarni) o'chiring.
- Tarmoq qurilmasi numa core 0 ga mahalliy ekanligiga ishonch hosil qiling.
- Taskset -c 0 yordamida benchmarkni 0 yadrosiga mahkamlang.
- systemctl stop irqbalance-dan foydalanib irqbalance-ni o'chiring yoki systemctl irqbalance-ni o'chirib qo'ying
- Yadrolar bo'ylab tarqalish uchun yaqinlik skriptini ishga tushiring. Mahalliy yoki barchasini sinab ko'ring.
- Interrupt moderatsiyasini o'chiring. ethtool -C ethX rx-usecs 0 tx-usecs 0 adaptive-rx off adaptive-tx off rxusecs- high 0
- Navbatlar sonini mahalliy rozetkadagi yadrolar soniga tenglashtiring (bu holda 32 taample). ethtool -L ethX birlashtirilgan 32
- PIN uzilishlari faqat mahalliy rozetkaga (i40e drayver manbasi bilan paketlangan skript). set_irq_affinity -X mahalliy ethX
- Netperf -t TCP_RR, netperf -t UDP_RR yoki NetPipe kabi o'rnatilgan benchmarkdan foydalaning. netperf -t TCP_RR yoki netperf -t UDP_RR
- Benchmarkni mahalliy NUMA tugunidagi bitta yadroga mahkamlang. vazifalar to'plami -c
Intel ® Ethernet 700 Series
Linux ishlashini sozlash bo'yicha qo'llanma
2024 yil dekabr
Dok. No.: 334019, Rev.: 1.2
Hujjatlar / manbalar
![]() |
Intel Ethernet 700 Series Linux ish faoliyatini sozlash [pdf] Foydalanuvchi uchun qoʻllanma 334019, Ethernet 700 Series Linux Performance Tuning, Ethernet 700 Series, Linux Performance Tuning, Performance Tuning, Tuning |