한국어English日本語简体中文繁體中文DeutschไทยTiếng ViệtРусскийPortuguês (Brasil)EspañolBahasa Indonesia

Buku Putih Lag Game › L6 Kartu jaringan server

Ring buffer terlalu kecil RX ring buffer overflow

ID penyebab nic-ring · Penanggung jawab utama Infrastruktur server (Tim Infrastruktur)

Buka kartu interaktif dengan gambar dan simulasi →

Jika ring buffer, tempat NIC menampung paket sementara, terlalu kecil, buffer meluap saat paket datang serentak dan paket dibuang.

Mengapa Ring buffer kecil karena masih memakai nilai default (256–2.048 slot, tergantung driver) → Akibatnya Saat burst, buffer meluap sebelum CPU sempat mengambil paket → Di layar Packet loss hanya pada saat burst (teleport, skill tidak keluar). Tidak ada jejak di log server game

Gejala
Teleport, Aksi hilang / rollback
Faktor
Packet loss
Siapa yang mengalami
Seluruh server
Kapan
Saat banyak pemain berkumpul
Penanggung jawab
Penanggung jawab utama Infrastruktur server (Tim Infrastruktur)
Tugas Tim Infrastruktur
Perbesar ring buffer (ethtool -G), pantau counter drop (rx_missed_errors dan lainnya di ethtool -S, namanya berbeda per driver).
Kisaran angka
Jika 1 juta paket per detik datang serentak, 1.024 slot penuh dalam sekitar 1 ms. Jika CPU terlambat sekali saja di sela itu, buffer meluap. Sebagian besar NIC bisa diperbesar sampai ribuan slot.
Di grafik
Melonjak acak sesekali · Counter drop terima NIC
Yang diperiksa
Kumpulkan counter drop terima di ethtool -S (rx_missed_errors, rx_fifo_errors, dan lainnya; namanya berbeda per driver) dan missed di ip -s -s link dengan interval pendek, lalu periksa ukuran ring saat ini dan nilai maksimumnya dengan ethtool -g
Cocok jika
Counter drop bertambah pada saat burst, dan ukuran ring saat ini jauh lebih kecil daripada nilai maksimum. Drop berkurang setelah ring diperbesar
Tidak cocok jika
Counter drop tidak berubah tetapi ada packet loss: mengarah ke tahap kernel berikutnya (“Buffer socket kernel terlalu kecil”) atau segmen jaringan. %soft di satu core 100%: lebih mungkin “Interrupt NIC terpusat di satu core”
Sarana pemeriksaan
Tools infrastruktur (tanpa perlu kode game)

Sumber

  1. Linux Base Driver for Intel(R) Ethernet Network Connection (e1000) Linux kernel
    Receive descriptor (slot ring) e1000 default 256, bisa diperbesar sampai 4.096
  2. drivers/net/ethernet/intel/ice/ice.h (Linux v6.12) Linux kernel
    Receive descriptor driver ice default 2.048, maksimal 8.160
  3. Interface statistics Linux kernel
    Paket yang dibuang perangkat karena buffer tidak cukup dihitung sebagai rx_missed_errors; statistik per driver diperiksa dengan ethtool -S
  4. ethtool(8) — Linux manual page ethtool
    -g memeriksa ukuran ring (nilai saat ini dan maksimum), -G mengubahnya, -S menampilkan statistik per driver

Lihat juga

Lapisan yang sama: L6 Kartu jaringan server

Penyebab di lapisan lain dengan gejala yang sama (Teleport)

Lihat kartu interaktif dengan gambar dan simulasi