Microrráfagas en el switch Switch microburst drops
ID de la causa dc-microburst · Responsable principal Desarrollo de servidor (Equipo de desarrollo) · También Infraestructura de red (Equipo de infraestructura), Infraestructura de servidores (Equipo de infraestructura)
Cuando varios servidores envían paquetes a miles de jugadores en el mismo instante, el pequeño búfer del puerto del switch donde se junta ese tráfico se desborda en menos de 1 ms.
Por qué Aparición de un world boss o habilidades masivas, o ticks de varios servidores que coinciden en el mismo instante y envían todo a la vez → Efecto Los búferes de los puntos donde varios puertos confluyen en uno o donde un puerto rápido pasa a uno lento (de cientos de KB a unos pocos MB por puerto) se llenan en un instante → En pantalla Se descartan algunos paquetes; muchos jugadores sufren a la vez teletransporte o habilidades que no salen
Responsable principal Desarrollo de servidor (Equipo de desarrollo) · También Infraestructura de red (Equipo de infraestructura), Infraestructura de servidores (Equipo de infraestructura)
Tareas (Equipo de desarrollo)
Repartir los envíos de forma uniforme dentro del tick (pacing), desfasar un poco el inicio del tick de cada servidor.
Tareas (Equipo de infraestructura)
Red: usar switches con búferes más grandes, repartir el tráfico (distribuir los servidores entre varios switches y puertos), vigilar los contadores de descartes por puerto del switch. Servidores/SO: limitar la velocidad total de envío de cada servidor (shaper tc de Linux).
Cifras de referencia
Un puerto de 10 Gbps puede enviar unos 1.25 MB en 1 ms. Si el tráfico de dos puertos confluye a la vez en uno solo, se acumulan 1.25 MB cada 1 ms. Aunque la utilización media en 1 segundo sea del 10%, a escala de 1 ms puede desbordarse.
En el gráfico
Sube con la carga · Descartes de salida del puerto del switch
Dónde mirar
Recoger, con el intervalo más corto posible, los contadores de descartes de salida (ifOutDiscards, o output drops según el dispositivo) de los puertos del switch donde están los servidores y de los puertos donde se junta su tráfico, y cruzarlos con la aparición de jefes y las batallas masivas. Los gráficos de utilización media de 1 segundo o de 1 minuto no lo muestran
Se confirma si
La utilización media es baja, pero los descartes de salida suben cada vez que la gente se concentra en un lugar, y en esos momentos muchos jugadores reportan a la vez teletransporte y habilidades que no salen
Se descarta si
Si los descartes suben de forma constante en las horas de utilización media alta, apunta a “Saturación del enlace del centro de datos”. Si suben los errores de entrada (CRC), a “Cables defectuosos y errores de puerto”
Se verifica con
Con herramientas de infraestructura (no hace falta código del juego)
Data Center TCP (DCTCP) (SIGCOMM 2010)ACM Los switches de uso general tienen búferes poco profundos (48 puertos comparten 4 MB y un puerto puede usar hasta unos 700 KB); si varios flujos confluyen en un puerto durante un instante, hay pérdida
RFC 2863: The Interfaces Group MIBIETF ifOutDiscards: número de paquetes que no se enviaron y se descartaron aunque no hubiera errores, por motivos como liberar espacio en el búfer