Quando os pedidos chegam mais rápido do que são processados e se acumulam na fila, os últimos da fila só são processados segundos depois ou são descartados.
Por quê Os pedidos chegam mais rápido do que são processados → Efeito A fila cresce e, ao passar do limite, os pedidos são descartados → Na tela Skills e trocas respondem com atraso ou não saem
Local ou canal específico, Só um recurso específico
Quando
Quando junta muita gente
Responsável
Responsável principal Desenvolvimento do servidor (Equipe de desenvolvimento)
O que fazer (Equipe de desenvolvimento)
Monitorar o tamanho da fila, ter uma política que descarta primeiro os pedidos velhos, paralelizar o processamento.
No gráfico
Achata ao bater no limite · Tamanho da fila e idade da mensagem mais antiga, processados por segundo
Onde olhar
O que o servidor registra por fila: tamanho, idade da mensagem mais antiga, mensagens recebidas, processadas e descartadas por segundo. Sem métricas no código, o Recv-Q do socket do jogo (o que o kernel recebeu e o processo ainda não leu) com ss (ou netstat)
Confirma se
Enquanto as chegadas superam o processamento, os processados por segundo não passam de um certo valor, e o tamanho e a idade da fila e os descartes não param de subir
Descarta se
Fila curta e mensagens novas, mas a resposta demora: latência da conexão ou atraso do próprio tick
Como verificar
Exige logs e métricas do servidor ou do cliente do jogo
Avoiding insurmountable queue backlogsAWS Amazon Builders' Library. Monitorar o acúmulo pela idade das mensagens na fila; sistemas em tempo real processam primeiro os dados novos (mais perto de LIFO) e às vezes descartam mensagens antigas
ss(8) — Linux manual pageiproute2 Ferramenta que mostra estatísticas de sockets (informações parecidas com as do netstat); -p mostra o processo que usa o socket
netstat(8) — Linux manual pagenet-tools Recv-Q: número de bytes em um socket conectado que o programa do usuário ainda não leu