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

Guia do Lag em Jogos › L9 Processo do jogo no servidor

Timers disparando todos ao mesmo tempo Synchronized timers

ID da causa sp-timer-burst · Responsável principal Desenvolvimento do servidor (Equipe de desenvolvimento)

Abrir o card interativo, com figuras e simulações →

Se todos os respawns de monstros, todas as expirações de buff e as recompensas da hora cheia caem no mesmo tick, aquele tick fica dezenas de vezes mais pesado.

Por quê Timers de respawn, expiração, recompensa e salvamento automático alinhados no mesmo horário → Efeito Dezenas de vezes o trabalho normal naquele único tick → Na tela Um engasgo a cada horário fixo

Sintomas
Travamento, Engasgos
Fatores
Paralisação
Quem é afetado
Local ou canal específico, Servidor inteiro
Quando
Em intervalos regulares
Responsável
Responsável principal Desenvolvimento do servidor (Equipe de desenvolvimento)
O que fazer (Equipe de desenvolvimento)
Espalhar um pouco os horários dos timers de forma aleatória, dividir o processamento entre vários ticks.
No gráfico
Picos em intervalos regulares · Tempo de tick do servidor
Onde olhar
Juntar os horários dos picos de tick e ver os intervalos (hora cheia, a cada 5 minutos etc.). Comparar com a lista de timers de respawn, expiração de buff, recompensa e salvamento automático que rodam no mesmo horário
Confirma se
O tick dá pico sempre no mesmo horário ou no mesmo intervalo, e nesse horário há tarefas de timer do jogo que disparam todas juntas
Descarta se
Há periodicidade, mas coincide com as pausas no log do GC ou com o horário de cron e backup do servidor: pausa stop-the-world do GC no servidor ou tarefas agendadas
Como verificar
Exige logs e métricas do servidor ou do cliente do jogo

Fontes

  1. Timeouts, retries, and backoff with jitter AWS
    Amazon Builders' Library. Acrescentar jitter a todos os timers, tarefas periódicas e tarefas adiadas espalha a carga que se concentraria no mesmo instante; caso em que os pedidos de 1 em 1 minuto de vários servidores se concentravam nos primeiros segundos de cada minuto

Veja também

Mesma camada: L9 Processo do jogo no servidor

Mesmo sintoma (Travamento) em outras camadas

Ver o card interativo, com figuras e simulações