Já estamos executando nossa instância do Discourse há alguns meses em forum.hobbydb.com para dar suporte ao nosso crescente banco de dados de colecionáveis com uma comunidade (substituindo vários grupos do Facebook). Embora tudo esteja funcionalmente estável, notamos alguns problemas de desempenho — particularmente em relação às pontuações do Lighthouse, que atualmente pairam em torno de 60%.
Implantação: Usando o gráfico Helm do Discourse da Bitnami
Infraestrutura: Totalmente conteinerizada, rodando no Kubernetes
Especificações: MS Azure 2xlarge (portanto, deve ser capaz de expandir automaticamente para 6 núcleos, 12 GB de RAM e até 2 GB para logs)
Estamos tentando descobrir de onde podem estar vindo os gargalos de desempenho e como podemos otimizar melhor nossa implantação — especialmente para o desempenho do frontend.
Alguém já enfrentou problemas semelhantes ao executar o Discourse no Kubernetes (especialmente via Bitnami)? Alguma recomendação, dica ou armadilha conhecida que devamos investigar?
Agradecemos qualquer conselho ou sugestão — estamos ansiosos para melhorar a experiência de nossos usuários.
Sim, sua instância está muito lenta. Isso não é típico.
Bitnami é uma instalação de terceiros não padrão. Você levantou essas questões em sua comunidade?
Alguns desses benchmarks online não fazem sentido para um aplicativo de página única (como o Discourse), porque cada cliente baixa a maior parte do JavaScript na primeira visita. Depois disso, a maioria das transições de página deve ser quase instantânea, pois muitas coisas são armazenadas em cache e apenas algum conteúdo JSON específico é recuperado do servidor na maioria das transições.
(Acredito que a CDCK esteja trabalhando para espalhar esse download além da primeira busca de página, mas isso está um pouco fora do tópico e não é o seu problema)
Minhas instâncias são auto-hospedadas com a instalação padrão em hardware muito modesto (VPS de 4 GB) e voam .
É absolutamente possível obter um bom desempenho para o Discourse no K8 e no Bitnami.
Para o Discourse (ou qualquer aplicativo RoR), a velocidade de núcleo único é mais importante. O escalonamento é mais importante assim que seu fórum atingir tráfego decente.