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

Libro blanco del lag en juegos › Causas raíz de la retransmisión TCP

Descarte del exceso por un policer Traffic policing

ID de la causa rt-policer · Responsable principal Infraestructura de red (Equipo de infraestructura) · También Infraestructura de servidores (Equipo de infraestructura), Desarrollo de servidor (Equipo de desarrollo)

Abrir la ficha interactiva con gráficos y simulaciones →

Los planes de los ISP, los límites de las instancias en la nube y los dispositivos de protección DDoS a veces descartan al instante, sin encolarlos, los paquetes que superan una velocidad fijada.

Por qué El volumen enviado en un instante supera la velocidad permitida o la ráfaga permitida → Efecto Los paquetes que sobran se descartan en el acto, sin cola (policing) → En pantalla En cada ráfaga grande desaparecen varios paquetes: congelamiento seguido de cámara rápida, aunque la velocidad media parezca estar por debajo del límite

Síntomas
Congelamiento, Cámara rápida, Teletransporte
Factores
Pérdida de paquetes
A quién afecta
Todo el servidor, Una región o un ISP, Solo yo
Cuándo
Cuando se junta mucha gente, Horas pico de la noche
Responsable
Responsable principal Infraestructura de red (Equipo de infraestructura) · También Infraestructura de servidores (Equipo de infraestructura), Desarrollo de servidor (Equipo de desarrollo)
Tareas (Equipo de desarrollo)
Repartir dentro del tick lo que se envía de golpe en cada tick para bajar el volumen instantáneo por debajo de la ráfaga permitida, juntar los mensajes de un tick en un solo paquete si se topa con el límite de paquetes por segundo.
Tareas (Equipo de infraestructura)
Red: revisar los contadores de exceso del policer en los dispositivos, sustituir el policer por un shaper, ampliar la ráfaga permitida. Servidores/SO: revisar las métricas de límite superado de la nube (en AWS, bw_out_allowance_exceeded y pps_allowance_exceeded en ethtool -S), subir de instancia, aplicar pacing en el servidor (cola fq de Linux).
Cifras de referencia
Un shaper (limitador que encola los paquetes y los retrasa) aumenta la latencia, y un policer (limitador que los descarta al instante) aumenta la pérdida. Una conexión TCP de juego puede detenerse cientos de ms por una sola pérdida, así que, cuando el límite se supera solo un momento, casi siempre hace más daño el policer.
En el gráfico
Topa con el límite · Volumen de envío a intervalos cortos, contadores de exceso del policer y de allowance
Dónde mirar
Contadores de exceso (exceed) y de descartes del dispositivo donde está el policer; en la nube, bw_out_allowance_exceeded y pps_allowance_exceeded en ethtool -S. En las conexiones con pérdida, el RTT justo antes de la pérdida con el rtt de ss -ti o con una captura de paquetes
Se confirma si
Los contadores de exceso suben, y el volumen de envío visto a intervalos cortos se queda plano, como cortado en un valor. El RTT no sube justo antes de la pérdida, y solo en los momentos de ráfaga grande desaparecen varios paquetes a la vez
Se descarta si
Si el RTT sube justo antes de la pérdida, apunta a un desbordamiento de cola (“Desbordamiento de la cola en el cuello de botella (pérdida por congestión)”, “Ráfagas de envío que desbordan búferes poco profundos”). Si los contadores de exceso no cambian, es otra causa
Se verifica con
Con herramientas de infraestructura (no hace falta código del juego)

Fuentes

  1. RFC 2475: An Architecture for Differentiated Services IETF
    Definición: el shaping retrasa los paquetes para ajustarlos al perfil de tráfico, y el policing descarta los paquetes que superan el perfil
  2. An Internet-Wide Analysis of Traffic Policing Google
    Las transferencias sometidas a policing tienen de media una tasa de pérdida 6 veces mayor, y el mismo objetivo se puede lograr con pacing o shaping. Distinción: el policing descarta el exceso sin que suba el RTT, y en el desbordamiento de cola el RTT sube antes de la pérdida (SIGCOMM 2016)
  3. Monitor network performance for ENA settings on your EC2 instance AWS
    bw_out_allowance_exceeded y pps_allowance_exceeded de ethtool -S: paquetes encolados o descartados por superar el límite de la instancia
  4. tc-fq(8) — Linux manual page iproute2
    Pacing por conexión de la cola fq de Linux
  5. ss(8) — Linux manual page iproute2
    rtt (tiempo medio de ida y vuelta) de ss -i

Ver también

Misma capa: Causas raíz de la retransmisión TCP

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

Ver la ficha interactiva con gráficos y simulaciones