Il forum Discourse si blocca e scade, non si carica

Da qualche tempo, il nostro forum Discourse inizia a timeout su la maggior parte delle richieste: https://caddy.community

Non sono state apportate aggiornamenti o modifiche quando il problema è iniziato alcuni giorni fa. A volte si carica correttamente, ma dopo pochi minuti impiega minuti per caricare. (Quindi se il link sopra si carica velocemente per te, riprova dopo alcuni minuti. Puoi anche provare con curl.)

Siamo ospitati su DigitalOcean.

Le risorse della macchina non sono sature: ci sono abbondanti CPU, RAM, spazio su disco e I/O di rete disponibili.

Non ci sono errori nei log e non ci sono processi sconosciuti in esecuzione sulla macchina. Ha funzionato bene per circa 3 anni, ma ora non si carica più.

Qualcuno sa come far ripartire il forum più velocemente? Abbiamo riavviato la macchina, ma il forum continua a essere lento.

Ciao @mholt :wave:,

Ho provato a passare avanti e indietro tra /latest e /categories ed è piuttosto veloce.

Stai riscontrando rallentamenti in percorsi specifici dell’app?

Inoltre, hai abilitato MiniProfiler?

Segui questa guida per abilitarlo: Long loading times for user summary page with slow database - #6 by Falco

Dopo averlo abilitato, quando si verifica un rallentamento saprai esattamente dove si trova.

Ehm… dann, oggi sta caricando più velocemente. :thinking: (Anche altri nella nostra comunità lo hanno sperimentato, so di non essere l’unico, haha – ma sembra che possa essere intermittente.)

Proverò quando avrò un momento, grazie!

Hmm, sembra che anche le mie connessioni ssh vadano in timeout a volte.

Mi chiedo se DigitalOcean abbia problemi di rete (anche se non hanno segnalato nulla) – forse dovrò aprire un ticket con DO per scoprirlo. Potrebbe non essere specifico di Discourse.

Questo problema è ricominciato di recente: il caricamento del forum richiede diversi minuti.

I tempi di ping verso il droplet di DigitalOcean sono nella norma: ~80ms. Anche il carico del server è nella norma:

I tempi mostrati nello strumento di debug nell’angolo (MiniProfiler) non rivelano alcun problema: tutti i valori sono entro ~300ms:

(Questa pagina ha impiegato circa 3 minuti per caricarsi.)

Esiste qualche fase del processo di caricamento, tra il raggiungimento del server e il rendering della pagina, che non viene conteggiata dal MiniProfiler?

Il tempo trascorso su Redis non viene conteggiato e può causare ciò che stai vedendo. Dovrai approfondire l’analisi del server e verificare se Redis sta riscontrando problemi nel persistere le modifiche su disco.

Interessante, hai qualche consiglio su come farlo? O un link a una guida pertinente? Questo è al di sopra delle mie competenze :sweat_smile:

Oh, lasciami correggere un po’ il mio discorso. Il tempo trascorso su Redis non apparirà nella sezione dettagliata di MiniProfiler, ma sarà incluso nel tempo complessivo nella prima colonna. Quindi, guardando lo screenshot che hai inviato, sembra che non sia questo il caso.

I log di Caddy registrano il tempo di attesa sul backend e il tempo totale trascorso per ogni richiesta? Esiste la possibilità che il reverse proxy fosse in attesa?

Aggiungerò questa informazione ai log e cercherò di scoprirlo la prossima volta che succede.

Potrebbe essere il tempo che impiega per recuperare gli asset statici? Magari dai un’occhiata agli strumenti per sviluppatori di Chrome la prossima volta che succede?

Grazie per l’idea, Sam. Ho già controllato l’ispettore di rete, ma non credo di ricordare nulla di particolarmente significativo — però lo controllerò più approfonditamente la prossima volta.

Questo tende a succedere ogni pochi giorni circa; farò sapere quando si ripresenterà!