Si las solicitudes llegan más rápido de lo que se procesan y se acumulan en la cola, las últimas se procesan varios segundos después o se descartan.
Por qué Las solicitudes llegan más rápido de lo que se procesan → Efecto La cola se alarga y, al superar el límite, se descarta lo que sobra → En pantalla Habilidades e intercambios que responden tarde o se pierden
Responsable principal Desarrollo de servidor (Equipo de desarrollo)
Tareas (Equipo de desarrollo)
Monitorear la longitud de la cola, aplicar una política que descarte primero las solicitudes viejas, paralelizar el procesamiento.
En el gráfico
Topa con el límite · Longitud de la cola y antigüedad del mensaje más viejo, procesados por segundo
Dónde mirar
Longitud de cada cola, antigüedad del mensaje más viejo, y entradas, procesados y descartes por segundo que registra el servidor. Sin métricas en el código, Recv-Q del socket del juego con ss (o netstat), es decir, lo que el kernel ya recibió y el proceso aún no ha leído
Se confirma si
Mientras entra más de lo que se procesa, el número de procesados se estanca en un valor y no dejan de crecer la longitud y la antigüedad de la cola ni los descartes
Se descarta si
Si la cola es corta y la antigüedad baja pero la respuesta tarda, apunta a la latencia de la conexión o al retraso del propio tick
Se verifica con
Requiere logs y métricas del servidor o el cliente del juego
Avoiding insurmountable queue backlogsAWS Amazon Builders' Library. Vigilar la acumulación por la antigüedad de los mensajes en espera; en sistemas en tiempo real, procesar primero los datos nuevos (cerca de LIFO) y, a veces, descartar los mensajes viejos
ss(8) — Linux manual pageiproute2 Herramienta que muestra estadísticas de sockets (información parecida a la de netstat); -p muestra el proceso que usa cada socket
netstat(8) — Linux manual pagenet-tools Recv-Q: en un socket conectado, bytes que el programa de usuario aún no ha recogido