È da qualche mese che gestiamo la nostra istanza Discourse su forum.hobbydb.com per supportare il nostro crescente database di collezionabili con una community (sostituendo vari gruppi Facebook). Sebbene tutto sia funzionalmente stabile, abbiamo notato alcuni problemi di prestazioni, in particolare per quanto riguarda i punteggi Lighthouse, che attualmente si aggirano intorno al 60%.
Distribuzione: Utilizzo del chart Helm di Bitnami per Discourse
Infrastruttura: Interamente containerizzata, in esecuzione su Kubernetes
Specifiche: MS Azure 2xlarge (quindi dovrebbe essere in grado di espandersi automaticamente a 6 core, 12 GB di RAM e fino a 2 GB per i log)
Stiamo cercando di capire da dove possano provenire i colli di bottiglia delle prestazioni e come possiamo ottimizzare meglio la nostra distribuzione, in particolare per le prestazioni del frontend.
Qualcuno ha riscontrato problemi simili durante l’esecuzione di Discourse su Kubernetes (in particolare tramite Bitnami)? Avete raccomandazioni, suggerimenti o insidie note da esaminare?
Apprezziamo qualsiasi consiglio o suggerimento: siamo desiderosi di migliorare l’esperienza dei nostri utenti.
Bitnami è un’installazione di terze parti non standard. Hai sollevato questi problemi nella loro community?
Alcuni di questi benchmark online non hanno senso per un’applicazione a pagina singola (come Discourse) perché ogni client scarica la maggior parte del JavaScript alla prima visita. Dopo di che, la maggior parte delle transizioni di pagina dovrebbe essere quasi istantanea poiché molte cose vengono memorizzate nella cache e solo alcuni contenuti JSON specifici vengono recuperati dal server nella maggior parte delle transizioni.
(Credo che CDCK stia lavorando per distribuire quel download oltre il primo caricamento della pagina, ma questo sta andando fuori tema e non è il tuo problema)
Le mie istanze sono self-hosted con l’installazione standard su hardware molto modesto (VPS da 4 GB) e volano .
È assolutamente possibile ottenere buone prestazioni per Discourse su K8 e Bitnami.
Per Discourse (o qualsiasi app RoR) la velocità del singolo core è più importante. Lo scaling è più importante una volta che il tuo forum riceve un traffico decente.