Sto testando Discourse come possibile destinazione per il nostro forum esistente e sto cercando di capire i requisiti.
Attualmente sto eseguendo il droplet Discourse su un nodo Digitalocean con 4vCPU e 8GB di RAM.
Con il sito vbulletin importato in esecuzione qui senza traffico e senza attività, il sistema inizia utilizzando circa il 75% di questi 8 GB di RAM e nel giro di pochi giorni sale al 100% per poi smettere completamente di rispondere.
Questo mi confonde dato che il minimo richiesto sembra essere molto inferiore.
(Ho ricostruito il container, ho controllato e cancellato i task di sidekiq, l’utilizzo è ancora alto)
Qualcuno ha qualche consiglio o dovrei considerare una configurazione con molta RAM solo per mantenere attivo il forum?
Il sistema potrebbe essere in fase di rielaborazione dei post e ridimensionamento delle immagini, il che potrebbe utilizzare molte risorse anche se non hai utenti. Puoi controllare /sidekiq per vedere se ci sono molti processi in coda e/o in esecuzione. Inoltre, htop potrebbe darti alcuni indizi su cosa è in esecuzione.
L’importazione è avvenuta circa 5 settimane fa, sono state effettuate 5 ricostruzioni dell’app da allora, che sembrano essere la soluzione al problema di memoria una volta che il container entra in uno stato di non reattività al 100% della memoria.
Ho cancellato tutti i task in sidekiq come menzionato e l’utilizzo è ancora al 75%
Il grafico della memoria da quando ho ricostruito il server ieri:
Capito, proverò il comando redis.
Il problema dei worker di unicorn è stato uno che ho controllato abbastanza presto. Ho modificato sia l’utilizzo della RAM per db_shared_buffers sia impostato i worker di unicorn a 3.
L’impostazione dei worker di unicorn sembra avere un effetto minimo o nullo sul numero di worker che vengono effettivamente eseguiti.
Dal mio file app.yml
## Quante richieste web concorrenti sono supportate? Dipende dalla memoria e dai core della CPU.
## verrà impostato automaticamente da bootstrap in base alle CPU rilevate, o puoi sovrascriverlo
UNICORN_WORKERS: 3