Usando as ferramentas padrão de monitoramento do sistema do provedor de nuvem, estamos recebendo alertas quase todos os dias no mesmo horário, pois a utilização de memória ficou acima de 80% por mais de 10 minutos de forma contínua. Esse estado persiste por talvez 30 a 60 minutos ou mais (a duração parece variar de dia para dia), começando sempre por volta do mesmo horário.
Alguém já viu algo assim e tem alguma ideia de por onde começar a investigar? Ou, alternativamente…
Existe alguma maneira fácil de verificar as tarefas agendadas dentro da pilha da aplicação que possam estar ocorrendo nesse padrão e serem a causa?
Não, backups também foram minha primeira ideia. Os backups (tanto do Discourse quanto do provedor de nuvem) estão ocorrendo apenas semanalmente. (O que eu provavelmente deveria mudar, mas não até encontrar esse fantasma!)
Então, eu olhei https://discourse.example.org/sidekiq/scheduler e parece que todos os trabalhos lá estão em uma rotação periódica e não necessariamente em um horário específico do dia. Alguém sabe se isso está correto? Se for, esse período é baseado no tempo de inicialização do contêiner do aplicativo?
É quase certo que sejam consultas grandes ou um conjunto de consultas grandes. O recálculo do Dashboard e o recálculo dos principais vêm à mente como dois possíveis gargalos.
80% não é tão ruim assim, significa que você não está sobrecarregando o sistema (e indo para a área de swap), mas a utilização é eficiente e você está fazendo bom uso do seu hardware (virtual).