Versione sintetica:
- Il sistema è stato portato alle sue capacità massime per alcuni minuti a causa di
iowaitsotto un carico moderato - Non si stava verificando un’attività significativa di I/O su disco in quel momento
- DigitalOcean garantisce che non ci sia stata alcuna attività insolita sull’hypervisor
Versione estesa:
Attualmente in esecuzione su un droplet con 8 core e 16 GB di RAM su DigitalOcean, recentemente aggiornato da una configurazione 4/8 per gestire un traffico più intenso previsto a breve termine.
Al momento dell’evento, db_shared_buffers era impostato a 2 GB e i worker di Unicorn a 8. Ho successivamente aumentato entrambi i valori.
Durante un evento in diretta di circa 2 ore, c’è stato un intenso afflusso di post su un singolo argomento, con circa 200 utenti totali in quel periodo, con una media di circa 70 utenti attivi in ogni istante secondo Analytics.
Il sistema è rimasto stabile per oltre un’ora. I valori di load average si sono mantenuti intorno a 4, la CPU al 30% circa e la memoria al 35%. Nessuna attività significativa su disco, nessun problema con il forum.
Improvvisamente, il numero di utenti riportato da Analytics è raddoppiato. Non so se si trattasse di utenti reali o di un artefatto causato da un altro problema. Non siamo una comunità grande o nota. Nessuno ci linka e sarebbe molto insolito acquisire improvvisamente un gran numero di nuovi utenti.
Allo stesso tempo, iowait è diventato critico con avvisi sostenuti superiori al 50%. I load average a 1 minuto sono schizzati a 12, quelli a 5 minuti hanno superato 8. L’intero sistema è diventato molto lento, il forum ha rallentato fino a fermarsi e si sono verificati numerosi logout temporanei dovuti all’alto carico. La CPU non ha mai superato il 40%.
Questa situazione è durata 3-4 minuti, dopodiché tutto è tornato alla normalità gradualmente nei successivi 10 minuti. Secondo i grafici di DigitalOcean, l’I/O su disco è rimasto sotto 1 MB/s per tutto il tempo, prevalentemente scritture.
È possibile che si tratti di un problema legato al forum o alla configurazione? Sta mentendo DigitalOcean e si tratta davvero di un problema hardware? Se è il primo caso, ci sono suggerimenti per prevenire che accada di nuovo (non è la prima volta)?
Sto per avere un altro evento importante, di grandi dimensioni e una tantum, che sarà molto cruciale per la comunità. Non ho il lusso di fare prove ed errori per vedere cosa funziona. Ho solo una possibilità per farlo bene (o male).