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

Guia do Lag em Jogos › L5 Equipamentos de rede do data center

Microburst no switch Switch microburst drops

ID da causa dc-microburst · Responsável principal Desenvolvimento do servidor (Equipe de desenvolvimento) · Também envolvidos Infraestrutura de rede (Equipe de infraestrutura), Infraestrutura de servidores (Equipe de infraestrutura)

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

Quando vários servidores mandam pacotes para milhares de jogadores no mesmo instante, o buffer pequeno da porta do switch onde esse tráfego converge transborda em menos de 1 ms.

Por quê Spawn de world boss ou skills em massa, ou ticks de vários servidores coincidindo e enviando tudo de uma vez → Efeito Os buffers onde várias portas convergem para uma, ou onde uma porta rápida alimenta uma mais lenta (de centenas de KB a alguns MB por porta), enchem num instante → Na tela Parte dos pacotes descartada; muitos jogadores com teleporte ou skills que não saem, ao mesmo tempo

Sintomas
Teleporte, Ação perdida / rollback
Fatores
Perda de pacotes
Quem é afetado
Local ou canal específico
Quando
Quando junta muita gente
Responsável
Responsável principal Desenvolvimento do servidor (Equipe de desenvolvimento) · Também envolvidos Infraestrutura de rede (Equipe de infraestrutura), Infraestrutura de servidores (Equipe de infraestrutura)
O que fazer (Equipe de desenvolvimento)
Distribuir o envio de forma uniforme dentro do tick (pacing), defasar um pouco o início do tick de cada servidor.
O que fazer (Equipe de infraestrutura)
Rede: usar switches com buffers maiores, distribuir o tráfego (espalhar os servidores por vários switches e portas), monitorar os contadores de descarte por porta do switch. Servidores/SO: limitar a taxa total de envio de cada servidor (shaper tc do Linux).
Números de referência
Uma porta de 10 Gbps envia cerca de 1,25 MB em 1 ms. Se o tráfego de duas portas converge para uma ao mesmo tempo, acumulam-se 1,25 MB a cada 1 ms. Mesmo com utilização média de 10% em 1 segundo, a porta pode transbordar na escala de 1 ms.
No gráfico
Sobe com a carga · Descartes de saída na porta do switch
Onde olhar
Coletar, no menor intervalo possível, os contadores de descarte de saída (ifOutDiscards, ou output drops conforme o equipamento) das portas do switch ligadas aos servidores e das portas onde esse tráfego converge, e comparar com os horários de spawn de boss e de grandes batalhas. Gráficos de utilização média de 1 segundo ou 1 minuto não mostram isso
Confirma se
A utilização média é baixa, mas os descartes de saída aumentam toda vez que muita gente se junta em um lugar, e nesses momentos vários jogadores reportam teleporte e skills que não saem, ao mesmo tempo
Descarta se
Os descartes aumentam de forma constante nos horários de utilização média alta: “Saturação do link do data center”. Os erros de entrada (CRC) aumentam: “Cabo com defeito ou erros na porta”
Como verificar
Ferramentas de infra (sem precisar do código do jogo)

Fontes

  1. High-Resolution Measurement of Data Center Microbursts (IMC 2017) ACM
    Mais de 70% dos bursts em data centers terminam em dezenas de µs; bursts descartam pacotes mesmo em portas com utilização média de cerca de 9%
  2. Data Center TCP (DCTCP) (SIGCOMM 2010) ACM
    Switches comuns têm buffers rasos (48 portas compartilham 4 MB, e uma porta usa até cerca de 700 KB); há perda quando vários fluxos convergem para uma porta por um breve instante
  3. RFC 2863: The Interfaces Group MIB IETF
    ifOutDiscards: número de pacotes descartados sem envio mesmo sem erro, por motivos como liberar espaço no buffer

Veja também

Mesma camada: L5 Equipamentos de rede do data center

Mesmo sintoma (Teleporte) em outras camadas

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