Hemos estado ejecutando nuestra instancia de Discourse durante unos meses en forum.hobbydb.com para dar soporte a nuestra creciente base de datos de coleccionables con una comunidad (reemplazando varios grupos de Facebook). Si bien todo es funcionalmente estable, hemos notado algunos problemas de rendimiento, particularmente en torno a las puntuaciones de Lighthouse, que actualmente rondan el 60%.
Despliegue: Usando el gráfico Helm de Discourse de Bitnami
Infraestructura: Completamente contenerizada, ejecutándose en Kubernetes
Especificaciones: MS Azure 2xlarge (por lo que debería poder expandirse automáticamente a 6 núcleos, 12 GB de RAM y hasta 2 GB para registros)
Estamos tratando de averiguar de dónde pueden provenir los cuellos de botella de rendimiento y cómo podemos optimizar mejor nuestro despliegue, especialmente para el rendimiento del frontend.
¿Alguien se ha enfrentado a problemas similares al ejecutar Discourse sobre Kubernetes (especialmente a través de Bitnami)? ¿Alguna recomendación, consejo o error conocido que debamos investigar?
Agradecemos cualquier consejo o sugerencia; estamos ansiosos por mejorar la experiencia de nuestros usuarios.
Sí, tu instancia es muy lenta. Eso no es lo normal.
Bitnami es una instalación de terceros no estándar. ¿Has planteado estos problemas en su comunidad?
Algunas de estas pruebas de rendimiento en línea no tienen sentido para una aplicación de página única (como Discourse) porque cada cliente descarga la mayor parte del JavaScript en la primera visita. Después de eso, la mayoría de las transiciones de página deberían ser casi instantáneas, ya que muchas cosas se almacenan en caché y solo se recupera algún contenido JSON específico del servidor en la mayoría de las transiciones.
(Creo que CDCK está trabajando en distribuir esa descarga más allá de la primera carga de página, pero eso se está saliendo del tema y no es tu problema).
Mis instancias están autoalojadas con la instalación estándar con hardware muy modesto (VPS de 4 GB) y fly .
Es absolutamente posible obtener un buen rendimiento para Discourse en K8 y Bitnami.
Para Discourse (o cualquier aplicación RoR), la velocidad de un solo núcleo es más importante. La escalabilidad es más importante una vez que tu foro reciba tráfico decente.