Meu site tem apresentado uma lentidão leve e repentina no carregamento de páginas ultimamente. Tive um problema em que um backup foi gerado e excedeu o espaço no meu volume digital ocean, derrubando o site. Desde então, tenho tido dificuldades em reconstruir o site. Esses eventos podem estar relacionados com base no timing. Atualmente, o site parece estar em um estado estável, mas apenas mais lento do que o que estou acostumado.
Eu poderia entrar em mais detalhes sobre o que aconteceu, mas prefiro fazer uma pergunta mais geral. Quais são algumas técnicas para diagnosticar a causa de uma lentidão? Meu droplet está com uma utilização média de 20% de CPU, então pareço ter recursos suficientes (4 GB de Memória / 2 vCPUs AMD / 80 GB de Disco, ~15 mil visualizações de página por dia)
Obrigado! Se você tivesse falta de memória, os números do cache seriam pequenos e, se estivesse paginando muito, as colunas si e so seriam grandes. Mas não é o caso.
Vemos um grande pico em bi e bo, que é tipicamente atividade de disco. Eu me pergunto se algo em algum lugar está construindo, reparando ou escaneando algo.
Talvez tente executar ps auxrc
a cada cinco segundos por cerca de um minuto, para ver se consegue capturar um processo ocupado em ação.
Existem outras utilidades que podem não estar instaladas: talvez procure por “Como Monitorar IO de Disco em um Sistema Linux” ou similar.
Vale a pena notar que, se você tiver dúvidas sobre a integridade do seu sistema, reconstruí-lo a partir de um backup pode ser o caminho mais rápido. Mas certifique-se de ter uma cópia externa do backup, se não duas, em caso de acidente. E, idealmente, faça a instalação em uma nova instância e mantenha a existente por perto até que a nova esteja funcionando bem.
Mais interessante é que você tem muitos processos sidekiq e, ainda assim, vejo a anotação “0 de 5 ocupados” - você tem mais de 5. Você também parece ter muitos threads unicorn.
Sugiro um novo tópico aqui, com sua saída htop, incluindo sua configuração yml sobre se você ajustou sua contagem de unicorn. Pergunte se este conjunto de processos parece razoável.
Ah sim, eu deveria ter verificado meu próprio htop: muito semelhante.
Outra ideia bem diferente, para a observação original de ‘uma lentidão’ - ativar o mini-profiler usando Alt-P, então acessar uma página grande típica do seu fórum e ver quais consultas estão sendo feitas e quanto tempo elas levam, clicando no valor do tempo que aparece no canto superior direito.
Consegui fazer um apt upgrade e também um rebuild. Este problema: Pups error on rebuild 🐕 estava me impedindo de fazer o rebuild por um tempo
Desde o rebuild, parece que melhorou. No entanto, não gosto de operar por sensação neste caso, prefiro ter análises e dados mensuráveis. Agradeço as dicas @Ed_S, elas serão úteis para monitoramento futuro.
Estou me perguntando se é possível capturar alguns desses dados de profiling para mostrar a “saúde” da instância através da página de administração. Talvez uma ideia de plugin potencial ou um recurso principal futuro?