Nota: Não tenho certeza se isso é um bug no Discourse. Tentei reunir as evidências necessárias e, até agora, não encontrei nada que aponte para nossa infraestrutura/configuração. Nossa configuração é o mais próxima possível do padrão no Tappara.co.
Fenômeno observado:
- Tópicos de discussão rápida, estilo chat, param de atualizar automaticamente. Após um atraso de 30 a 180 segundos, a atualização geralmente retoma, revelando as postagens feitas durante a congelamento.
O que sabemos até agora
- Não observamos isso na temporada anterior; o último jogo foi em março.
- Estamos na branch estável e fizemos a última atualização maior em agosto.
- O problema foi relatado imediatamente nos primeiros jogos de exibição, com tráfego/atividade moderados.
- Isso afeta o Chrome no iOS e Android, mas é muito menos frequente no Chromebook.
- Enquanto escrevo isso, estou vendo congelamentos no meu celular Android, enquanto a discussão flui como esperado no meu Chromebook. Dois dispositivos diferentes na mesma rede.
- A experiência varia por usuário/cliente. Diferentes usuários relatam os congelamentos em momentos distintos. No geral, registramos cerca de 300 mensagens em aproximadamente 30 minutos, e os usuários relataram dezenas de congelamentos. Na maioria das vezes, os congelamentos parecem estar correlacionados com eventos do jogo (gols, penalidades).
Coisas que tentei para descartar
- CloudFlare – realizamos um jogo sem cache do CF, e o problema persistiu.
- Sobrecarga de CPU – o uso da CPU está bem dentro dos limites, geralmente oscilando entre 20-30%.
- Esgotamento do disco – a E/S do disco parece estar bem dentro dos limites. Temos SSDs MaxIOPS da UpCloud.
Outras informações
- Tive o inspecionador do Chrome rodando durante o jogo e alguns erros 429 foram registrados, mas, para mim, eles não correlacionaram com os congelamentos.
- Os usuários finais não estão recebendo notificações sobre os erros 429 (limitação de velocidade) ou carga extrema. A atualização simplesmente congela e depois retoma. O limitador de taxa mudou recentemente? Tenho a impressão de que os limites de taxa deveriam acionar um aviso na interface do usuário?
Um problema realmente desagradável, que prejudica bastante os chats de jogo em tempo real. Temos realizado esses chats há anos e nunca vi isso antes.