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

Libro blanco del lag en juegos › L6 Tarjeta de red del servidor

Retraso por agrupación en GRO/LRO GRO/LRO batching

ID de la causa nic-offload · Responsable principal Infraestructura de servidores (Equipo de infraestructura)

Abrir la ficha interactiva con gráficos y simulaciones →

Son funciones que agrupan varios paquetes en uno para reducir la carga de la CPU. Según la configuración, un paquete pequeño del juego puede esperar un momento al siguiente paquete con el que agruparse.

Por qué La NIC y el kernel agrupan los paquetes que llegan para procesarlos juntos → Efecto Si está activada la agrupación por hardware (LRO) o un tiempo de espera de agrupación, el paquete espera un momento al siguiente → En pantalla Leve aumento de la latencia (normalmente decenas de µs o menos)

Síntomas
Input lag
Factores
Latencia
A quién afecta
Todo el servidor
Cuándo
Siempre
Responsable
Responsable principal Infraestructura de servidores (Equipo de infraestructura)
Tareas (Equipo de infraestructura)
Ajustarlo al tráfico del juego (desactivar LRO, revisar la configuración del tiempo de espera de agrupación), revisarlo después de otras causas porque el efecto suele ser pequeño.
En el gráfico
Siempre alto · Tiempo de ida y vuelta dentro del mismo centro de datos
Dónde mirar
Ver con ethtool -k el estado de lro y gro y el valor de gro_flush_timeout en la configuración sysfs del dispositivo, y comparar el tiempo de ida y vuelta de paquetes pequeños dentro del centro de datos antes y después de cambiarlos
Se confirma si
LRO está activado o gro_flush_timeout es mayor que 0, y al desactivarlo o ponerlo a 0, el tiempo de ida y vuelta de los paquetes pequeños baja
Se descarta si
Si con el cambio la diferencia queda dentro de unos pocos µs, no es esta causa
Se verifica con
Con herramientas de infraestructura (no hace falta código del juego)

Fuentes

  1. NAPI Linux kernel
    Un gro_flush_timeout grande agrupa más el procesamiento, pero añade latencia cuando la carga es baja
  2. Linux Base Driver for the Intel(R) Ethernet 10 Gigabit PCI Express Adapters (ixgbe) Linux kernel
    GRO ahorra CPU uniendo el tráfico entrante en bloques grandes y es una evolución de LRO
  3. ethtool(8) — Linux manual page ethtool
    Los ajustes gro y lro on|off de ethtool -K

Ver también

Misma capa: L6 Tarjeta de red del servidor

Causas de otras capas con el mismo síntoma (Input lag)

Ver la ficha interactiva con gráficos y simulaciones