全部产品
Search
文档中心

Elastic Compute Service:NIC multi-queue

更新时间:Feb 10, 2026

Network Interface Controller (NIC) multi-queue memungkinkan Anda mengonfigurasi beberapa antrian transmisi (Tx) dan penerimaan (Rx) pada NIC, dengan setiap antrian diproses oleh core CPU terpisah. Pendekatan ini meningkatkan throughput I/O jaringan dan mengurangi latensi dengan mendistribusikan pemrosesan paket ke beberapa core CPU.

Manfaat

NIC single-queue tradisional hanya menggunakan satu core CPU untuk memproses semua paket jaringan, sehingga menciptakan bottleneck. Core tunggal tersebut menjadi kelebihan beban sementara core lainnya menganggur, yang berakibat pada peningkatan latensi dan kehilangan paket.

NIC multi-queue mendistribusikan lalu lintas jaringan ke beberapa core CPU, memanfaatkan arsitektur multi-core secara optimal. Hasil pengujian menunjukkan peningkatan kinerja sebesar 50–100% dengan dua antrian dan peningkatan yang jauh lebih besar dengan empat antrian.

Manfaat utama:

  • Pemanfaatan CPU yang lebih baik: Mendistribusikan lalu lintas jaringan ke beberapa core

  • Throughput lebih tinggi: Memproses beberapa paket secara bersamaan, terutama dalam kondisi beban tinggi

  • Latensi lebih rendah: Mengurangi kemacetan dengan mendistribusikan paket ke berbagai antrian

  • Lebih sedikit packet drop: Mencegah kehilangan paket dalam skenario lalu lintas tinggi

Catatan

Konfigurasi yang tidak tepat—seperti jumlah antrian atau pengaturan afinitas CPU yang salah—dapat menurunkan kinerja. Ikuti panduan dalam topik ini untuk mengoptimalkan konfigurasi Anda.

Cara kerja

Arsitektur antrian

Elastic Network Interface (ENI) mendukung beberapa antrian Combined. Setiap antrian Combined terdiri dari satu antrian Rx (receive) dan satu antrian Tx (transmit), yang diproses oleh core CPU independen.

  • Antrian Rx: Menangani paket masuk, didistribusikan berdasarkan aturan seperti polling atau distribusi berbasis aliran

  • Antrian Tx: Menangani paket keluar, dikirim berdasarkan faktor seperti urutan atau prioritas

IRQ Affinity

Setiap antrian memiliki interrupt independen. Interrupt Request (IRQ) Affinity mendistribusikan interrupt dari berbagai antrian ke core CPU tertentu, mencegah satu core menjadi kelebihan beban.

IRQ Affinity diaktifkan secara default di semua image kecuali Red Hat Enterprise Linux (RHEL). Untuk konfigurasi RHEL, lihat Configure IRQ Affinity.

Prasyarat

Sebelum mengonfigurasi pengaturan multi-queue, pastikan Anda telah memiliki:

  • Instance ECS yang mendukung fitur NIC multi-queue (lihat Instance family overview).

  • Izin yang sesuai untuk mengubah pengaturan ENI.

  • (Opsional) Untuk konfigurasi IRQ Affinity pada RHEL: akses jaringan publik untuk mengunduh skrip ecs_mq.

Dukungan tipe instans

Untuk memeriksa apakah suatu tipe instans mendukung multi-queue:

  1. Lihat kolom NIC queues dalam tabel tipe instans.

    • Nilai lebih dari 1 menunjukkan dukungan multi-queue

    • Nilai tersebut menunjukkan jumlah maksimum antrian per ENI

  2. Panggil operasi API DescribeInstanceTypes untuk mengkueri metrik antrian:

Parameter

Deskripsi

PrimaryEniQueueNumber

Antrian default untuk ENI primer

SecondaryEniQueueNumber

Antrian default untuk ENI sekunder

MaximumQueueNumberPerEni

Jumlah maksimum antrian yang diizinkan per ENI

TotalEniQueueQuantity

Kuota total antrian untuk instans

Catatan

Image publik versi lama dengan kernel sebelum versi 2.6 mungkin tidak mendukung multi-queue. Gunakan image publik terbaru untuk kompatibilitas terbaik.

Lihat konfigurasi antrian

Lihat di Konsol

  1. Buka halaman ENI di Konsol ECS.

  2. Di bilah navigasi atas, pilih Wilayah dan kelompok sumber daya Anda.

  3. Klik ID ENI untuk melihat detailnya.

  4. Di bagian Basic Information, periksa parameter Queues:

    • Jika Anda telah mengubah jumlah antrian, nilai baru akan ditampilkan di sini

    • Jika Anda belum pernah mengubah jumlah antrian:

      • Tidak ada nilai jika ENI tidak terikat

      • Jumlah antrian default jika ENI terikat ke instans

Lihat menggunakan API

Panggil operasi API DescribeNetworkInterfaceAttribute dan periksa parameter QueueNumber dalam respons.

Lihat pada instans Linux

  1. Sambungkan ke instans Linux Anda menggunakan Workbench.

    Catatan

    Konfigurasi antrian hanya dapat dilihat pada instans Linux. Untuk instans Windows, gunakan Konsol atau API.

  2. Jalankan ip address show untuk melihat antarmuka jaringan Anda.

    image

  3. Periksa apakah multi-queue diaktifkan pada ENI (contoh menggunakan eth0):

    ethtool -l eth0
  4. Dalam output:

    • Pre-set maximums - Combined: Jumlah maksimum antrian yang didukung oleh ENI

    • Current hardware settings - Combined: Jumlah antrian yang sedang digunakan

    Contoh output yang menunjukkan dukungan 3 antrian dan 3 antrian sedang digunakan:

    image

Ubah konfigurasi antrian

Setelah Anda mengikat ENI ke instans, jumlah antrian ENI tersebut secara otomatis diatur ke nilai default untuk tipe instans tersebut. Anda dapat mengubah konfigurasi ini secara manual jika diperlukan.

Ubah jumlah maksimum antrian (Konsol atau API)

Anda dapat mengubah jumlah maksimum antrian yang didukung oleh ENI menggunakan Konsol atau API.

Persyaratan:

Persyaratan

Deskripsi

Status ENI

Harus dalam status Available, atau instans yang terikat harus dalam status Stopped

Batas antrian

Tidak boleh melebihi batas MaximumQueueNumberPerEni untuk tipe instans

Kuota total

Total antrian di semua ENI tidak boleh melebihi kuota TotalEniQueueQuantity

Menggunakan Konsol:

  1. Buka halaman ENI.

  2. Temukan ENI Anda dan klik ID-nya untuk melihat detail.

  3. Di bagian Basic Information, klik ikon edit di sebelah Queues.

  4. Masukkan jumlah antrian baru dan klik OK.

Catatan

Jika ENI terikat ke instans, jumlah antrian baru akan berlaku setelah Anda menjalankan ulang instans tersebut.

Menggunakan API:

Panggil operasi API ModifyNetworkInterfaceAttribute dan tentukan parameter QueueNumber.

Ubah penggunaan antrian di OS (Linux saja)

Anda dapat menyesuaikan jumlah antrian yang aktif digunakan oleh ENI di sistem operasi. Jumlah ini harus kurang dari atau sama dengan jumlah maksimum antrian yang didukung oleh ENI.

Catatan

Perubahan yang dilakukan di tingkat OS:

  • Tidak memengaruhi jumlah antrian yang ditampilkan di Konsol atau dikembalikan oleh operasi API.

  • Tidak bersifat persisten setelah restart instans — OS akan kembali menggunakan jumlah maksimum antrian yang tersedia.

Contoh menggunakan Alibaba Cloud Linux 3:

  1. Sambungkan ke instans Linux Anda menggunakan Workbench.

  2. Periksa konfigurasi antrian saat ini:

    ethtool -l eth0
  3. Ubah jumlah antrian yang digunakan (contoh mengubah ke 2):

    sudo ethtool -L eth0 combined 2

    Ganti 2 dengan jumlah antrian yang diinginkan (tidak boleh melebihi nilai Pre-set maximums).

  4. Verifikasi perubahan:

    ethtool -l eth0

    Nilai Current hardware settings - Combined sekarang harus menunjukkan jumlah antrian baru Anda.

Konfigurasikan IRQ Affinity

IRQ Affinity menetapkan interrupt dari berbagai antrian ke CPU tertentu, meningkatkan kinerja jaringan dengan mengurangi persaingan CPU.

Catatan

IRQ Affinity diaktifkan secara default di semua image kecuali RHEL. Konfigurasi hanya diperlukan untuk instans RHEL.

Persyaratan untuk instans RHEL

  • Red Hat Enterprise Linux 9.2 atau lebih baru

  • Akses jaringan publik untuk mengunduh skrip ecs_mq

  • Layanan irqbalance dinonaktifkan (bertentangan dengan ecs_mq)

Konfigurasikan IRQ Affinity pada RHEL

  1. Sambungkan ke instans RHEL Anda menggunakan Workbench.

  2. (Opsional) Nonaktifkan layanan irqbalance untuk mencegah konflik:

    systemctl stop irqbalance.service
  3. Unduh paket skrip ecs_mq:

    wget https://ecs-image-tools.oss-cn-hangzhou.aliyuncs.com/ecs_mq/ecs_mq_2.0.5.tgz
  4. Ekstrak paket:

    tar -xzf ecs_mq_2.0.5.tgz
  5. Masuk ke direktori skrip:

    cd ecs_mq/
  6. Instal lingkungan skrip (ganti redhat dan 9 dengan nama OS dan versi utama Anda):

    bash install.sh redhat 9
  7. Jalankan layanan ecs_mq:

    systemctl start ecs_mq

    IRQ Affinity kini telah diaktifkan.

Manfaat ecs_mq 2.0.5

Versi baru skrip ecs_mq memberikan beberapa peningkatan:

  • Secara preferensial mengikat interrupt ke CPU pada node NUMA (Non-Uniform Memory Access) yang terkait dengan antarmuka PCIe ENI

  • Mengoptimalkan logika untuk menyetel beberapa perangkat jaringan

  • Mengikat interrupt berdasarkan rasio antrian terhadap CPU

  • Mengoptimalkan pengikatan berdasarkan posisi sibling CPU

  • Menyelesaikan masalah latensi tinggi selama akses memori lintas node NUMA

Peningkatan kinerja: Pengujian kinerja jaringan menunjukkan peningkatan 5–30% pada sebagian besar metrik PPS (packets per second) dan bps (bits per second) dibandingkan versi sebelumnya.

Optimalkan kinerja

Konfigurasikan jumlah antrian dan IRQ Affinity berdasarkan workload Anda untuk mencapai kinerja jaringan optimal. Untuk memastikan load balancing:

  1. Tetapkan jumlah antrian yang sesuai per core CPU berdasarkan beban jaringan Anda

  2. Konfigurasikan IRQ Affinity sesuai dengan kebutuhan throughput dan latensi aktual sistem Anda

  3. Uji berbagai konfigurasi untuk menemukan pengaturan optimal bagi workload spesifik Anda

Pantau pemanfaatan CPU dan metrik jaringan (throughput, latensi, kehilangan paket) untuk mengevaluasi efektivitas konfigurasi Anda.

Topik terkait