Intel ® Ethernet 700 сериясы
Linux өнімділігін реттеу нұсқаулығы
NEX Cloud Networking Group (NCNG)
Аян 1.2
2024 жылдың желтоқсаны
Қайта қарау тарихы
Қайта қарау | Күн | Пікірлер |
1.2 | 2024 жылдың желтоқсаны | · Қосымша қуатты басқару жөніндегі нұсқаулық қосылды. · Intel* Turbo Boost қосылды. · Қосылған желілік құрылғының кеші. · Платформаға тән конфигурациялар және баптау қосылды. · 4-ші буын Intel* %eon* масштабталатын процессорлары қосылды. · AMD EPYC қосылды. · Жүйенің жабдық мүмкіндіктерін тексеру жаңартылды. · Жаңартылған iPerf2. · Жаңартылған iPerf3. · Жаңартылған Tx/Rx кезектері. · Жаңартылған үзіліс модерациясы. · Жаңартылған сақина өлшемі. · Жаңартылған платформаны баптау (i40e арнайы емес). · Жаңартылған BIOS параметрлері. · Жаңартылған C-State Control. · Жаңартылған CPU жиілігін масштабтау. · Жаңартылған қолданба параметрлері. · Жаңартылған операциялық жүйе/ядро параметрлері. · Жаңартылған IP бағыттау. · Жаңартылған төмен кідіріс. |
2023 жылдың тамызы | Бұл құжатқа енгізілген өзгерістер мыналарды қамтиды: · Қатысты сілтемелер қосылды. · Қосылды DDP бумасының дұрыс жүктелуіне көз жеткізіңіз. · iPerf2 қосылды. · iPerf3 қосылды. · Netperf қосылды. · Жаңартылған IRQ Affinity. · Tx/Rx кезектері қосылды. · Жаңартылған сақина өлшемі. · Jumbo жақтаулары қосылды. · Қосылған адаптер байланысы. · Intel svr-info құралы қосылды. |
|
1.0 | 2016 жылдың наурызы | Бастапқы шығарылым (Intel Public). |
Кіріспе
Бұл нұсқаулық Linux орталарында Intel ® Ethernet 700 сериялы NIC құрылғыларын пайдалану арқылы оңтайлы желі өнімділігі үшін орталарды баптау бойынша нұсқаулықты қамтамасыз етуге арналған. Ол желі өнімділігін жақсартуы мүмкін аппараттық құралға, драйверге және операциялық жүйе жағдайларына және параметрлеріне назар аударады. Желі өнімділігіне сыртқы әсерлердің кез келген саны әсер етуі мүмкін екенін атап өткен жөн, олардың тек ең көп таралған және әсерлілері осы нұсқаулықта қарастырылған.
1.1 Қатысты сілтемелер
- Windows және Linux жүйелерін қолдайтын барлық Intel ® Ethernet адаптерлері мен құрылғыларына арналған пайдаланушы нұсқаулығы:
Intel ® Ethernet адаптерлері мен құрылғыларының пайдаланушы нұсқаулығы - Техникалық деректер парағы:
Intel ® Ethernet Controller X710/XXV710/XL710 деректер парағы - Барлық Intel ® Ethernet өнімдеріне арналған толық SW жинағы (барлық драйверлерді, NVM құрылғыларын, құралдарды және т.б. жүктеп алыңыз):
Intel ® Ethernet адаптері толық драйвер жинағы - NVM (тұрақты емес жад) жаңарту пакеті:
Intel ® Ethernet желі адаптері 700 сериясы үшін тұрақты жадты (NVM) жаңарту утилитасы - Серверден тиісті аппараттық және бағдарламалық құрал мәліметтерін түсіретін Linux жүйесіне арналған svr-info құралы: https://github.com/intel/svr-info
- DDP технологиясы бойынша нұсқаулық:
Intel ® Ethernet 700 сериясының динамикалық құрылғыны жекелендіру (DDP) технологиясы бойынша нұсқаулық
Бастапқы бақылау тізімі
2.1 Драйверді/микробағдарлама нұсқаларын жаңарту
ethtool -i ethx көмегімен драйвер/микробағдарлама нұсқаларын тексеріңіз.
Қажет болған жағдайда келесіні жаңартыңыз:
- i40e драйверін жаңартыңыз
http://sourceforge.net/projects/e1000/files/i40e%20stable/ or https:// downloadcenter.intel.com/ download/24411/Network-Adapter-Driver-for-PCI-E-40- Gigabit-Network-Connections-under-Linux - Микробағдарламаны жаңарту
https: //downloadcenter.intel.com/download/24769/NVM-Update-Utility-for-Intel- Ethernet-ConvergedNetwork-Adapter-XL710-X710-Series
2.2 README оқыңыз
Белгілі мәселелерді тексеріңіз және README ішінен ең соңғы конфигурация нұсқауларын алыңыз file i40e бастапқы пакетіне кіреді.
2.3 PCI Express (PCIe) ұясының x8 екенін тексеріңіз
Кейбір PCIe x8 слоттары шын мәнінде x4 слоттары ретінде конфигурацияланған. Бұл ұяшықтардың қос портты және төрт портты құрылғылармен толық желі жылдамдығы үшін өткізу қабілеті жеткіліксіз. Оған қоса, PCIe v3.0 мүмкіндігі бар адаптерді PCIe v2.x ұясына салсаңыз, өткізу қабілеттілігін толық ала алмайсыз. Бағдарламалық құрал құрылғысының драйвері бұл жағдайды анықтайды және жүйелік журналға келесі хабарламаны жазады:
Бұл карта үшін қол жетімді PCI-Express өткізу қабілеттілігі оңтайлы өнімділік үшін жеткіліксіз. Оңтайлы өнімділік үшін x8 PCI-Express ұясы қажет.
Бұл қате орын алса, мәселені шешу үшін адаптерді шынайы PCIe v3.0 x8 ұясына жылжытыңыз.
2.4 Жүйенің аппараттық мүмкіндіктерін тексеру
10 Гбит/с, 25 Гбит/с және 40 Гбит/с Ethernet жылдамдығында кейбір ең төменгі процессор мен жүйе талаптары бар. Тұтастай алғанда, заманауи сервер класы процессоры және платформаңыз үшін оңтайлы жад конфигурациясы жеткілікті болуы керек, бірақ қажеттіліктер жұмыс жүктемесіне байланысты өзгереді. Барлық жад арналары толтырылып, BIOS жүйесінде жад өнімділігі режимі қосулы болуы керек. Орталық процессор мен жад конфигурациясының жұмыс жүктемесіне қажетті желі өнімділігі деңгейін қолдауға қабілетті екенін тексеріңіз.
ЕСКЕРТУ
XL710 - 40 ГбЕ контроллері. Осы контроллерді пайдаланатын 2 x 40 Гб адаптері 2 x 40 Гб емес, белсенді сақтық көшірме порты бар 1 x 40 GbE болуға арналған. Екі портты қамтитын желілік трафикті пайдалануға әрекет жасағанда, ішкі қосқыш қаныққан және екі порт арасындағы біріктірілген өткізу қабілеттілігі жалпы SO Гбит/с шектелген.
2.4.1 Ядро жүктеу параметрлері
Бағытталған енгізу/шығаруға арналған Intel® виртуалдандыру технологиясы (Intel® VT-d) BIOS жүйесінде қосылған болса, Intel хост желісінің оңтайлы өнімділігі үшін IOMMU өту режимінде болуын ұсынады. Бұл виртуалды машиналарға (VM) Intel® VT-d артықшылықтарына ие болу мүмкіндігін бере отырып, хост трафигіндегі DMA шығындарын болдырмайды. Бұл ядроның жүктеу параметрлеріне келесі жолды қосу арқылы орындалады: fommu-pt.
2.5 DDP бумасының дұрыс жүктелуіне көз жеткізіңіз
140ea және 140eb базалық драйверлерінде динамикалық құрылғыны жекелендіру (DDP) үшін тікелей қолдау жоқ. 700 сериялы құрылғылармен DDP пайдалану үшін, DDP проfile testpmd қолданбасымен қолдануға болады.
DDP pro туралы мәліметтер алу үшінfiles және DDP про қолдану жолыfile 700 сериялы құрылғыларда testpmd көмегімен Intel® Ethernet 700 сериясының динамикалық құрылғыны жекелендіру (DDP) технологиялық нұсқаулығын қараңыз.
DDP pro екенін тексеру үшінfile сәтті жүктелді:
testpmd> ddp тізімді алу 0 Profile саны: 1
ЕСКЕРТУ
Егер проfile саны 0, DDP бумасы жүктелмеген. DDP бумасын жүктеу қатесі болған жағдайда, құрылғы әдепкі бойынша қауіпсіз режимге ауысады және көптеген өнімділік мүмкіндіктері қолжетімсіз болады. DDP бумасын жүктеуге қатысты қателер болса, ол өнімділік мәселелерін тудырады. Ақаулықтарды жою қадамдары үшін Inte/* Ethernet 700 Series Dynamic Device Personalization (DDP) технология нұсқаулығын қараңыз.
Негізгі өнімділікті өлшеу және баптау әдістемесі
3.1 Желі өнімділігінің эталондары
Баптау жаттығуын бастамас бұрын, желіңіздің өнімділігінің жақсы бастапқы өлшемін алу маңызды. Әдетте нақты қолданбаның/жұмыс жүктемесінің өнімділігінің бастапқы өлшемін алумен қатар, желілік құрылғыңыздың жақсы күйде екенін тексеру үшін стандартты желі өнімділігінің эталонын пайдалану жақсы идея.
Жалғыз жүйені оңтайландыру үшін, netperf немесе iperf және NetPIPE қосылымды күшейтуге және өнімділік мәселелерін диагностикалауға мүмкіндік беретін ашық бастапқы тегін құралдар болып табылады.
Netperf өткізу қабілеті мен кідіріс сынағы үшін күшті. NetPIPE кешігуге арналған құрал, бірақ оны кез келген орта үшін құрастыруға болады.
ЕСКЕРТУ
Netperf ішіндегі TCP_RR сынағы транзакциялар/сек мәніндегі кідірісті қайтарады. Бұл екі жаққа бару нөмірі. Бір жақты кешігуді келесі теңдеу арқылы есептеуге болады:
Кідіріс(пайдалану) = (1⁄2) / [Транзакциялар/сек] * 1,000,000 XNUMX XNUMX
3.1.1 iPerf2
Intel корпорациясы көптеген салыстыру жағдайлары үшін iperf2-ні iperf3-тен гөрі ұсынады, себебі бір қолданба данасында бірнеше ағындарды пайдалану және қолдау оңай. Intel 2G қосылымдары үшін 4-25 ағыны және 4G қосылымдары үшін шамамен 6-40 ағыны бар -P опциясымен жұмыс істеуді ұсынады.
- Клиенттен серверге бір бағытты трафикті іске қосу үшін: Сервер пәрмені, мысалыample: iperf2 -s
Клиент пәрмені, мысалыample: iperf2 -c -П - Клиенттен серверге (және керісінше) екі бағытты трафикті іске қосу үшін: сервер пәрмені, мысалыample: iperf2 –s –p
Клиент пәрмені, мысалыampле:
iperf2 -c -б -П -–толық дуплексті НЕМЕСЕ
iperf2 -c -б -П –д
ЕСКЕРТУ
iperf2 ішіндегі –толық дуплексті және -d опцияларының екеуі де пайдаланушыға екі бағытты тестілеуді орындауға мүмкіндік береді. Дегенмен, –толық дуплексті опция толық дуплексті тестілеуге ерекше назар аударады.
ЕСКЕРТУ
Бірнеше сервер порттары арқылы iperf2 сынау кезінде сервер пәрменіне -d жалауын бір терминал терезесінен фондық режимде барлық сервер сеанстарын іске қосу үшін қосуға болады. -d жалауын сервер пәрмені сценарийдегі for-цикліне ендірілген кезде де пайдалануға болады.
ЕСКЕРТУ
Бір ағынмен/ағынмен желі өткізу қабілетін тексеруді іске қосқанда (мысалыample: P1), AMD процессорлары күтілетін өткізу қабілеттілігін қамтамасыз етпеуі мүмкін, әсіресе өткізу қабілеттілігі жоғары NICs (егер жылдамдық >= 25G өткізу қабілеттілігі болса). Нәтижеде, жоғары өткізу қабілеттілігіне қол жеткізу үшін қолданбаны нақты ядроларға бекіту қажет. Қолданба параметрлері 22-бетте қараңыз.
3.1.2 iPerf3
Егер iperf3 пайдаланылса, қосымшаны алу үшін қолданбаның бірнеше даналары қажетtagкөп ағындардың, RSS және аппараттық кезектердің e. Intel 2G қосылымдары үшін 4-25 қолданба сеансымен және 4G қосылымдары үшін шамамен 6-40 сеанспен жұмыс істеуді ұсынады. Әрбір сеанс -p опциясын пайдаланып бірегей TCP портының мәнін көрсетуі керек.
- Клиенттен серверге бір бағытты трафикті іске қосу үшін:
Сервер пәрмені, мысалыampле:
iperf3 -s -p
Клиент пәрмені, мысалыampле:
iperf3 -c -б - Клиенттен серверге (және керісінше) екі жақты трафикті іске қосу үшін:
Сервер пәрмені, мысалыampле:
iperf3 –s –б
Клиент пәрмені, мысалыample: iperf3 -c -б -П –-бидір - iperf3 бірнеше данасын (ағындарын) бастау үшін ағындарды TCP порттарына салыстыру және параллельді түрде бірнеше процестерді жасау үшін & көмегімен iperf3 бағдарламасын фондық режимде іске қосу үшін for циклін пайдалану ұсынылады.
Сервер пәрмені, мысалыample, 4 ағынды бастаңыз: port=””; i үшін {0..3}; порт=520$i; bash -c “iperf3 -s -p $port &”; орындалды; Клиент пәрмені, мысалыample, 4 ағынды бастау – Тест портын жіберу=””; i үшін {0..3}; порт=520$i; bash -c “iperf3 -c $serverIP -p $port &”; орындалды; Клиент пәрмені, мысалыample, 4 ағынды бастау – Сынақ портын қабылдау=””; i үшін {0..3}; порт=520$i; bash -c “iperf3 -R -c $serverIP -p $port &”; орындалды; 40G қосылымдары үшін 6 дананы/ағынды жасау үшін for циклін арттырыңыз.
ЕСКЕРТУ
Бір ағынмен/ағынмен желі өткізу қабілетін тексеруді іске қосқанда (мысалыample: P1), AMD процессорлары күтілетін өткізу қабілеттілігін, әсіресе жоғары өткізу қабілеттілігін қамтамасыз етпеуі мүмкін
NIC (жылдамдық >= 25G өткізу қабілеттілігі болса). Нәтижеде, жоғары өткізу қабілеттілігіне қол жеткізу үшін қолданбаны нақты ядроларға бекіту қажет. Қолданба параметрлері 22-бетте және AMD EPYC 26-бетте қараңыз.
3.1.3 netperf
Netperf құралы өткізу қабілеті мен кідіріс сынағы үшін күшті таңдау болып табылады.
- Netperf ішіндегі TCP_STREAM сынағы құрылғының өткізу мүмкіндіктерін өлшейді. Сервер пәрмені, мысалыample: netserver Client пәрмені, мысалыample: netperf -t TCP_STREAM -l 30 -H
- Netperf ішіндегі TCP_RR сынағы транзакциялар/секунд мәніндегі кідірісті қайтарады. Бұл екі жаққа бару нөмірі. -T x,x опциясын пайдалану ұсынылады, егер x құрылғының жергілікті процессоры болса. Бір жақты кідірісті мыналар арқылы есептеуге болады: Latency(usec)=(1⁄2)/ [Транзакциялар/сек]*1,000,\ Сервер пәрмені, мысалыample: желі сервері
Клиент пәрмені, мысалыample: netperf -t TCP_RR -l 30 -H -Т x,x - Netperf бірнеше данасын (ағындарын) бастау үшін ағындарды TCP порттарымен салыстыру және параллельді бірнеше процестерді жасау үшін & көмегімен netperf фондық режимде іске қосу үшін for-циклін пайдалану ұсынылады.
Сервер пәрмені, мысалыample, 8 ағынды бастаңыз:
порт=””; i үшін {0..7}; порт=520$i; bash -c “netserver -L $serverIP -p $port &”; орындалды;
Клиент пәрмені, мысалыample, 8 ағынды бастаңыз: port=””; i үшін {0..7}; порт=520$i; bash -c “netperf -H $serverIP -p $port -t TCP_STREAM -l 30 &”; орындалды;
3.2 Баптау әдістемесі
Бір уақытта бір баптау өзгерісіне назар аударыңыз, осылайша әрбір өзгеріс сынақыңызға қандай әсер ететінін білесіз. Баптау процесінде неғұрлым әдісті болсаңыз, өнімділік кедергілерінің себептерін анықтау және жою оңайырақ болады.
i40e драйверінің параметрлерін баптау
4.1 IRQ жақындығы
IRQ ұқсастығын конфигурациялау әртүрлі желілік кезектерге арналған үзілістер әртүрлі процессорлық ядроларға байланыстырылады, өнімділікке, әсіресе көп ағынды өткізу сынақтарына үлкен әсер етуі мүмкін.
IRQ ұқсастығын конфигурациялау үшін irqbalance тоқтатыңыз, содан кейін i40e бастапқы бумасындағы set_irq_affinity сценарийін немесе pin кезектерін қолмен пайдаланыңыз. Кезекті бекітуді қосу үшін пайдаланушы кеңістігі IRQ теңгергішін өшіріңіз:
- systemctl irqbalance функциясын өшіреді
- systemctl irqbalance тоқтатады
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 қосылған кезде, Intel irqbalance функциясын өшіруді ұсынады, себебі XPS бар ядро балансы болжанбайтын өнімділікке әкелуі мүмкін. -X опциясы көрсетілген кезде жақындық сценарийі XPS-ті өшіреді. XPS өшіру және симметриялық кезектерді қосу Tx және Rx трафигі бір кезек жұбында(ларында) қызмет көрсеткенде ең жақсы өнімділікке қол жеткізілетін жұмыс жүктемелері үшін тиімді.
Linux жүйесінде симметриялық кезектерді конфигурациялау қолдау көрсетілетін желі адаптерлері үшін симметриялық қабылдау кезектерін (Rx) және симметриялық жіберу кезегін (Tx) қосу үшін желі интерфейсі драйверінің параметрлерін реттеуді қамтиды.
ЕСКЕРТУ
- Симметриялық кезектер жетілдірілген желі мүмкіндігі болып табылады және барлық 700 сериялы желі адаптерлері немесе драйверлері оларды қолдамайды.
- Симметриялық кезектерді конфигурацияламас бұрын қажетті драйвер мен аппараттық қолдау бар екеніне көз жеткізіңіз.
Симметриялық кезектерді конфигурациялау үшін мына жалпы қадамдарды орындаңыз:
- Желілік интерфейс конфигурациясын өңдеу File: Мәтіндік редакторды пайдаланыңыз (мысалы,ample, vi, nano немесе gedit) желі интерфейсінің конфигурациясын өңдеу үшін file. The 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]
- Тағайындалған портқа тағайындалған IRQ-ді табыңыз: grep ethX /proc/interrupts және IRQ мәндерін ескеріңіз, мысалы.ample, жүктелген 181 вектор үшін 192-12.
- SMP ұқсастық мәнін сәйкес IRQ жазбасына қайталаңыз. Мұны әрбір IRQ жазбасы үшін жасау керек екенін ескеріңіз: echo 1 > /proc/irq/181/smp_affinity echo 2 > /proc/irq/182/smp_affinity echo 4 > /proc/irq/183/smp_affinity IRQ ұқсастығын көрсету:
- Барлық ядролар үшін IRQ ұқсастығын көрсету үшін: /scripts/set_irq_affinity -s ethX
- Жергілікті NUMA ұяшығындағы өзектерді ғана көрсету үшін: /scripts/set_irq_affinity -s жергілікті ethX
- Сондай-ақ, ядролар ауқымын таңдауға болады: /скрипттер/set_irq_affinity -s 40-0-8,16 ethX
ЕСКЕРТУ
set_irq_affinity сценарийі i40e драйверінің 2.16.11 және одан кейінгі нұсқаларында -s жалаушасын қолдайды.
4.2 Tx/Rx кезектері
Драйвер инициализациялау кезінде әрбір Ethernet порты үшін қосылған кезектердің әдепкі саны платформада қолжетімді процессорлардың жалпы санына тең. Бұл көптеген платформалар мен жұмыс жүктемесі конфигурациялары үшін жақсы жұмыс істейді. Дегенмен, ядро саны жоғары және/немесе Ethernet портының тығыздығы жоғары платформаларда бұл конфигурация ресурс дауларын тудыруы мүмкін. Сондықтан, кейбір жағдайларда жүйедегі әрбір порт үшін әдепкі мәнді өзгерту қажет болуы мүмкін.
Tx/Rx кезектерінің әдепкі саны нақты үлгіге және драйвер нұсқасына байланысты өзгеруі мүмкін. Кезектердің санын төменде берілген ethtool -L пәрмені арқылы реттеуге болады.
ЕСКЕРТУ
Мұндай жағдайларда Intel корпорациясы әрбір порт үшін әдепкі кезек санын адаптер портына жергілікті NUMA түйінінде қолжетімді процессорлар санынан аспайтын етіп азайтуды ұсынады. Кейбір жағдайларда, порттар санының жоғары орындалуларында ресурстарды теңестіруге әрекет жасағанда, бұл санды одан әрі азайту қажет болуы мүмкін.
Кезек конфигурациясын өзгерту үшін:
Келесі эксample портты 32 Tx/Rx кезегіне орнатады: ethtool -L ethX біріктірілген 32
Exampшығару:
ethtool -l ethX
ethX арнасының параметрлері: Алдын ала орнатылған максимумдар:
RX: 96
СТХ: 96
Басқалар: 1
Біріктірілген: 96
Ағымдағы жабдық параметрлері:
RX: 0
СТХ: 0
Басқалар: 1
Біріктірілген: 32
4.3 Үзіліс модерациясы
Бейімделетін үзіліс модерациясы әдепкі бойынша қосулы және процессорды төмен пайдалану мен жоғары өнімділік арасында теңдестірілген тәсілді қамтамасыз етуге арналған. Дегенмен, пайдалану жағдайыңызға сай болу үшін үзу параметрлерін қолмен реттеп көруіңізге болады.
0-235 микросекунд диапазоны секундына 4,310-нан 250,000-ға дейінгі үзілістердің тиімді диапазонын қамтамасыз етеді. rx-μsecs-high мәнін бір ethtool пәрменіндегі rx-μsecs және tx-μsecs-ке тәуелсіз орнатуға болады, сондай-ақ адаптивті үзіліс модерациясының алгоритміне тәуелсіз. Негізгі жабдық 2 микросекунд аралықтарында түйіршіктілікті қолдайды, сондықтан көрші мәндер бірдей үзіліс жылдамдығына әкелуі мүмкін.
- Адаптивті үзіліс модерациясын өшіру үшін: ethtool -C ethX adaptive-rx off adaptive-tx өшірулі
- Адаптивті үзіліс модерациясын қосу үшін: ethtool -C ethX adaptive-rx және адаптивті-tx қосулы.
Жалпы баптауды бастау үшін жақсы орын - 84 мкс немесе ~12000 үзіліс/с. Трафик кезінде rx_dropped есептегіштері жұмыс істеп тұрғанын көрсеңіз (ethtool -S ethX арқылы), онда сізде процессордың тым баяу болуы мүмкін, пакеттерді 84 мкс-ке немесе үзу жылдамдығынан төмен ұстауға адаптердің сақина өлшемінен (ethtool -G) буферлер жеткіліксіз.
- Үзіліс модерациясын үзілістер арасында (84 үзіліс/с) бекітілген үзу жылдамдығына орнату үшін: ethtool -C ethX adaptive-rx өшірулі adaptive-tx өшірулі rx-usecs 12000 tx-usecs 84 Келесі мән, егер сіз процессорды пайдалану мүмкіндігін барынша пайдаланбасаңыз, келесі мән – CPU84 μs. Бұл процессорды көбірек пайдаланады, бірақ ол буферлерге жылдам қызмет көрсетеді және азырақ дескрипторларды қажет етеді (сақина өлшемі, ethtool -G).
- Үзіліс модерациясын үзілістер арасында 62 рет (16000 үзу/с) тұрақты үзу жылдамдығына орнату үшін. ethtool -C ethX adaptive-rx өшірулі адаптивті-tx өшірулі rx-usecs 62 tx-usecs 62
Егер rx_dropped есептегіштері трафик кезінде көбейсе (ethtool -S ethX арқылы), сізде процессордың тым баяу болуы мүмкін, адаптердің сақина өлшемінен (ethtool -G) буферлер жеткіліксіз немесе үзу жылдамдығы тым төмен болуы мүмкін. Егер сіз процессорды пайдалану мүмкіндігін шектемеген болсаңыз, ITR мәнін төмендету арқылы үзу жылдамдығын арттыруға болады. Бұл процессорды көбірек пайдаланады, бірақ қызметтер жылдамырақ буферленеді және азырақ дескрипторларды қажет етеді (сақина өлшемі, ethtool -G).
Егер сіздің процессорыңыз 100% болса, үзу жылдамдығын арттыру ұсынылмайды. CPU байланысты жұмыс жүктемесі сияқты белгілі бір жағдайларда басқа қолданбалар үшін көбірек CPU уақытын қосу үшін μs мәнін арттырғыңыз келуі мүмкін.
Егер сізге төмен кідіріс өнімділігі қажет болса және/немесе желіні өңдеуге арналған процессордың көп мөлшері болса, үзілістерді мүмкіндігінше жылдам іске қосуға мүмкіндік беретін үзу модерациясын толығымен өшіруге болады. - Үзіліс модерациясын өшіру үшін ethtool -C ethX adaptive-rx өшірулі adaptive-tx өшірулі rx-usecs 0 tx-usecs 0
ЕСКЕРТУ
Үзіліс модерациясы өшірілген күйде іске қосылғанда, әрбір кезекте үзу жылдамдығы өте жоғары болуы мүмкін. Үзіліс жылдамдығының жоғарғы шегін орнату үшін rx-usec-high параметрін қосуды қарастырыңыз. Келесі пәрмен адаптивті үзіліс модерациясын өшіреді және қабылдау немесе жіберу аяқталғанын көрсету алдында ең көбі 5 микросекундқа рұқсат береді. Секундына 200,000 50,000 үзілістердің орнына ол rx-usec-high параметрі арқылы секундына жалпы үзілістерді 20 5-ға дейін шектейді. # ethtool -C ethX adaptive-rx өшірулі adaptive-tx өшірулі rx-usecs-high 5 rx-usecs 80 txusecs 100 Тасымалдау/қабылдау/жоғары басымдықты біріктіру таймерін жоғарырақ (150/200/25/20) немесе жұмыс үшін оңтайлы мәнді (10/5) табу үшін реттеп көріңіз.
4.4 Сақина өлшемі
ethtool -S ethX (rx_dropped, rx_dropped.nic) ішінде rx_dropped есептегіштерін көріп жатсаңыз немесе белсенді бірнеше кезектер бар кэш қысымына күмәндансаңыз, қоңырау өлшемін әдепкі мәннен реттеп көруіңізге болады. Әдепкі мән – 512, максимум – 4096.
- Ағымдағы мәндерді тексеру үшін: ethtool -g ethX
Егер буферлеудің болмауы ағымдағы үзу жылдамдығының төмендеуіне әкеліп соқтырады деп күдіктенсеңіз, алдымен максимумды, содан кейін минимумды қолданып көріңіз, содан кейін оңтайлы өнімділікті көргенше екілік іздеуді жалғастыра аласыз.
Кэш қысымы күдіктенсе (көп кезек белсенді) буферлерді әдепкіден азайту Intel ® Data Direct I/O (Intel ® DDIO) тиімдірек жұмыс істеуіне көмектеседі. Intel корпорациясы rx_dropped санының артуына жол бермеу үшін ethtool -C арқылы үзу жылдамдығын арттыру қажет болуы мүмкін екенін ескере отырып, әр кезекте 128 немесе 256-ны қолданып көруді ұсынады. - Сақина өлшемін белгіленген мәнге орнату үшін: 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 Jumbo жақтаулары
Күтілетін трафик ортасы тасымалданатын деректердің үлкен блоктарынан тұратын кезде, жұмбо кадр мүмкіндігін қосу пайдалы болуы мүмкін. Jumbo Frames қолдауы Максималды жіберу бірлігін (MTU) әдепкі мәннен 1500 үлкенірек мәнге өзгерту арқылы қосылады. Бұл құрылғыға деректерді желі ортасында үлкенірек пакеттерде тасымалдауға мүмкіндік береді. Бұл параметр өткізу қабілеттілігін жақсартуы және үлкен енгізу/шығару жұмыс жүктемелері үшін процессорды пайдалануды азайтуы мүмкін. Дегенмен, ол шағын пакеттерге немесе кешігуге сезімтал жұмыс жүктемелеріне әсер етуі мүмкін.
ЕСКЕРТУ
Jumbo жақтаулары немесе үлкенірек MTU параметрі желі ортасында дұрыс конфигурациялануы керек.
MTU өлшемін үлкейту үшін ifconfig пәрменін пайдаланыңыз. Мысалыample, келесіні енгізіңіз, мұнда интерфейс нөмірі болып табылады: ifconfig мту 9000 жоғары
Немесе ip пәрменін келесідей пайдалануға болады: ip link set mtu 9000 dev ip сілтемесін орнату әзірлеушісі
Платформаны баптау (i40e арнайы емес)
5.1 BIOS параметрлері
- Виртуализация жұмыс жүктемелері үшін Intel® VT-d қосыңыз.
- Гипер-ағын (логикалық процессорлар) өнімділікке әсер етуі мүмкін. Жұмыс жүктемеңіз үшін оны қосу немесе өшіру арқылы тәжірибе жасаңыз.
- Intel® Turbo Boost процессор өзектеріне процессордың негізгі жиілігінен жоғары жиілікте жұмыс істеуге мүмкіндік береді. Intel® Turbo Boost мүмкіндігін қосу көптеген жұмыс жүктемелері үшін өнімділікті жақсартады, бірақ ядроларды жоғары жиілікте ұстау үшін көбірек қуат тұтынады. Жұмыс жүктемеңіз үшін Turbo Boost өшіру/қосу арқылы тәжірибе жасаңыз.
ЕСКЕРТУ
Платформаның жалпы процессорды пайдалануы жоғары болса, турбо жиіліктеріне кепілдік берілмейді. Жалпы процессорды пайдалану артқан сайын жоғары ядролық турбо жиіліктері азаяды.
5.2 Қуатты басқару
Қуатты басқару өнімділікке әсер етуі мүмкін, әсіресе аз кідіріс жұмыс жүктемелерінде. Егер өнімділік қуат тұтынуды азайтудан жоғары басымдылық болса, Intel қуатты басқару әсерлерін шектеумен тәжірибе жасауды ұсынады. Операциялық жүйе құралдары, BIOS параметрлері және ядроны жүктеу параметрлері арқылы қуатты басқаруды шектеудің көптеген түрлі жолдары бар. Ортаңызға сәйкес келетін ең жақсы әдіс пен деңгейді таңдаңыз.
5.2.1 C-мемлекеттік бақылау
CO немесе C1-ге C күйінің кіруін шектеу өнімділікті жақсартады және қуатты пайдалануды арттырады.
CPU пакетінің C6 күй жазбасын өшіру желі өнімділігін жақсартуы мүмкін. Дегенмен, бұл қуат тұтынуды арттырады.
Келесі опциялар қолжетімді:
- C күйінің жазбасын динамикалық басқару:
Ашық
/dev/cpu_dma_latency және оған максималды рұқсат етілген кідірісті жазыңыз.
ЕСКЕРТУ
Дәл осы әрекетті орындау үшін ашық бастапқы қауымдастықтан жүктеп алуға, құрастыруға және пәрмен жолынан іске қосуға болатын cpudmalatency.c деп аталатын шағын бағдарлама бар.
Келесі эксample бес мкс ояту уақытына мүмкіндік береді және осылайша C1 енгізуіне мүмкіндік береді: cpudmalatency 5 &
- Ядро жүктеу параметрлерінде максималды C күйін шектеңіз:
Intel процессорлары үшін: intel_idle.max_cstates=1
Intel емес процессорлар үшін: processor.max_cstates=1 - CPU C6 күйін тексеру және өшіру үшін cpupower пәрменін пайдаланыңыз: Тексеріңіз: cpupower мониторы немесе cpupower idle-info
C6 өшіру: cpupower idle-set -d3 немесе
C-күйлерін өшіру: cpupower idle-set -D0
Ескертулер:
- Серверде Intel® 4-ші буын Intel® Xeon® масштабталатын процессор(лар) болса, процессордағы C күйін өшіріңіз. Hyper Threading қосылғанда немесе өшірілгенде, бос күйлерді өшіру (-D0) бос уақыттарда ядролардың төмен қуат күйлеріне енуіне жол бермейді және процессордың бос және белсенді күйлер арасында ауысу кідірісін азайтады.
- Intel® 4-ші буын Intel® Xeon® масштабталатын процессорының қуатты басқаруы өте агрессивті. Ядролардың төмен қуатты күйлерге өтуіне жол бермеу үшін, оларды ұзақ уақыт бойы сергек ұстау үшін пайдаланылатын ядролардың санын азайтып көріңіз (ethtool -L біріктірілген ). Сондай-ақ, орнатылған irq ұқсастығын (көбінесе -x жергілікті немесе CPU ядроларының тізімімен) пайдаланып, белгілі бір ядроларға үзілістерді байланыстырыңыз және жұмыс жүктемесінің тапсырма жинағы немесе numactl бар сол ядроларда жұмыс істейтініне көз жеткізіңіз. Бұл өзектерді белсенді ұстау және үзілістерді өңдеуді оңтайландыру арқылы өнімділікті жақсартады.
C6 қосу:
CPU қуатының бос режимі -d3
C күйлерін қосу:
CPU қуатының бос режимі -E
- Басқа әдіс - өнімділікті орнату үшін бапталған құралды (көптеген Linux дистрибутивтерімен бірге) пайдалануfile. Бұл проfiles көптеген қолданбалардағы өнімділікке әсер ететін бірнеше ОЖ параметрлерін өзгерту. Желілік өткізу қабілетінің профессионалы екені анықталдыfile жұмыс жүктемелерінің көпшілігін жақсартуды қамтамасыз етеді.
Тексеру:
tuned-adm белсенді
Орнату:
tuned-adm profile желілік өткізу қабілеті
ЕСКЕРТУ
Бапталған қызмет жоғарыдағы пәрмендер үшін іске қосылуы керек. Тексеру/қайта іске қосу үшін бапталған: systemctl күйі бапталған systemctl қайта іске қосылды
Сондай-ақ ядроның жүктеу жолына келесіні қосу арқылы кез келген C күйіндегі жазбаға тыйым салуға болады:
бос = сауалнама - Жүйенің BIOS қуатын басқару параметрлері арқылы C күйін шектеңіз, бұл өнімділік профессионалы болуы мүмкінfile қолжетімді.
Қуатты басқару параметрлерін тексеру немесе орнату үшін turbostat немесе x86_energy_perf_policy сияқты құралдарды пайдалануға болады.
5.2.2 PCIe қуатты басқару
Белсенді күйдегі қуатты басқару (ASPM) белсенді пайдаланылмаған кезде PCIe сілтемелері үшін төмен қуат күйін қосады. Бұл PCIe желілік құрылғыларында жоғары кідірісті тудыруы мүмкін, сондықтан Intel кідіріске сезімтал жұмыс жүктемелері үшін ASPM қызметін өшіруді ұсынады. Ядроның жүктеу жолына келесіні қосу арқылы ASPM өшіріңіз: pcie_aspm=off
5.2.3 CPU жиілігін масштабтау
CPU жиілігін масштабтау (немесе процессор жылдамдығын масштабтау) - қуат пен жылуды үнемдеу үшін жүйенің сағат жылдамдығы жылдам реттелетін Linux қуатын басқару әдісі. C-күйлері сияқты, бұл желі қосылымдарында қажетсіз кідірістерді тудыруы мүмкін.
cpupower құралын CPU өнімділігінің әдепкі параметрлері мен шектеулерін тексеру және өзгерту үшін де пайдалануға болады:
- Тексеру: процессор қуатының мониторы немесе
- Орталық процессорларды өнімділік режиміне орнатыңыз: cpupower жиілігі-жөндеу -g өнімділігі
ЕСКЕРТУ
CPU жиілік шектеулеріне өзгертулер көптеген жұмыс жүктемелеріне әсер етуі мүмкін және CPU турбо режимі сияқты басқа мүмкіндіктерді өшіруі мүмкін.
CPU жиілігін масштабтауды өшіру үшін келесі пәрмендер арқылы CPU қуат қызметін өшіріңіз:
systemctl cpupower.service тоқтату
systemctl cpupower.service өшіреді
5.2.4 Қуатты басқару бойынша қосымша нұсқаулық
Қосымша мәліметтер осы жоғары деңгейде берілгенview 3-ші буын Intel® Xeon® масштабталатын процессорларындағы қуатты басқару мүмкіндіктерінің көпшілігі, сондай-ақ осы мүмкіндіктерді платформа деңгейінде біріктіру туралы нұсқаулық: https://networkbuilders.intel.com/solutionslibrary/power-management-technologyoverview-technology-guide
5.3 Intel® Turbo Boost
Intel® Turbo Boost қажет болғанда процессорды жылдамдатады, бірақ қосымша қуат тұтынуы мүмкін. Turbo Boost функциясын өшіру процессорды тұрақты жылдамдықта ұстап, нақты жұмыс жүктемелері үшін тұрақты өнімділік деңгейін қамтамасыз етеді.
5.4 Желіаралық қалқандар
Брандмауэр өнімділікке, әсіресе кешіктіру өнімділігіне әсер етуі мүмкін.
Қажет болмаса, iptables/брандмауэрді өшіріңіз.
5.5 Қолданба параметрлері
Көбінесе бір ағын (бір желі кезегіне сәйкес келеді) максималды өткізу қабілеттілігіне қол жеткізу үшін жеткіліксіз. Кейбір платформа архитектуралары, мысалы, AMD, Intel негізіндегі процессорлары бар платформалармен салыстырғанда, бір ағыны бар Rx пакеттерін көбірек тастауға бейім.
Қолданбаларды NUMA түйініне немесе желілік құрылғының жергілікті CPU өзектеріне бекіту үшін taskset немесе numactl сияқты құралдарды пайдалануды қарастырыңыз. Жад енгізу/шығару сияқты кейбір жұмыс жүктемелері үшін қолданбаны жергілікті емес түйінге жылжыту артықшылық береді.
Мүмкін болса, қолданбаңыз пайдаланатын ағындар санын көбейту арқылы тәжірибе жасаңыз.
5.6 Ядро нұсқасы
Қазіргі заманғы жәшік ядроларының көпшілігі өнімділік үшін жақсы оңтайландырылған, бірақ пайдалану жағдайыңызға байланысты ядроны жаңарту жақсартылған өнімділікті қамтамасыз етуі мүмкін. Дереккөзді жүктеп алу сонымен қатар ядроны құру алдында белгілі бір мүмкіндіктерді қосуға/өшіруге мүмкіндік береді.
5.7 Операциялық жүйе/ядро параметрлері
Жалпы операциялық жүйені баптау туралы қосымша ақпарат алу үшін Red Hat Enterprise Linux Network Performance Tuning Guide сияқты операциялық жүйені баптау нұсқаулығын қараңыз.
Реттеуге арналған кейбір жалпы параметрлер келесі кестеде берілген. Бұл тек ұсынылған бастапқы нүктелер екенін және оларды әдепкі мәндерден өзгерту жүйеде пайдаланылатын ресурстарды көбейтуі мүмкін екенін ескеріңіз. Мәндерді ұлғайту өнімділікті жақсартуға көмектесетін болса да, берілген жүйеге, жұмыс жүктемесіне және трафик түріне не жақсы жұмыс істейтінін анықтау үшін әртүрлі мәндермен тәжірибе жасау қажет.
Ядро параметрлері төменде көрсетілгендей Linux жүйесіндегі sysctl утилитасының көмегімен конфигурацияланады.
Кімге view жүйедегі rmem және wmem үшін әдепкі мәндер:
sysctl net.core.rmem_default
sysctl net.core.wmem_default
Мәндерді максимумға орнатыңыз (16 МБ):
sysctl -w net.core.rmem_max=16777216
sysctl -w net.core.wmem_max=16777216
Қабылдау буфері (rmem) және жіберу буфері (wmem) деп те белгілі сокет буферінің өлшемдері кіріс және шығыс желі трафигі үшін сақталған жад көлемін көрсететін жүйе параметрлері болып табылады.
-w аргументісіз sysctl іске қосу параметрді ағымдағы параметрімен бірге тізімдейді.
Стек параметрі | Сипаттама |
net.core.rmem_default | Әдепкі Қабылдау терезесінің өлшемі |
net.core.wmem_default | Әдепкі жіберу терезесінің өлшемі |
net.core.rmem_max | Қабылдау терезесінің максималды өлшемі |
net.core.wmem_max | Ең үлкен жіберу терезесінің өлшемі |
net.core.optmem_max | Максималды опция жад буферлері |
net.core.netdev_max_backlog | Ядро төмендей бастағанға дейін өңделмеген пакеттердің артта қалуы |
net.ipv4.tcp_rmem | TCP оқу буферлері үшін жад резервуері |
net.ipv4.tcp_wmem | TCP үшін жадты резервтеу буферін жіберу |
Ядро, желілік стек, жад өңдеушісі, процессор жылдамдығы және қуатты басқару параметрлері желі өнімділігіне үлкен әсер етуі мүмкін. Жалпы ұсыныс - желілік өткізу қабілеттілігінің профессионалына қолдануfile бапталған пәрменін пайдалану. Бұл желілік қолданбаларға артықшылық беру үшін бірнеше ОЖ параметрлерін өзгертеді.
Тексеру:
tuned-adm белсенді
Орнату:
tuned-adm profile желілік өткізу қабілеті
5.8 Желілік құрылғының артта қалуы
Бұл мүмкіндік кіріс трафигін тиімді басқару, пакеттердің жоғалуын азайту, кешіктіруді азайту және өткізу қабілеттілігін арттыру арқылы желі өнімділігін жақсартуға көмектеседі. Бұл пайдаланушы тәжірибесінің жақсаруына және жүйенің жылдам жауап беруіне әкеледі.
Әдепкі бойынша, ол Linux операциялық жүйелерінің көпшілігінде қосылған. Әдепкі мәнді тексеру үшін:
sysctl net.core.netdev_max_backlog
netdev_max_backlog үшін ең үлкен мән ядро нұсқасы, аппараттық құрал, жад және жұмыс жүктемесі сияқты факторларға байланысты өзгеруі мүмкін. Көптеген жағдайларда 8192 жақсы мән ретінде қарастырылады. sysctl -w net.core.netdev_max_backlog=8192
5.9 Платформаға тән конфигурациялар және баптау
5.9.1 4-ші буын Intel® Xeon® масштабталатын процессорлары
Intel® 4-ші буындағы Intel® Xeon® масштабталатын процессорының қуатты басқаруы 3-ші буын Intel® Xeon® масштабталатын процессорларымен салыстырғанда өте агрессивті. Ядролардың төмен қуат күйлеріне өтуіне жол бермеу үшін оларды ұзақ уақыт бойы сергек ұстау үшін пайдаланылатын ядролардың санын азайтып көріңіз.
Ең жоғары өнімділік үшін ұсынылған Bios параметрлері
- Орталық процессордағы гипер-ағынды қосу/өшіру (жұмыс жүктемесінің талабы мен өнімділік мақсаттарына негізделген).
- Жүйені кәсіби орнатыңызfile Ең жоғары өнімділік үшін өнімділікке.
ЕСКЕРТУ
Бұл қуат тұтынудың жоғарылауына әкеледі - Қуат тиімділігінен жоғары CPU өнімділігіне басымдық беру үшін CPU қуатын басқару параметрін Максималды өнімділікке орнатыңыз.
- Turbo Boost қосыңыз. Жүйенің BIOS параметрлерінде Turbo Boost функциясын өшіру әдетте орталық процессордың оның тактілік жиілігін негізгі жиіліктен жоғары динамикалық түрде арттыруына жол бермейді.
- ЕСКЕРТУ
Turbo Boost функциясын өшіру ең жоғары өнімділікке қарағанда тұрақты өнімділік, қуат тиімділігі немесе термиялық басқару басымдық берілген кейбір пайдалану жағдайлары үшін қолайлы болуы мүмкін. - Жүйе виртуализация технологияларын пайдаланбаса, бір түбірлік енгізу/шығару виртуализациясы (SR-IOV) мүмкіндігін өшіріңіз.
- Орталық процессорды белсенді күйде ұстауға нұсқау беру және тереңірек бос күйге кіруге жол бермеу үшін C күйлерін өшіріңіз.
- Орталық процессордың белсенді болып қалуын және C1E бос күйіне кірмеуін қамтамасыз ету үшін C1E өшіріңіз.
- Жүйеге қол жетімді ең жоғары жиілікте жұмыс істеуге нұсқау беру үшін негізгі жиілікті максимумға орнатыңыз.
- Dell платформаларында CPU ядроларының анық және болжамды салыстыруын қамтамасыз ету үшін Multiple APIC Description Table (MADT) негізгі эмуляциясын Linear (немесе BIOS-қа байланысты дөңгелек Robin) күйіне орнатыңыз.
Оңтайландырылған өнімділік үшін ұсынылған ОЖ деңгейінің баптаулары
- Процессор жиілігін масштабтау реттегішін өнімділікке орнатыңыз. cpupower жиілік орнату -g өнімділігі cpupower жиілік-ақпарат
- C күйлерін өшіріңіз. CPU қуаты бос режим -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 (жұмыс жүктемесі өткізу қабілетіне/кідіріске байланысты).
tuned-adm profile желілік өткізу қабілеті
Оңтайландырылған өнімділік үшін ұсынылатын адаптер деңгейінің тюнингтері
- Қолданба трафигі үшін пайдалану үшін кезек санын шектеңіз. Қатысты процессордың өзектерін белсенді күйде ұстау үшін қажетті кезектердің ең аз санын пайдаланыңыз, олардың тереңірек бос күйге енуіне жол бермеңіз (жұмыс жүктемесін реттеңіз): ethtool -L біріктірілген 32
- Үзіліс модерациясының жылдамдығын орнатыңыз. эттол -C адаптивті-rx өшірулі адаптивті-tx өшірулі rx-usecs-high 50 rx-usecs 50 tx-usecs 50
Жұмыс жүктемесі үшін оңтайлы мәнді табу үшін жіберу/қабылдау/жоғары басымдықты біріктіру таймерін жоғары (80/100/150/200) немесе одан төмен (25/20/10/5) реттеп көріңіз. - Rx/Tx сақина өлшемдерін орнатыңыз. эттол - Г rx 4096 tx 4096
ЕСКЕРТУ
Rx пакетінің ethtool -S| көмегімен төмендегенін көрсеңіз grep drop, сақина өлшемін <4096 дейін азайтып көріңіз. Пакеттер түсірілмейтін жұмыс жүктемесі үшін оңтайлы мәнді табуға тырысыңыз. - IRQ жақындығын орнатыңыз. Жергілікті ядроларды NIC немесе арнайы негізгі салыстыруды пайдаланыңыз (мұндағы # ядро 1-беттегі 26-де орнатылған кезек санына тең. systemctl stop irqbalance set_irq_affinity -X жергілікті НЕМЕСЕ орнату_irq_affinity -X
5.9.2 AMD EPYC
AMD EPYC процессорлары - AMD Zen архитектурасына негізделген серверлер мен деректер орталықтары үшін жасалған қуатты процессорлар. Төмендегі параметрлер AMD 4-ші буын EPYC сериясынан алынған.
Ең жоғары өнімділік үшін ұсынылған BIOS параметрлері
- Пайдаланушыларға CPU өнімділігін, қуат тұтынуын және басқа параметрлерді реттеуге мүмкіндік беру үшін теңшелетін режимді қосыңыз. Бұл өнімділік пен қуат тиімділігі арасындағы ең жақсы тепе-теңдік үшін жүйені дәл реттеуге көмектеседі.
- Жалпы өнімділікті жақсартып, қарқынды тапсырмаларды орындау үшін процессорға жылдамдығын автоматты түрде арттыруға мүмкіндік беру үшін негізгі өнімділікті арттыруды қосыңыз.
- Орталық процессордың жауап беру қабілетін сақтай алатын C күйлері деп аталатын тереңірек қуат үнемдеу күйлеріне енуіне жол бермеу үшін ғаламдық C күйін басқаруды өшіріңіз.
ЕСКЕРТУ
C-күйлерін өшіру қосымша қуат тұтынуды тудыруы және жылу температурасын арттыруы мүмкін. Жұмыс жүктемесін екеуін де бақылаңыз. - Жұмыс жүктемесінің талабы мен өнімділік мақсаттарына негізделген процессордағы бір уақыттағы көп ағынды (SMT) қосу/өшіру. SMT Intel процессорларындағы Hyper Threading бағдарламасына тең.
ЕСКЕРТУ
Оңтайландырылған өнімділік үшін ұсынылған ОЖ және адаптер деңгейін реттеу үшін 40-бетте i13e драйверінің параметрлерін реттеу және 40-бетте Платформаны баптау (i19e арнайы емес) бөлімін қараңыз.
Адаптерді байланыстыру
Linux байланысы серверлік орталардағы желі өнімділігін, артықшылықты және ақауларға төзімділікті айтарлықтай жақсартатын қуатты мүмкіндік болып табылады. Дегенмен, оның дұрыс жұмыс істеуі үшін үйлесімді желілік жабдықты және серверде де, қосқышта да дұрыс конфигурация қажет екенін ескеру маңызды.
Linux жүйесіндегі байланыстыру драйвері бірнеше физикалық желі интерфейстерін байланыстырылған интерфейске біріктіруге мүмкіндік береді. Бұл байланысқан интерфейс амалдық жүйе мен қолданбаларға бірыңғай виртуалды желі интерфейсі ретінде пайда болады.
ЕСКЕРТУ
Байланыс логикалық интерфейс болып табылады, сондықтан процессордың ұқсастығын байланыс интерфейсінде тікелей орнату мүмкін емес (мысалы,ample, bond0). Яғни, оның үзілістерді өңдеуге немесе процессордың жақындығына тікелей бақылауы жоқ. Орталық процессордың ұқсастығы байланыстың бөлігі болып табылатын негізгі интерфейстер үшін конфигурациялануы керек.
Байланыстыру әрқайсысының өзіндік сипаттамалары бар бірнеше жұмыс режимін қамтамасыз етеді.
Режим | Түр |
0 | Раунд Робин |
1 | Белсенді сақтық көшірме |
2 | XOR |
3 | Хабар тарату |
4 | LACP |
5 | Жүктеме балансын жіберу |
6 | Бейімделетін жүктеме балансы |
Linux жүйесінде байланыстыруды жасаудың әртүрлі әдістері бар. Ең көп таралған әдістердің бірі - желі конфигурациясын пайдалану files (мысалыample, /etc/network/ интерфейстері немесе /etc/sysconfig/network-scripts/ifcfg-bondX).
Желі конфигурациясын пайдалану арқылы конфигурациялау Files
Келесі қадамдар желі конфигурациясы арқылы байланыстыруды жасайды files.
- Байланыстыру үшін екі немесе одан да көп NIC порттарын таңдаңыз (мысалыample, ethX және ethY)
- NIC конфигурациясын ашыңыз Files қажетті NIC интерфейсі үшін /etc/sysconfig/network-scripts/ астында (мысалы,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=жоқ болса қажет] ЖЕЛІЛІК=200.20.2.0 [BOOTPROTO=жоқ болса талап етіледі] BROADCAST=200.20.2.255 талап етілсе.1қызыл. BOOTPROTO=жоқ] BONDING_OPTS=”режим=100 миймон=XNUMX″
ЕСКЕРТУ
Режим талапқа негізделген 0-ден 6-ға дейінгі кез келген бүтін сан болуы мүмкін. - Қызмет желісін қайта іске қосу немесе NetworkManager.service systemctl қайта іске қосу арқылы желі қызметтерін қайта іске қосыңыз
Өнімділік ақауларын жою
7.1 Орталық процессорды пайдалану
Жұмыс жүктемесі орындалып жатқанда, бір ядродағы процессорды пайдалануды тексеріңіз.
Бір ядроны пайдалану жалпы процессорды пайдаланудан гөрі өнімділікке көбірек қатысты екенін ескеріңіз, өйткені ол желі кезегі үшін процессорды пайдалану идеясын береді. Егер сізде желілік трафикті басқаратын бірнеше ағындар болса, онда сізде тек бірнеше ядролар пайдаланылуы мүмкін. Дегенмен, егер бұл ядролар 100% болса, сіздің желіңіздің өткізу қабілеті процессорды пайдаланумен шектелуі мүмкін және келесі әрекеттерді орындау уақыты келді:
- IRQ модерациясын/сақина өлшемін Үзуді модерацияда егжей-тегжейлі баптаңыз.
- CPU жүктемесін көбірек ядроларға тарату үшін қолданбалар ағындарының санын көбейтіңіз. Егер барлық ядролар 100% жұмыс істеп тұрса, қолданбаңыз желіге емес, процессорға байланысты болуы мүмкін.
Жалпы қол жетімді құралдар:
- жоғарғы
— Орталық процессорлар тізімін кеңейту және қайсысы қолданылып жатқанын тексеру үшін 1 түймесін басыңыз.
— Пайдалану деңгейіне назар аударыңыз.
— Қай процестер ең белсенді (тізімнің жоғарғы жағында) деп көрсетілгеніне назар аударыңыз. - mpstat
Келесі эксampпәрмен жолы Red Hat Enterprise Linux 7.x жүйесінде сыналған.
Ол бір ядродағы процессорды пайдалануды көрсетеді (жалпы бос тұрған пайызды табу және 100-ден шегеру арқылы) және 80% жоғары мәндерді қызыл түспен бөлектейді. mpstat -P ALL 1 1 | grep -v Орташа | құйрық -n +5 | бас -n -1 | awk '{ басып шығару (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 | баған
Кейбір нәрселерді іздеу керек: - rx_dropped процессордың буферлерге жеткілікті жылдам қызмет көрсетпейтінін білдіреді.
- port.rx_dropped слот/жад/жүйесінде бірдеңенің жылдам емес екенін білдіреді.
7.3 Желілік есептегіштер
Жұмыс жүктемесіне дейін/кейін netstat -s тексеріңіз.
Netstat жүйедегі барлық желі құрылғыларынан желі ақпаратын жинайды. Сондықтан нәтижелерге сыналған желіден басқа желілер әсер етуі мүмкін. netstat -s шығысы Linux операциялық жүйесіндегі немесе ядросындағы өнімділік мәселелерінің жақсы көрсеткіші болуы мүмкін. Жалпы операциялық жүйені баптау туралы қосымша ақпарат алу үшін Red Hat Enterprise Linux Network Performance Tuning Guide сияқты операциялық жүйені баптау нұсқаулығын қараңыз.
7.4 Жүйе журналдары
Жүйе журналдарын қателер мен ескертулерге тексеріңіз (/var/log/messages, dmesg).
7.5 Intel svr-info құралы
Intel svr-info құралын ұсынады (қараңыз https://github.com/intel/svr-info) серверден тиісті аппараттық және бағдарламалық құрал мәліметтерін түсіретін Linux үшін. svr-info шығысы жұмыс жүктемесі үшін оңтайландырылмаған жүйе кедергілерін немесе параметрлерді/тюнингтерді анықтау үшін өте пайдалы болуы мүмкін. Ethernet-ке қатысты өнімділік мәселелері үшін Intel компаниясымен қолдау ісін ашқан кезде, svr-info шығысын (мәтін) қосуды ұмытпаңыз. file) сынақ конфигурациясындағы әрбір Linux сервері үшін.
- svr-info жүктеп алыңыз және орнатыңыз:
wget -qO- https://github.com/intel/svr-info/releases/latest/download/svrinfo.tgz| tar xvz cd svr-info
./svr-info
> hostname.txt - Шығаруды жинаңыз:
./svr-info > hostname.txt - Бір мәтінді (.txt) тіркеңіз file талдау үшін әрбір сервер үшін Intel қолдау корпусына.
Жалпы өнімділік сценарийлеріне арналған ұсыныстар
8.1 IP бағыттау
- Ядроны жаңартыңыз.
Кейбір соңғы дистрибутивтік ядролар қауіпсіздікке байланысты маршруттау кэшін жоюдан бастап маршруттау кодындағы ядро өзгерістеріне байланысты маршруттау өнімділігін төмендетті. Жақында таратылмаған ядроларда осы өзгерістердің өнімділік әсерін жеңілдететін және жақсартылған өнімділікті қамтамасыз ететін патчтар болуы керек. - Гипер-ағынды өшіріңіз (логикалық ядролар).
- Ядро жүктеу параметрлерін өңдеңіз.
— Виртуализация үшін қажет болмаса, ядроның жүктеу жолынан iommu өшіру (intel_iommu=өшіру немесе iommu=өшіру)
— Қуатты басқаруды өшіріңіз: 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 өзгертілетін Ethernet интерфейсі болып табылады. - Бейімделетін үзіліс модерациясын өшіріп, статикалық мәнді орнатыңыз. ethtool -C ethX adaptive-rx өшірулі адаптивті-tx өшірулі 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 stop irqbalance арқылы irqbalance өшіру немесе systemctl irqbalance өшіру
- Өзектерге тарату үшін ұқсастық сценарийін іске қосыңыз. Жергілікті немесе барлығын қолданып көріңіз.
- Үзіліс модерациясын өшіріңіз. ethtool -C ethX rx-usecs 0 tx-usecs 0 адаптивті-rx өшірулі адаптивті-tx өшірулі rxusecs- жоғары 0
- Жергілікті розеткадағы өзектер санына тең болуы үшін кезектер санын шектеңіз (осы жерде 32ample). 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
Intel ® Ethernet 700 сериясы
Linux өнімділігін реттеу нұсқаулығы
2024 жылдың желтоқсаны
Док. №: 334019, Рев.: 1.2
Құжаттар / Ресурстар
![]() |
Intel Ethernet 700 сериясы Linux өнімділігін реттеу [pdf] Пайдаланушы нұсқаулығы 334019, Ethernet 700 сериясы Linux өнімділігін реттеу, Ethernet 700 сериясы, Linux өнімділігін реттеу, өнімділікті реттеу, баптау |