Intel LogoIntel ® Ethernet 700 runtuyan
Panungtun Tuning Kinerja Linux
NEX Cloud Networking Group (NCNG)
Wahyu 1.2
Désémber 2024

Riwayat révisi

Révisi titimangsa Koméntar
1.2 Désémber 2024 · Ditambahkeun Pitunjuk Manajemén Daya Tambahan.
· Ditambahkeun Intel * Turbo Boost.
· Ditambahkeun Backlog Alat Jaringan.
· Ditambahkeun Konfigurasi Platform-Spésifik sareng Tuning.
· Ditambahkeun 4. Generasi Intel * %eon * Prosesor Scalable.
· Ditambahkeun AMD EPYC.
· Ngamutahirkeun Kamampuhan Hardware System.
· Diropéa iPerf2.
· Diropéa iPerf3.
· Diropéa Tx / Rx antrian.
· diropéa Moderation interupsi.
· Diropéa Ukuran Ring.
· Diropéa Platform Tuning (i40e Non-Spésifik).
· Setélan BIOS diropéa.
· Diropéa C-State Control.
· Diropéa CPU Frékuénsi Skala.
· Setélan Aplikasi diropéa.
· Diropéa Sistem Operasi / Setélan Kernel.
· Ngaropéa IP Neraskeun.
· Diropéa Low Latency.
Agustus 2023 Parobihan kana dokumén ieu kalebet:
· Ditambahkeun Rujukan Patali.
· Ditambahkeun Pastikeun Paket DDP Dimuat Bener.
· Ditambahkeun iPerf2.
· Ditambahkeun iPerf3.
· Ditambahkeun netperf.
· Diropéa Pangirut IRQ.
· Ditambahkeun Tx / Rx antrian.
· Diropéa Ukuran Ring.
· Ditambahkeun Bingkai Jumbo.
· Ditambahkeun adaptor beungkeutan.
· Ditambahkeun Intel svr-info Alat.
1.0 Maret 2016 Kaluaran Awal (Intel Public).

Bubuka

Pituduh ieu dimaksudkeun pikeun méré pituduh pikeun ngaluyukeun lingkungan pikeun kinerja jaringan optimal ngagunakeun Intel ® Ethernet 700 Series NICs dina lingkungan Linux. Éta museurkeun kana hardware, supir, sareng kaayaan sistem operasi sareng setélan anu tiasa ningkatkeun kinerja jaringan. Ieu kudu dicatet yén kinerja jaringan bisa kapangaruhan ku sagala jumlah pangaruh luar, ngan nu paling umum tur dramatis ieu katutupan dina pituduh ieu.
1.1 Rujukan patali

Daptar pariksa awal

2.1 Update Supir / Vérsi firmware
Pariksa versi supir / firmware ngagunakeun ethtool -i ethx.
Apdet handap sakumaha diperlukeun:

2.2 Maca README
Pariksa masalah dipikawanoh tur meunangkeun parentah konfigurasi panganyarna tina README file kaasup kana pakét sumber i40e.
2.3 Pariksa yén slot PCI Express Anjeun (PCIe) Dupi x8
Sababaraha liang PCIe x8 sabenerna ngonpigurasi salaku liang x4. liang ieu boga rubakpita cukup pikeun laju garis pinuh ku port dual jeung alat port quad. Sajaba ti éta, lamun nempatkeun hiji adaptor PCIe v3.0-sanggup kana slot PCIe v2.x, Anjeun moal bisa meunang rubakpita pinuh. Supir parangkat lunak ngadeteksi kaayaan ieu sareng nyerat pesen ieu dina log sistem:
PCI-Express rubakpita sadia pikeun kartu ieu teu cukup pikeun pagelaran optimal. Pikeun pagelaran optimal diperlukeun hiji slot x8 PCI-Express.
Lamun kasalahan ieu lumangsung, pindahkeun adaptor anjeun ka slot PCIe v3.0 x8 leres pikeun ngabéréskeun masalah.
2.4 Mariksa Kamampuh Hardware System
Dina 10 Gbps, 25 Gbps, sareng 40 Gbps Ethernet, aya sababaraha syarat CPU sareng sistem minimum. Sacara umum, prosesor kelas server modern sareng konfigurasi mémori anu optimal pikeun platform anjeun kedah cekap, tapi kabutuhan rupa-rupa gumantung kana beban kerja anjeun. Sadaya saluran mémori kedah dieusi sareng mode kinerja mémori kedah diaktipkeun dina mios. Pastikeun yén konfigurasi CPU sareng mémori anjeun tiasa ngadukung tingkat kinerja jaringan anu anjeun peryogikeun pikeun beban kerja anjeun.
CATETAN
XL710 mangrupikeun pangontrol 40 GbE. Adaptor 2 x 40 GbE anu ngagunakeun pangontrol ieu henteu dimaksudkeun pikeun 2 x 40 GbE tapi 1 x 40 GbE sareng port cadangan anu aktip. Nalika nyobian nganggo lalu lintas jalur anu ngalibetkeun duanana palabuhan, saklar internal jenuh sareng bandwidth gabungan antara dua palabuhan dugi ka jumlahna SO Gbps.
2.4.1 Parameter boot kernel
Upami Intel® Virtualization Technology for Directed I/O (Intel® VT-d) diaktipkeun dina BIOS, Intel nyarankeun yén IOMMU dina modeu pass-through pikeun pagelaran jaringan host anu optimal. Ieu ngaleungitkeun overhead DMA dina lalu lintas host bari ngamungkinkeun Mesin Virtual (VM) masih gaduh mangpaat Intel® VT-d. Ieu dilakonan ku nambahkeun garis handap kana parameter boot kernel: fommu-pt.
2.5 Pastikeun Paket DDP Dimuat Bener
Supir dasar 140ea sareng 140eb henteu gaduh dukungan langsung pikeun Personalisasi Alat Dinamis (DDP). Pikeun make DDP kalawan 700 alat Series, a DDP profile tiasa diterapkeun sareng aplikasi testpmd.
Pikeun detil ngeunaan DDP profiles, jeung kumaha nerapkeun DDP profile kalawan testpmd on 700 Alat Series, tingal Intel® Ethernet 700 Series Dinamis Alat Personalization (DDP) Pituduh Téhnologi.
Pikeun pariksa naha DDP profile parantos suksés dimuat:
testpmd> ddp meunang daptar 0 Profile nomerna nyaéta: 1
CATETAN
Lamun profile jumlahna 0, euweuh pakét DDP dimuat. Upami aya kasalahan ngamuat pakét DDP, alat bakalan ka modeu aman sareng seueur fitur kinerja henteu sayogi. Upami aya kasalahan anu aya hubunganana sareng ngamuat pakét DDP, éta bakal nyababkeun masalah kinerja. Pikeun léngkah ngungkulan, tingal Inte / * Ethernet 700 Series Dinamis Alat Personalization (DDP) Pituduh Téhnologi.

Pangukuran Kinerja Dasar sareng Métodologi Tuning

3.1 Tolok ukur Kinerja Jaringan
Sateuacan ngamimitian latihan tuning, penting pikeun gaduh pangukuran dasar anu saé pikeun kinerja jaringan anjeun. Biasana salian ti meunangkeun pangukuran awal kinerja aplikasi/beban gawé husus anjeun, éta hadé pikeun ogé ngagunakeun patokan kinerja jaringan standar pikeun pariksa yen alat jaringan anjeun dina kaayaan alus.
Pikeun optimasi sistem tunggal, netperf atanapi iperf sareng NetPIPE mangrupikeun alat gratis opensource anu padet anu ngamungkinkeun anjeun pikeun stress sambungan sareng ngadiagnosis masalah kinerja.
Netperf kuat pikeun tés throughput sareng latency. NetPIPE mangrupikeun alat khusus latency tapi tiasa disusun pikeun lingkungan naon waé.
CATETAN
Tes TCP_RR di netperf mulih latency dina nilai transaksi / detik. Ieu nomer buleud-lalampahan. Latensi hiji arah tiasa diitung nganggo persamaan ieu:
Latency(usec) = (1⁄2) / [Transaksi/detik] * 1,000,000
3.1.1 iPerf2
Intel nyarankeun iperf2 leuwih iperf3 pikeun kalolobaan kaayaan benchmarking alatan betah pamakéan sarta rojongan ti sababaraha threads dina conto aplikasi tunggal. Intel nyarankeun ngajalankeun kalawan pilihan -P kalawan 2-4 threads pikeun sambungan 25G sarta sabudeureun 4-6 threads pikeun sambungan 40G.

  • Pikeun ngajalankeun lalulintas uni-arah ti klien ka server: Server paréntah example: iperf2 -s
    paréntah klien example: iperf2 -c -P
  • Pikeun ngajalankeun lalu lintas dua arah ti klien ka server (sabalikna): Paréntah server example: iperf2 –s –p
    paréntah klien example:
    iperf2 -c -p -P -–full-duplex ATAWA
    iperf2 -c -p -P –d

CATETAN
Pilihan -full-duplex sareng -d dina iperf2 ngamungkinkeun pangguna pikeun ngalakukeun tés dua arah. Tapi, pilihan -full-duplex khusus museurkeun kana uji duplex pinuh.
CATETAN
Nalika nguji iperf2 dina sababaraha palabuhan server, bandéra -d tiasa ditambah kana paréntah pangladén pikeun ngajalankeun sadaya sesi server di latar tukang tina jandela terminal anu sami. Bandéra -d ogé tiasa dianggo nalika paréntah pangladén dipasang di jero pikeun-loop dina naskah.
CATETAN
Nalika ngajalankeun tes throughput jaringan sareng aliran / utas tunggal (example: P1), prosesor AMD bisa jadi teu nyadiakeun throughput ekspektasi, utamana NICs rubakpita luhur (lamun speed nyaeta> = 25G rubakpita). Hasilna, aplikasi pinning ka cores husus diperlukeun pikeun ngahontal throughput luhur. Tempo Setélan Aplikasi dina kaca 22.
3.1.2 iPerf3
Upami iperf3 dianggo, sababaraha instansi aplikasi anu diperyogikeun pikeun nyandak advantage tina multi-threads, RSS, jeung antrian hardware. Intel nyarankeun ngajalankeun sareng 2-4 sesi aplikasi pikeun sambungan 25G sareng sakitar 4-6 sesi pikeun sambungan 40G. Unggal sési kedah netepkeun nilai port TCP anu unik nganggo pilihan -p.

  • Pikeun ngajalankeun lalu lintas uni-arah ti klien ka server:
    paréntah server example:
    iperf3 -s -p
    paréntah klien example:
    iperf3 -c -p
  • Pikeun ngajalankeun lalu lintas dua arah ti klien ka server (sabalikna):
    paréntah server example:
    iperf3 –s –p
    paréntah klien example: iperf3 -c -p -P –-bidir
  • Pikeun ngamimitian sababaraha instansi (benang) tina iperf3, rekomendasi nyaéta ngagunakeun pikeun-loop pikeun peta threads ka palabuhan TCP tur ngajalankeun iperf3 di tukang ngagunakeun & nyieun sababaraha prosés dina paralel.
    paréntah server example, ngamimitian 4 threads: port = ""; keur kuring dina {0..3}; ngalakukeun port = 520 $ i; bash -c "iperf3 -s -p $ palabuhan &"; rengse; paréntah klien example, ngamimitian 4 threads - ngirimkeun port test = ""; keur kuring dina {0..3}; ngalakukeun port = 520 $ i; bash -c "iperf3 -c $ serverIP -p $ port &"; rengse; paréntah klien example, ngamimitian 4 threads - Nampi test port = ""; keur kuring dina {0..3}; ngalakukeun port = 520 $ i; bash -c "iperf3 -R -c $ serverIP -p $ port &"; rengse; Pikeun sambungan 40G, ningkatkeun for-loop pikeun nyieun nepi ka 6 instansi/threads.

CATETAN
Nalika ngajalankeun tes throughput jaringan sareng aliran / utas tunggal (example: P1), prosesor AMD bisa jadi teu nyadiakeun throughput ekspektasi, rubakpita utamana luhur
NICs (lamun speed nyaeta> = 25G rubakpita). Hasilna, aplikasi pinning ka cores husus diperlukeun pikeun ngahontal throughput luhur. Tempo Setélan Aplikasi dina kaca 22 jeung AMD EPYC dina kaca 26.
3.1.3 netperf
Alat netperf mangrupikeun pilihan anu kuat pikeun tés throughput sareng latency.

  • Tes TCP_STREAM dina netperf ngukur kamampuan throughput alat. paréntah server example: netserver Paréntah klien example: netperf -t TCP_STREAM -l 30 -H
  • Tes TCP_RR di netperf mulih latency dina nilai transaksi / detik. Ieu nomer buleud-lalampahan. Disarankeun make pilihan -T x, x, éta x nyaéta CPU lokal pikeun alat. Latency saarah bisa diitung ngagunakeun: Latency(usec)=(1⁄2)/ [Transaksi/detik]*1,000,\ Server command example: netserver
    paréntah klien example: netperf -t TCP_RR -l 30 -H -T x,x
  • Pikeun ngamimitian sababaraha instansi (benang) tina netperf, rekomendasi nyaéta ngagunakeun pikeun-loop peta threads ka palabuhan TCP tur ngajalankeun netperf di tukang ngagunakeun & nyieun sababaraha prosés dina paralel.
    paréntah server example, mimitian 8 threads:
    palabuhan = ""; keur kuring dina {0..7}; ngalakukeun port = 520 $ i; bash -c "netserver -L $ serverIP -p $ port &"; rengse;
    paréntah klien example, ngamimitian 8 threads: port = ""; keur kuring dina {0..7}; ngalakukeun port = 520 $ i; bash -c "netperf -H $ serverIP -p $ port -t TCP_STREAM -l 30 &"; rengse;

3.2 Métodologi Tuning
Fokus kana hiji parobahan tuning dina hiji waktos supados anjeun terang naon dampak anu dilakukeun ku unggal parobihan kana tés anjeun. Beuki metodis anjeun dina prosés tuning, langkung gampang pikeun ngaidentipikasi sareng ngabéréskeun anu nyababkeun bottlenecks kinerja.

Tuning Setélan Supir i40e

4.1 Pangirut IRQ
Ngonpigurasikeun afinitas IRQ ku kituna interrupts pikeun antrian jaringan béda anu afinitas kana cores CPU béda bisa boga dampak badag dina kinerja, utamana tés throughput multithread.
Pikeun ngonpigurasikeun IRQ afinitas, eureun irqbalance lajeng boh nganggo set_irq_affinity Aksara tina pakét sumber i40e atanapi pin antrian sacara manual. Nonaktipkeun pangimbang IRQ spasi-pamaké pikeun ngaktipkeun pinning antrian:

  • systemctl nganonaktipkeun irqbalance
  • systemctl ngeureunkeun irqbalance
    Ngagunakeun skrip set_irq_affinity tina pakét sumber i40e (disarankeun):
  • Pikeun nganggo sadaya inti:
    [jalur-ka-i40epackage]/skrip/set_irq_affinity -X sadayana ethX
  • Pikeun ngan ukur nganggo inti dina stop kontak NUMA lokal: [path-to-i40epackage]/scripts/set_irq_affinity -X local ethX
  • Anjeun oge bisa milih sauntuyan cores. Hindarkeun nganggo cpu0 sabab ngajalankeun tugas timer. [jalur-ka-i40epackage]/skrip/set_irq_affinity 1-2 ethX

CATETAN
Aksara afinitas ngamungkinkeun Transmit Packet Steering (XPS) salaku bagian tina prosés pinning nalika pilihan -x dieusian. Nalika XPS diaktipkeun, Intel nyarankeun yén anjeun nganonaktipkeun irqbalance, sabab pangimbang kernel sareng XPS tiasa nyababkeun kinerja anu teu kaduga. Aksara afinitas nganonaktipkeun XPS nalika pilihan -X dieusian. Nganonaktipkeun XPS sareng ngaktipkeun antrian simetris mangpaat pikeun beban kerja dimana prestasi pangsaéna dihontal nalika lalu lintas Tx sareng Rx dilayanan dina pasangan antrian anu sami.
Ngonpigurasikeun antrian simetris dina Linux Ubuntu ngalibatkeun tuning parameter supir interface jaringan pikeun ngaktipkeun simetris narima antrian (Rx) jeung simetris ngirimkeun antrian (Tx) pikeun adapters jaringan dirojong.
CATETAN

  • antrian simetris mangrupa fitur jaringan canggih, sarta teu kabeh 700 runtuyan adapters jaringan atawa drivers ngarojong aranjeunna.
  • Pastikeun anjeun gaduh pangrojong supir sareng hardware anu diperyogikeun sateuacan nyobian ngonpigurasikeun antrian simetris.

Pikeun ngonpigurasikeun antrian simetris, tuturkeun léngkah-léngkah umum ieu:

  1. Édit Network Interface Konfigurasi File: Paké pangropéa téksu (pikeun example, vi, nano, atawa gedit) pikeun ngédit konfigurasi panganteur jaringan file. The file ilaharna ayana dina /etc/sysconfig/network-scripts/ diréktori sarta boga ngaran kawas ifcfg-ethX, dimana ethX nyaéta ngaran panganteur jaringan Anjeun.
  2. Tambahkeun Parameter antrian simetris. Tambahkeun garis handap kana konfigurasi panganteur jaringan file: ETHTOOL_OPTS=”rx-queues 8 tx-queues 8″
  3. Balikan deui Service Network.
    Sanggeus nyieun parobahan, balikan deui ladenan jaringan pikeun nerapkeun konfigurasi anyar. sudo systemctl balikan deui jaringan

Sacara manual:

  • Manggihan prosesor napel unggal titik ngagunakeun: numactl –hardware lscpu
  • Manggihan masker bit pikeun tiap prosesor:
  • Anggap inti 0-11 pikeun titik 0: [1,2,4,8,10,20,40,80,100,200,400,800]
  • Milarian IRQ anu ditugaskeun ka port anu ditugaskeun: grep ethX /proc/interrupts sareng perhatikeun nilai IRQ For example, 181-192 pikeun 12 vektor dimuat.
  • Gema nilai afinitas SMP kana éntri IRQ anu saluyu. Catet yén ieu kedah dilakukeun pikeun unggal éntri IRQ: gema 1 > /proc/irq/181/smp_affinity echo 2 > /proc/irq/182/smp_affinity echo 4 > /proc/irq/183/smp_affinity Show IRQ afinitas:
  • Pikeun nunjukkeun afinitas IRQ pikeun sadaya inti: /scripts/set_irq_affinity -s ethX
  • Pikeun ngan ukur nunjukkeun inti dina stop kontak NUMA lokal: /scripts/set_irq_affinity -s lokal ethX
  • Anjeun ogé tiasa milih sauntuyan inti: / Aksara / set_irq_affinity -s 40-0-8,16 ethX

CATETAN
Aksara set_irq_affinity ngarojong bendera -s dina versi supir i40e 2.16.11 sarta engké.
4.2 Tx / Rx antrian
Jumlah standar antrian diaktipkeun pikeun tiap port Ethernet ku supir dina initialization sarua jeung jumlah total CPUs sadia dina platform nu. Ieu tiasa dianggo saé pikeun seueur platform sareng konfigurasi beban kerja. Sanajan kitu, dina platform kalawan cacah core tinggi na / atawa dénsitas port Ethernet tinggi, konfigurasi ieu bisa ngabalukarkeun contention sumberdaya. Ku alatan éta, dina sababaraha kasus bisa jadi diperlukeun pikeun ngarobah standar pikeun tiap port dina sistem.
Jumlah standar antrian Tx / Rx bisa rupa-rupa gumantung kana model husus sarta versi supir. Jumlah antrian tiasa disaluyukeun nganggo paréntah ethtool -L anu didaptarkeun di handap.
CATETAN
Dina kasus ieu, Intel nyarankeun yén anjeun ngurangan itungan antrian standar pikeun tiap port teu leuwih ti jumlah CPUs sadia dina titik NUMA lokal ka port adaptor. Dina sababaraha kasus, nalika nyobian nyaimbangkeun sumber daya dina palaksanaan count port tinggi, bisa jadi diperlukeun pikeun ngurangan jumlah ieu malah salajengna.
Pikeun ngarobih konfigurasi antrian:
Ex di handapample nyetél port ka 32 Tx / Rx antrian: ethtool -L ethX digabungkeun 32
Exampkaluaran:
ethtool -l ethX
Parameter saluran pikeun ethX: Maksimum anu tos disetel:
RX: 96
TX: 96
Lain: 1
Gabungan: 96
Setélan hardware ayeuna:
RX: 0
TX: 0
Lain: 1
Gabungan: 32
4.3 Ngaganggu Moderation
Moderation interupsi adaptif dihurungkeun sacara standar, sarta dirancang pikeun nyadiakeun pendekatan saimbang antara utilization CPU lemah sareng kinerja tinggi. Nanging, anjeun tiasa nyobian nyetél setélan interupsi sacara manual pikeun nyocogkeun kana kasus pamakean anjeun.
Kisaran 0-235 microseconds nyadiakeun rentang éféktif 4,310 nepi ka 250,000 interrupts per detik. Nilai rx-μsecs-high bisa diatur bebas tina rx-μsecs na tx-μsecs dina paréntah ethtool sarua, sarta ogé bebas tina algoritma moderation interrupt adaptif. Parangkat keras dasarna ngadukung granularitas dina interval 2mikrodetik, ku kituna nilai anu padeukeut tiasa nyababkeun tingkat interupsi anu sami.

  • Pikeun mareuman moderasi gangguan adaptif: ethtool -C ethX adaptive-rx off adaptive-tx off
  • Pikeun ngaktipkeun moderasi interrupt adaptif: ethtool -C ethX adaptive-rx on adaptive-tx on

Tempat anu saé pikeun ngamimitian pikeun tuning umum nyaéta 84 μs, atanapi ~ 12000 interrupts / s. Lamun ningali counters rx_dropped ngajalankeun salila lalulintas (ngagunakeun ethtool -S ethX) lajeng Anjeun meureun kudu teuing slow CPU a, teu cukup panyangga tina ukuran ring adaptor urang (ethtool -G) pikeun nahan pakét pikeun 84 μs atawa low tina laju ngaganggu.

  • Pikeun ngeset moderation interupsi ka laju interupsi tetep 84 μs antara interrupts (12000 interrupts / s): ethtool -C ethX adaptif-rx off adaptif-tx off rx-usecs 84 tx-usecs 84 Nilai salajengna pikeun nyobaan, lamun teu maxed kaluar on CPU utilization, nyaeta 62μs. Ieu ngagunakeun leuwih CPU, tapi jasa buffers gancang, sarta merlukeun pangsaeutikna deskriptor (ukuran ring, ethtool -G).
  • Pikeun nyetel moderation interupsi kana laju interupsi tetep 62 usecs antara interrupts (16000 interrupts / s). ethtool -C ethX adaptif-rx pareum adaptif-tx pareum rx-usecs 62 tx-usecs 62
    Mun rx_dropped counters naek salila lalulintas (ngagunakeun ethtool -S ethX), Anjeun meureun kudu teuing slow CPU a, teu cukup panyangga tina ukuran ring adaptor urang (ethtool -G), atawa teuing low tina laju ngaganggu. Mun anjeun teu maxed kaluar on CPU utilization, Anjeun bisa ningkatkeun laju ngaganggu ku nurunkeun nilai ITR. Ieu nganggo langkung seueur CPU, tapi jasa panyangga langkung gancang, sareng peryogi langkung seueur deskriptor (ukuran cincin, ethtool -G).
    Upami CPU anjeun 100%, maka henteu disarankeun pikeun ningkatkeun laju ngaganggu. Dina kaayaan anu tangtu sapertos beban kerja kabeungkeut CPU, anjeun panginten hoyong ningkatkeun nilai μs pikeun ngaktifkeun langkung seueur waktos CPU pikeun aplikasi anu sanés.
    Upami anjeun meryogikeun kinerja latén anu rendah sareng / atanapi gaduh seueur CPU pikeun ngolah jaringan, anjeun tiasa nganonaktipkeun moderasi interupsi sapinuhna, anu ngamungkinkeun interrupts ka seuneu gancang-gancang.
  • Pikeun nganonaktipkeun interrupt moderation ethtool -C ethX adaptive-rx off adaptive-tx off rx-usecs 0 tx-usecs 0

CATETAN
Nalika ngajalankeun kalawan moderation interupsi ditumpurkeun, laju interupsi on unggal antrian tiasa pisan tinggi. Pertimbangkeun kaasup parameter rx-usec-high pikeun nyetel wates luhur dina laju interupsi. Paréntah di handap ieu nganonaktipkeun moderasi interupsi adaptif sareng ngamungkinkeun maksimal 5 microseconds sateuacan nunjukkeun nampi atanapi ngirimkeun parantos réngsé. Gantina ngahasilkeun saloba 200,000 interrupts per detik, éta ngawatesan total interrupts per detik ka 50,000 via parameter rx-usec-high. # ethtool -C ethX adaptif-rx off adaptif-tx off rx-usecs-high 20 rx-usecs 5 txusecs 5 Coba nyaluyukeun ngirimkeun / narima / prioritas luhur coalescing timer luhur (80/100/150/200) atawa handap (25/20/10/5) pikeun manggihan nilai karya optimal.
4.4 Ukuran Ring
Upami anjeun ningali counters rx_dropped di ethtool -S ethX (rx_dropped, rx_dropped.nic), atanapi curiga tekanan cache kalayan sababaraha antrian aktip, anjeun tiasa nyobian nyaluyukeun ukuran cincin tina nilai standar. Nilai standar nyaéta 512, maksimalna nyaéta 4096.

  • Pikeun pariksa nilai ayeuna: ethtool -g ethX
    Upami disangka kurangna buffering nyababkeun panurunan dina laju interupsi ayeuna, anjeun tiasa nyobian maksimal heula, teras minimum, teras teraskeun dina milarian binér dugi ka ningali kinerja optimal.
    Lamun tekanan cache disangka (loba antrian aktip) ngurangan panyangga ti standar bisa mantuan Intel ® Data Direct I / O (Intel ® DDIO) beroperasi kalawan hadé éfisién. Intel nyarankeun nyobian 128 atawa 256 per antrian, sadar yen paningkatan dina laju interupsi via ethtool -C bisa jadi diperlukeun pikeun nyegah paningkatan dina rx_dropped.
  • Pikeun nyetel ukuran cincin ka nilai tetep: ethtool -G eth12 rx 256 tx 256

CATETAN
Pikeun ngalereskeun tetes pakét Rx kapanggih kalawan ethtool -S ethX|grep serelek, mertimbangkeun ngaronjatkeun ukuran ring ka 4096. Ékspérimén pikeun manggihan setelan pangalusna pikeun workload tapi awas pikeun pamakéan memori kaleuleuwihan jeung nilai nu leuwih luhur.
4.5 Ngadalikeun Aliran
Lapisan 2 kontrol aliran bisa mangaruhan kinerja TCP considerably sarta dianjurkeun pikeun ditumpurkeun pikeun kalolobaan beban gawé. Pangecualian poténsial nyaéta lalu lintas bursty dimana bursts henteu panjang.
Kontrol aliran ditumpurkeun sacara standar.

  • Pikeun ngaktipkeun kontrol aliran: ethtool -A ethX rx on tx on
  • Pikeun nganonaktipkeun kontrol aliran: ethtool -A ethX rx off tx off

CATETAN
Anjeun kedah gaduh mitra link anu tiasa ngontrol aliran pikeun suksés ngaktifkeun kontrol aliran.
4.6 Pigura Jumbo
Nalika lingkungan patalimarga anu dipiharep diwangun ku blok ageung data anu ditransfer, éta tiasa mangpaat pikeun ngaktipkeun fitur pigura jumbo. Pangrojong Jumbo Frames diaktipkeun ku cara ngarobah Unit Transmisi Maksimum (MTU) kana nilai anu langkung ageung tibatan nilai standar 1500. Hal ieu ngamungkinkeun alat pikeun nransfer data dina pakét anu langkung ageung dina lingkungan jaringan. Setelan ieu tiasa ningkatkeun throughput sareng ngirangan pamakean CPU pikeun beban kerja I/O ageung. Nanging, éta tiasa mangaruhan pakét leutik atanapi beban kerja anu sénsitip latén.
CATETAN
Bingkai Jumbo atanapi setelan MTU anu langkung ageung kedah dikonpigurasi leres di lingkungan jaringan anjeun.
Anggo paréntah ifconfig pikeun ningkatkeun ukuran MTU. Pikeun example, asupkeun handap, dimana nyaeta angka panganteur: ifconfig mtu 9000 nepi
Alternatipna, anjeun tiasa nganggo paréntah ip sapertos kieu: ip link set mtu 9000 dev ip link nyetél dev

Platform Tuning (i40e Non-Spésifik)

5.1 Setélan mios

  • Aktipkeun Intel® VT-d pikeun beban kerja virtualisasi.
  • Hyper-threading (prosesor logis) bisa mangaruhan kinerja. Ékspérimén sareng mareuman atanapi mareuman beban kerja anjeun.
  • Intel® Turbo Boost ngamungkinkeun inti CPU beroperasi dina frékuénsi anu leuwih luhur batan frékuénsi dasar CPU. Aktipkeun Intel® Turbo Boost tiasa ningkatkeun kinerja pikeun seueur beban kerja tapi ngabutuhkeun langkung seueur kakuatan pikeun ngajaga inti dina frekuensi anu langkung luhur. Ékspérimén sareng Turbo Boost off/on pikeun beban kerja anjeun.

CATETAN
Frékuénsi turbo teu dijamin lamun platform ngalaman utilization CPU sakabéh tinggi. Frékuénsi turbo inti anu langkung luhur dikirangan nalika panggunaan CPU sacara umum ningkat.
5.2 Manajemén kakuatan
Pangaturan daya tiasa mangaruhan kinerja, khususna dina beban kerja latensi rendah. Upami kinerja mangrupikeun prioritas anu langkung luhur tibatan ngirangan konsumsi kakuatan, Intel nyarankeun yén anjeun ékspérimén sareng ngawatesan épék manajemén kakuatan. Aya seueur cara pikeun ngawatesan manajemén kakuatan, ngalangkungan alat sistem operasi, setélan BIOS, sareng parameter boot kernel. Pilih metodeu sareng tingkat anu pangsaéna pikeun nyocogkeun ka lingkungan anjeun.
5.2.1 C-Nagara Control
Ngawatesan asupna C-nagara golongan ka CO atawa C1 ngaronjatkeun kinerja sarta ngaronjatkeun utilization kakuatan.
Nonaktipkeun CPU Package C6 state entry bisa ningkatkeun kinerja jaringan. Sanajan kitu, ieu ngaronjatkeun pamakéan kakuatan.
Pilihan di handap ieu sayogi:

  • Dinamis ngadalikeun éntri C-nagara:
    Buka
    / dev / cpu_dma_latency jeung nulis latency maksimum allowable kana eta.

CATETAN
Aya program leutik anu disebut cpudmalatency.c anu tiasa diunduh tina komunitas open source, disusun, sareng dijalankeun tina garis paréntah pikeun ngalakukeun ieu.
Ex di handapample ngamungkinkeun lima μs waktu hudang, sahingga ngamungkinkeun asupna C1: cpudmalatency 5 &

  • Ngawates kaayaan C maksimum dina setélan boot kernel:
    Pikeun CPU Intel: intel_idle.max_cstates=1
    Pikeun CPUs non-Intel: processor.max_cstates=1
  • Anggo paréntah cpupower pikeun mariksa sareng nganonaktipkeun kaayaan CPU C6: Cék: cpupower monitor atanapi cpupower idle-info
    Nonaktipkeun C6: cpupower dianggurkeun-set -d3 atawa
    Nonaktipkeun C-States: cpupower dianggurkeun-set -D0

Catetan:

  1. Nonaktipkeun C-states on CPU lamun server boga Intel® 4th Gen Intel® Xeon® Scalable Processor(s). Nalika Hyper Threading diaktipkeun atanapi ditumpurkeun, nganonaktipkeun kaayaan dianggurkeun (-D0) nyegah cores asup ka nagara kakuatan low salila période dianggurkeun sarta ngurangan latency pikeun CPU transisi antara kaayaan dianggurkeun sarta aktip.
  2. Manajemén kakuatan Intel® 4th Gen Intel® Xeon® Scalable Processor pisan agrésif. Pikeun ngahindarkeun inti tina asup ka nagara-nagara kakuatan-rendah, cobian ngirangan jumlah inti anu dianggo supados tetep jagjag langkung lami (ethtool -L digabungkeun ). Ogé, ngabeungkeut interrupts kana cores husus ngagunakeun set irq afinitas (paling sering kalawan -x lokal atawa daptar cores CPU), sarta mastikeun workload dijalankeun dina eta cores sarua kalawan taskset atanapi numactl. Ieu ngaronjatkeun kinerja ku ngajaga cores aktip tur optimalisasi penanganan interupsi.

Aktipkeun C6:
cpupower dianggurkeun-set -d3
Aktipkeun C-States:
cpupower dianggurkeun-set -E

  • Métode séjén nyaéta ngagunakeun alat anu disetel (kaasup sareng seueur distribusi Linux) pikeun nyetél kinerja profile. Ieu profiles ngaropéa sababaraha setélan OS nu bisa mangaruhan kinerja sakuliah loba aplikasi. Eta geus kapanggih yén jaringan-throughput profile nyadiakeun perbaikan ka paling workloads.
    Pariksa:
    disetel-adm aktip
    Setél:
    disetel-adm profile jaringan-throughput
    CATETAN
    Ladenan anu disetel kedah dijalankeun pikeun paréntah di luhur. Pikeun pariksa/balikan deui, disetel: status systemctl disetel systemctl balikan deui disetel
    Anjeun ogé tiasa ngalarang éntri C-state ku cara nambihan ieu kana garis boot kernel:
    dianggurkeun = poll
  • Ngawates kaayaan C ngaliwatan setélan pangaturan daya BIOS sistem, anu tiasa gaduh kinerja profile sadia.
    Parabot sapertos turbostat atanapi x86_energy_perf_policy tiasa dianggo pikeun mariksa atanapi nyetél setélan manajemén kakuatan.

5.2.2 PCIe Power Manajemén
Manajemén Daya Active-State (ASPM) ngamungkinkeun kaayaan kakuatan anu langkung handap pikeun tautan PCIe nalika aranjeunna henteu dianggo aktip. Ieu tiasa nyababkeun latency anu langkung luhur dina alat jaringan PCIe, ku kituna Intel nyarankeun yén anjeun nganonaktipkeun ASPM pikeun beban kerja anu sénsitip latency. Nonaktipkeun ASPM ku cara nambahkeun handap kana garis boot kernel: pcie_aspm = off
5.2.3 CPU Frékuénsi Skala
Skala frékuénsi CPU (atanapi skala laju CPU) nyaéta téknik manajemén kakuatan Linux dimana laju jam sistem disaluyukeun dina laleur pikeun ngahémat kakuatan sareng panas. Kawas C-states, ieu bisa ngabalukarkeun latency nu teu dihoyongkeun dina sambungan jaringan.
Alat cpupower ogé tiasa dianggo pikeun mariksa sareng ngarobih standar sareng wates kinerja CPU:

  • Pariksa: cpupower monitor atawa
  • Setel CPU kana modeu kinerja: cpupower frékuénsi-set -g kinerja

CATETAN
Parobihan kana wates frékuénsi CPU tiasa gaduh pangaruh kana seueur beban kerja sareng tiasa nganonaktipkeun fitur sanésna, sapertos modeu turbo CPU.
Pikeun nganonaktipkeun skala frékuénsi CPU, mareuman jasa kakuatan CPU ku paréntah di handap ieu:
systemctl eureun cpupower.service
systemctl nganonaktipkeun cpupower.service
5.2.4 Pituduh Manajemén Daya Tambahan
Rincian tambahan disayogikeun dina tingkat luhur ieuview tina seueur fitur manajemén kakuatan dina prosesor Intel® Xeon® Scalable Generasi ka-3, ogé pituduh kumaha fitur ieu tiasa diintegrasikeun dina tingkat platform: https://networkbuilders.intel.com/solutionslibrary/power-management-technologyoverview-technology-guide
5.3 Intel® Turbo naekeun
Intel® Turbo Boost ngajadikeun prosésor leuwih gancang lamun diperlukeun tapi bisa meakeun daya tambahan. Pareuman Turbo Boost ngajaga prosésor dina laju anu stabil, masihan anjeun tingkat kinerja anu konsisten pikeun beban kerja khusus.
5.4 Firewalls
Firewalls tiasa mangaruhan kinerja, utamana kinerja latency.
Pareuman iptables / firewalld upami henteu diperyogikeun.
5.5 Setélan Aplikasi
Mindeng thread tunggal (anu pakait jeung antrian jaringan tunggal) teu cukup pikeun ngahontal rubakpita maksimum. Sababaraha arsitéktur platform, kayaning AMD, condong leupaskeun deui pakét Rx kalawan thread tunggal dibandingkeun platform kalawan prosesor basis Intel.
Pertimbangkeun ngagunakeun alat sapertos taskset atanapi numactl pikeun nyematkeun aplikasi kana titik NUMA atanapi inti CPU lokal kana alat jaringan. Pikeun sababaraha beban kerja sapertos panyimpenan I/O, mindahkeun aplikasi ka node non-lokal masihan kauntungan.
Ékspérimén sareng ningkatkeun jumlah utas anu dianggo ku aplikasi anjeun upami mungkin.
5.6 Vérsi kernel
Sabagéan ageung kernel in-box modern dioptimalkeun pikeun pagelaran tapi, gumantung kana kasus pamakean anjeun, ngapdet kernel tiasa ningkatkeun kinerja. Ngundeur sumberna ogé ngamungkinkeun anjeun ngaktipkeun / nganonaktipkeun sababaraha fitur sateuacan ngawangun kernel.
5.7 Sistem operasi / Setélan kernel
Taroskeun pituduh tuning sistem operasi, sapertos Red Hat Enterprise Linux Network Performance Tuning Guide, kanggo langkung seueur wawasan ngeunaan tuning sistem operasi umum.
Sababaraha parameter umum pikeun nyetél dibéréndélkeun dina tabel di handap ieu. Catet yén ieu ngan ukur titik awal anu disarankeun, sareng ngarobih tina standar tiasa ningkatkeun sumber daya anu dianggo dina sistem. Sanajan ningkatkeun nilai bisa mantuan ngaronjatkeun kinerja, perlu ékspérimén kalawan nilai béda pikeun nangtukeun naon gawéna pangalusna pikeun sistem tinangtu, workload jeung tipe lalulintas.
Parameter kernel tiasa dikonfigurasi nganggo utilitas sysctl dina Linux sapertos anu dituduhkeun di handap ieu.
Ka view nilai standar pikeun rmem sareng wmem dina sistem:
sysctl net.core.rmem_default
sysctl net.core.wmem_default
Setel nilai ka max (16 MB):
sysctl -w net.core.rmem_max=16777216
sysctl -w net.core.wmem_max=16777216
Ukuran panyangga stop kontak, ogé katelah panyangga narima (rmem) sarta ngirimkeun panyangga (wmem), mangrupakeun parameter sistem nu nangtukeun jumlah memori ditangtayungan pikeun lalulintas jaringan asup jeung kaluar.
Ngajalankeun sysctl tanpa argumen -w daptar parameter sareng setelan ayeuna.

Setélan tumpukan Katerangan
net.core.rmem_default Default Narima Ukuran Jandela
net.core.wmem_default Ukuran Jandela Pangiriman Standar
net.core.rmem_max Maksimum Nampi Ukuran Jandela
net.core.wmem_max Maksimum Transmit Jandela Ukuran
net.core.optmem_max Panyangga Mémori Pilihan Maksimum
net.core.netdev_max_backlog Backlog pakét anu teu diprosés sateuacan kernel mimiti turun
net.ipv4.tcp_rmem Reserver memori pikeun TCP maca buffers
net.ipv4.tcp_wmem Reserver memori pikeun TCP ngirim buffers

Kernel, tumpukan jaringan, panangan mémori, laju CPU, sareng parameter manajemén kakuatan tiasa gaduh dampak anu ageung kana kinerja jaringan. Rekomendasi umum nyaéta pikeun nerapkeun ka throughput jaringan profile ngagunakeun paréntah katala. Ieu ngarobih sababaraha setélan OS pikeun masihan karesep kana aplikasi jaringan.
Pariksa:
disetel-adm aktip
Setél:
disetel-adm profile jaringan-throughput
5.8 Backlog Alat Jaringan
Fitur ieu ngabantosan ningkatkeun kinerja jaringan ku cara ngatur lalu lintas asup sacara efektif, ngirangan leungitna pakét, nurunkeun latency, sareng ningkatkeun throughput. Ieu nyababkeun pangalaman pangguna anu langkung saé sareng réspon sistem anu langkung gancang.
Sacara standar, éta diaktipkeun dina kalolobaan sistem operasi Linux. Pikeun pariksa nilai standar:
sysctl net.core.netdev_max_backlog
Nilai maksimum pikeun netdev_max_backlog tiasa rupa-rupa gumantung kana faktor sapertos versi kernel, hardware, mémori, sareng beban kerja. Dina loba kasus, 8192 ditempo salaku nilai alus. sysctl -w net.core.netdev_max_backlog=8192
5.9 Platform-Spésifik Konfigurasi jeung Tuning
5.9.1 Generasi 4 Intel® Xeon® Prosesor Scalable

Manajemén kakuatan prosésor Intel® Xeon® Scalable Generasi ka-4 pisan agrésif dibandingkeun sareng prosesor Intel® Xeon® Scalable Generasi ka-3. Pikeun ngahindarkeun inti tina asup ka nagara-nagara kakuatan-rendah, cobian ngirangan jumlah inti anu dianggo supados tetep jagjag langkung lami.
Disarankeun Setélan Bios pikeun Performance pangluhurna

  1. Hyper-threading ngaktifkeun / nganonaktipkeun (dumasar kana sarat beban kerja sareng tujuan kinerja) dina CPU.
  2. Setel sistem profile ka Performance pikeun kinerja maksimum.
    CATETAN
    Ieu ngakibatkeun konsumsi kakuatan nu leuwih luhur
  3. Setel manajemén kakuatan CPU ka Performance Maksimum pikeun prioritas kinerja CPU maksimum leuwih efisiensi kakuatan.
  4. Aktipkeun Turbo Boost. Nganonaktipkeun Turbo Boost dina setélan BIOS sistem biasana nyegah CPU sacara dinamis ningkatkeun kagancangan jamna saluareun frekuensi dasarna.
  5. CATETAN
    Nonaktipkeun Turbo Boost bisa jadi cocog pikeun kasus pamakean nu tangtu dimana kinerja konsisten, efisiensi kakuatan, atawa manajemén termal diutamakeun leuwih kinerja maksimum.
  6. Pareuman fitur Single Root I/O Virtualization (SR-IOV), upami sistemna henteu ngagunakeun téknologi virtualisasi.
  7. Nonaktipkeun C-states pikeun maréntahkeun CPU pikeun tetep aktip sareng nyegah asup ka kaayaan dianggurkeun anu langkung jero.
  8. Nonaktipkeun C1E, pikeun mastikeun yén CPU tetep aktip tur teu asup kana kaayaan dianggurkeun C1E.
  9. Setel frékuénsi uncore ka maksimum pikeun maréntahkeun sistem pikeun beroperasi dina frékuénsi pangluhurna sadia.
  10. Dina platform Dell, Nyetél Sababaraha APIC Pedaran Table (MADT) emulation inti linier (atanapi Round-Robin gumantung mios) pikeun nyadiakeun pemetaan jelas tur bisa diprediksi of cores CPU.

Disarankeun OS Level Tunings pikeun Performance dioptimalkeun

  1. Setel gubernur skala frékuénsi CPU kana kinerja. cpupower frékuénsi-set -g kinerja cpupower frékuénsi-info
  2. Nonaktipkeun C-States. cpupower dianggurkeun-set -D0
  3. Atur inti Rx (rmem) jeung Tx (wmem) buffers kana nilai maksimum. sysctl -w net.core.rmem_max=16777216 sysctl -w net.core.wmem_max=16777216
  4. Setel backlog alat jaringan. sysctl -w net.core.netdev_max_backlog=8192
  5. Nyetél profile (gumantung beban kerja pikeun throughput / latency).
    disetel-adm profile jaringan-throughput

Disarankeun Adaptor Level Tunings pikeun Performance dioptimalkeun

  1. Ngawatesan jumlah antrian anu dianggo pikeun lalu lintas aplikasi. Anggo jumlah minimum antrian anu diperyogikeun pikeun ngajaga inti CPU anu aya hubunganana aktip pikeun nyegah aranjeunna asup ka kaayaan dianggurkeun anu langkung jero (saluyukeun pikeun beban kerja): ethtool -L digabungkeun 32
  2. Setel interupsi ongkos moderation. ethtool -C adaptif-rx pareum adaptif-tx pareum rx-usecs-tinggi 50 rx-usecs 50 tx-usecs 50
    Coba saluyukeun pamancar / narima / prioritas luhur coalescing timer luhur (80/100/150/200) atawa handap (25/20/10/5) pikeun manggihan nilai optimal pikeun workload.
  3. Setel ukuran ring Rx/Tx. ethtool -G rx 4096 tx 4096
    CATETAN
    Lamun ningali pakét Rx pakait sareng ethtool -S| grep serelek, coba ngurangan ukuran ring jadi <4096. Coba pikeun manggihan nilai optimal pikeun workload dimana pakét teu turun.
  4. Atur IRQ Pangirut. Paké cores lokal pikeun NIC, atawa pemetaan inti husus (dimana # cores sarua jeung jumlah antrian diatur dina 1 kaca 26. systemctl eureun irqbalance set_irq_affinity -X lokal ATAWA set_irq_affinity -X

5.9.2 AMD EPYC
Prosesor AMD EPYC mangrupikeun CPU anu kuat anu didamel pikeun server sareng pusat data, diwangun dina arsitektur Zen AMD. Setélan di handap ieu tina séri EPYC generasi ka-4 AMD.
Disarankeun Setélan BIOS pikeun Performance pangluhurna

  1. Aktipkeun modeu custom pikeun ngidinan pamaké pikeun nyaluyukeun kinerja CPU, konsumsi kakuatan, sareng setelan sejenna. Ieu mantuan dina fine-tuning sistem pikeun kasaimbangan pangalusna antara kinerja jeung efisiensi énergi.
  2. Aktipkeun dorongan kinerja inti pikeun ngidinan CPU otomatis ningkatkeun kagancangan na pikeun nanganan tugas leuwih intensif, ngaronjatkeun kinerja sakabéh.
  3. Nonaktipkeun kontrol C-nagara golongan global, pikeun nyegah CPU ti asupkeun deeper kakuatan hemat states katelah C-nagara golongan, nu bisa ngajaga responsiveness.
    CATETAN
    Nonaktipkeun C-states tiasa nyababkeun konsumsi kakuatan tambahan sareng ningkatkeun suhu termal. Ngawas duanana keur workload.
  4. Aktipkeun / mareuman Simultaneous Multithreading (SMT) dina CPU, dumasar kana sarat beban kerja sareng tujuan kinerja. SMT sarua jeung Hyper Threading on Intel CPUs.
    CATETAN
    Pikeun kinerja dioptimalkeun, tingal Tuning i40e Setélan Supir dina kaca 13 jeung Platform Tuning (i40e Non-Spésifik) dina kaca 19 pikeun OS dianjurkeun jeung tuning tingkat adaptor.

Adaptor Beungkeutan

Beungkeutan Linux mangrupikeun fitur anu kuat anu tiasa ningkatkeun kinerja jaringan, redundansi, sareng kasabaran kasalahan dina lingkungan server. Sanajan kitu, hal anu penting pikeun dicatet yén merlukeun hardware jaringan cocog jeung konfigurasi ditangtoskeun dina duanana server na switch pikeun fungsina leres.
Supir beungkeutan dina Linux ngamungkinkeun anjeun ngahijikeun sababaraha antarmuka jaringan fisik kana antarmuka anu kabeungkeut. Antarbeungeut kabeungkeut ieu muncul salaku antarbeungeut jaringan virtual tunggal ka sistem operasi sareng aplikasi.
CATETAN
Beungkeutna mangrupikeun antarbeungeut logis, janten teu mungkin pikeun nyetél afinitas CPU langsung dina antarmuka beungkeut (pikeun example, beungkeut0). Nyaéta, éta henteu gaduh kontrol langsung kana penanganan interupsi atanapi afinitas CPU. Pangirut CPU kudu ngonpigurasi pikeun interfaces kaayaan anu mangrupa bagian tina beungkeut.
Beungkeutan nyadiakeun sababaraha modus operasi, unggal mibanda ciri sorangan.

Modus  Tipe
0 Babak Robin
1 Nyadangkeun aktip
2 XOR
3 Siaran
4 LACP
5 Ngirimkeun Balance Beban
6 Balance beban adaptif

Aya sababaraha cara pikeun nyiptakeun beungkeutan dina Linux. Salah sahiji metodeu anu paling umum nyaéta nganggo konfigurasi jaringan files (pikeun example, /etc/network/ interfaces atawa /etc/sysconfig/network-scripts/ifcfg-bondX).
Konfigurasi Ngagunakeun Konfigurasi Jaringan Files
Léngkah-léngkah ieu nyiptakeun beungkeutan ngaliwatan konfigurasi jaringan files.

  1. Pilih dua atawa leuwih palabuhan NIC pikeun beungkeutan (pikeun example, ethX jeung ethY)
  2. Buka Konfigurasi NIC Files handapeun /etc/sysconfig/network-scripts/ pikeun Interface NIC anu diperlukeun (pikeun example, vi ifcfg-ethX sareng vi ifcfg-ethY) sareng tambahkeun téks ieu:
    MASTER=bondN [Catetan: N mangrupa integer pikeun nyebut nomer beungkeut.] SLAVE=enya
  3. Jieun skrip jaringan beungkeut file nganggo vi /etc/sysconfig/networkscripts/ifcfg-bondN sareng lebetkeun téks ieu:
    DEVICE=bondN [Catetan: N mangrupa integer pikeun nyebut nomer beungkeut] ONBOOT=enya USERCTL=euweuh BOOTPROTO=dhcp (atawa) euweuh
    IPADDR = 200.20.2.4 [diperlukeun lamun BOOTPROTO = euweuh] NETMASK = 255.255.255.0 [diperlukeun lamun BOOTPROTO = euweuh] JARINGAN = 200.20.2.0 [diperlukeun lamun BOOTPROTO = euweuh] BROADCAST = 200.20.2.255. BONDING_OPTS=”mode=1 miimon=100″
    CATETAN
    Modeu tiasa wae integer ti 0 nepi ka 6 dumasar kana sarat.
  4. Balikan deui ladenan jaringan nganggo balikan deui jaringan jasa atanapi balikan deui systemctl NetworkManager.service

Ngungkulan Performance

7.1 Utilization CPU
Pariksa utilization CPU per inti bari workload keur jalan.
Catet yén utilization per inti leuwih relevan pikeun kinerja ti utilization CPU sakabéh sabab nyadiakeun gagasan ngeunaan utilization CPU per antrian jaringan. Upami anjeun ngan ukur gaduh sababaraha utas anu ngajalankeun lalu lintas jaringan, maka anjeun ngan ukur gaduh sababaraha inti anu dianggo. Nanging, upami inti-inti éta 100%, maka throughput jaringan anjeun kamungkinan dibatesan ku panggunaan CPU sareng waktosna pikeun ngalakukeun ieu:

  1. Tune IRQ moderation / ukuran ring sakumaha wincikan dina ngaganggu Moderation.
  2. Ningkatkeun jumlah utas aplikasi pikeun nyebarkeun beban CPU langkung seueur teras. Upami sadaya inti dijalankeun dina 100% maka aplikasi anjeun tiasa kabeungkeut CPU tinimbang kabeungkeut jaringan.

Alat anu umumna sayogi:

  • luhur
    - Pencét 1 pikeun ngalegaan daptar CPU sareng pariksa mana anu dianggo.
    - Perhatikeun tingkat utilization.
    - Perhatikeun prosés mana anu kadaptar salaku anu paling aktip (luhureun daptar).
  • mpstat
    Ex di handapampgaris paréntah le ieu diuji dina Red Hat perusahaan Linux Ubuntu 7.x.
    Ieu mintonkeun utilization CPU per inti (ku manggihan total persen dianggurkeun sarta subtracting tina 100) sarta highlights nilai luhur 80% beureum. mpstat -P ALL 1 1 | grep -v Rata-rata | buntut -n +5 | sirah -n -1 | awk '{ nyitak (100-$13)}' | egrep -color = salawasna '[^\.][8-9][0-9][\.]?.*|^[8-9][0-9][\.]?.*| 100|' | kolom
  • perf top Néangan dimana siklus nu keur spent.

7.2 i40e counters
Supir i40e nyadiakeun daptar panjang counters pikeun debug panganteur na ngawas ngaliwatan paréntah ethtool -S ethX. Bisa jadi mantuan pikeun lalajo kaluaran bari workload a ngajalankeun jeung/atawa ngabandingkeun nilai counter saméméh jeung sanggeus workload ngajalankeun.

  • Pikeun meunangkeun dump pinuh ku counters i40e: ethtool -S ethX
  • Pikeun lalajo ngan non-enol counters: lalajo -d (ethtool -S ethX) | egrep -v:\ 0 | kolom
    Sababaraha hal anu kedah dipilarian:
  • rx_dropped hartina CPU teu ngalayanan buffers cukup gancang.
  • port.rx_dropped hartina hal teu cukup gancang dina slot / memori / sistem.

7.3 Network counters
Pariksa netstat -s saméméh / sanggeus workload ngajalankeun.
Netstat ngumpulkeun inpormasi jaringan tina sadaya alat jaringan dina sistem. Ku alatan éta, hasil bisa dipangaruhan tina jaringan lian ti jaringan nu keur diuji. Kaluaran tina netstat -s tiasa janten indikator anu hadé pikeun masalah kinerja dina sistem operasi Linux atanapi kernel. Taroskeun pituduh tuning sistem operasi, sapertos Red Hat Enterprise Linux Network Performance Tuning Guide, kanggo langkung seueur wawasan ngeunaan tuning sistem operasi umum.
7.4 Log Sistim
Pariksa log sistem pikeun kasalahan sareng peringatan (/var/log/message, dmesg).
7.5 Alat Intel svr-info
Intel nyayogikeun alat svr-info (tingali https://github.com/intel/svr-info) pikeun Linux anu ngarebut rinci hardware sareng software tina server. svr-info kaluaran tiasa pisan mantuan pikeun ngaidentipikasi bottlenecks sistem atawa setelan / tunings nu teu dioptimalkeun pikeun workload nu. Nalika muka kasus dukungan sareng Intel pikeun masalah kinerja anu aya hubunganana sareng Ethernet, pastikeun kalebet kaluaran svr-info (text file) pikeun tiap server Linux dina konfigurasi test.

  1. Unduh sareng pasang svr-info:
    wget -qO- https://github.com/intel/svr-info/releases/latest/download/svrinfo.tgz| tar xvz cd svr-info
    ./svr-info
    > hostname.txt
  2. Kumpulkeun kaluaran:
    ./svr-info > hostname.txt
  3. Gantelkeun hiji téks (.txt) file pikeun tiap server ka hal rojongan Intel Anjeun pikeun analisis.

Rekomendasi pikeun Skenario Performance umum

8.1 IP Neraskeun

  • Apdet kernel.
    Sababaraha kernels in-distro panganyarna geus ngadegradasi kinerja routing alatan parobahan kernel dina kode routing dimimitian ku ngaleupaskeun cache routing alatan kaamanan. Kernel kaluar-distro panganyarna kedah gaduh patch anu ngirangan dampak kinerja parobihan ieu sareng tiasa nyayogikeun kinerja anu langkung saé.
  • Nonaktipkeun hyper-threading (inti logis).
  • Édit parameter boot kernel.
    - Maksakeun iommu pareum (intel_iommu = pareum atanapi iommu = pareum) tina garis boot kernel kecuali diperyogikeun pikeun virtualisasi
    - Pareuman manajemén kakuatan: processor.max_cstates = 1 dianggurkeun = poll pcie_aspm = off
  • Ngawatesan jumlah antrian sarua jeung jumlah cores dina stop kontak lokal (12 dina ex ieu.ample). ethtool -L ethX digabungkeun 12
  • Pin interrupts ka stop kontak lokal wungkul. set_irq_affinity -X lokal ethX ATAWA set_irq_affinity -X lokal ethX
    CATETAN
    -X atanapi -x tiasa dianggo gumantung kana beban kerja.
  • Ganti ukuran ring Tx sareng Rx upami diperyogikeun. A nilai nu leuwih gede butuh leuwih sumberdaya tapi bisa nyadiakeun ongkos diteruskeun hadé. ethtool -G ethX rx 4096 tx 4096
  • Nonaktipkeun GRO nalika routing.
    Alatan masalah kernel dipikawanoh, GRO kudu dipareuman nalika routing / diteruskeun. ethtool -K ethX gro kaluar mana ethX teh panganteur Ethernet bisa dirobah.
  • Nonaktipkeun moderation interrupt adaptif tur nyetel nilai statik. ethtool -C ethX adaptif-rx off adaptif-tx off ethtool -C ethX rx-usecs 64 tx-usecs 64

CATETAN
Gumantung kana jinis prosésor sareng beban kerja, parameter gabungan pikeun RX sareng TX tiasa disaluyukeun pikeun pagelaran ningkat (atanapi leungitna pigura kirang).

  • Pareuman firewall. sudo systemctl nganonaktipkeun firewalld sudo systemctl ngeureunkeun firewalld
  • Aktipkeun IP diteruskeun. sysctl -w net.ipv4.ip_forward=1
  • Ngonpigurasikeun nilai maksimum pikeun nampa sarta ngirim ukuran panyangga stop kontak. sysctl -w net.core.rmem_max=16777216 sysctl -w net.core.wmem_max=16777216

CATETAN
Gumantung kana beban kerja atanapi sarat, nilai ieu tiasa dirobih tina standar.
8.2 Latency Low

  • Hurungkeun hyper-threading (inti logis) OFF.
  • Pastikeun alat jaringan lokal ka numa core 0.
  • Pin tolok ukur kana inti 0 nganggo taskset -c 0.
  • Pareuman irqbalance nganggo systemctl stop irqbalance atanapi systemctl nonaktipkeun irqbalance
  • Jalankeun skrip afinitas pikeun nyebarkeun inti. Coba lokal atanapi sadayana.
  • Pareuman moderasi interupsi. ethtool -C ethX rx-usecs 0 tx-usecs 0 adaptif-rx off adaptif-tx off rxusecs- luhur 0
  • Ngawatesan jumlah antrian sarua jeung jumlah cores dina stop kontak lokal (32 dina ex ieu.ample). ethtool -L ethX digabungkeun 32
  • Pin interrupts kana stop kontak lokal wungkul (naskah rangkep jeung sumber supir i40e). set_irq_affinity -X lokal ethX
  • Anggo patokan anu ditetepkeun sapertos netperf -t TCP_RR, netperf -t UDP_RR, atanapi NetPipe. netperf -t TCP_RR atanapi netperf -t UDP_RR
  • Pin patokan ka inti tunggal dina titik NUMA lokal. susunan tugas -c

Intel ® Ethernet 700 runtuyan
Panungtun Tuning Kinerja Linux
Désémber 2024
Dok. No.: 334019, Wahyu: 1.2

Dokumén / Sumberdaya

Intel Ethernet 700 Runtuyan Linux Ubuntu Performance Tuning [pdf] Pituduh pamaké
334019, Ethernet 700 Series Linux Performance Tuning, Ethernet 700 Series, Linux Performance Tuning, Performance Tuning, Tuning

Rujukan

Ninggalkeun komentar

alamat surélék anjeun moal diterbitkeun. Widang diperlukeun ditandaan *