Recentemente, ho riscontrato un errore HTTP 500 sul mio forum Discourse. Sono ospitato su un Droplet con Digital Ocean e ho verificato che CPU, DISCO e Memoria sono costantemente al 100%.
Riavviare il droplet sembra risolvere temporaneamente il problema e mi permette di accedere al forum, ma non sono sicuro di cosa stia causando così tanto stress al sistema, dato che non abbiamo molto traffico sul forum.
Sono entrato nella console e ho scoperto che anche il nostro Memory Swap è al massimo e non riesco a identificare il problema. Avete suggerimenti su dove cercare?
Il tuo forum ha iniziato a ricevere molta attività utente di recente? Se la CPU è costantemente al 100%, potrebbe indicare che ci sono molti elementi in background in esecuzione. Quali sono le specifiche del tuo droplet? Hai considerato di aggiornare il droplet per vedere se è quello di cui hai bisogno?
No, non abbiamo avuto alcun picco di utenti o attività. È stato piuttosto inattivo per un po’ di tempo, motivo per cui sono perplesso che il droplet stia operando a questa capacità.
È un 1 vCPU, 2 GB di RAM, 50 GB di disco, che è stato più che sufficiente quando è stato lanciato inizialmente e c’era molta più attività degli utenti.
Sto provando ad aggiornare prima il gestore docker, ma il problema con il server ne impedisce il completamento (l’ho lasciato in esecuzione durante il fine settimana e non si è ancora aggiornato.
Modifica: ho esaminato i log e ho riscontrato alcuni problemi:
L’aggiornamento della shell e l’eliminazione di un mucchio di attività di retry in Sidekiq (errore SSL con SMTP non corrispondente al sito web) hanno causato un drastico calo.
Ora ottengo un nuovo errore su cui lavorerò.
Jobs::HandledExceptionWrapper: Wrapped Net::ReadTimeout: Net::ReadTimeout con #TCPSocket:(closed)