¿Cómo solucionar el tiempo de carga muy lento del sitio?

He estado optimizando mi CSS durante mucho tiempo, eliminando plugins, redirecciones y todo lo posible para mejorar los tiempos de carga, pero al parecer los principales culpables son:

mobile_4-randomcharacters-.css, que contiene normalize.css y Pikaday y se carga en 1.5 segundos en móviles,
y /assets/ember_jquery-randomcharacter-.js, que se carga en 3.6 segundos en móviles.

No tengo idea de qué hacer con estos archivos, que tienen los tiempos de carga más altos.

La carga en escritorio es más rápida, pero no es buena.
El servidor tiene 1 CPU, 2 GB de RAM, 50 GB de SSD y 2 TB de ancho de banda en un servidor profesional basado en EE. UU.
Hay 2 workers de Unicorn; ni la CPU ni la RAM están bajo carga pesada, y no tengo muchos usuarios ni plugins.
¿Alguna idea? Gracias.

Medido usando https://developers.google.com/speed/pagespeed/insights/

1 me gusta

Those are static assets, and to optimize delivery of those you should Enable a CDN for your Discourse

4 Me gusta

thank you, PageSpeed Insights says the CPU time (not delivery time) specifically for the second asset was almost 4 seconds, will a CDN like fastly still help with that? I currently use cloudflare with caching, is there a tweak on cloudflare I should use or just add something like fastly on top?!

That is indeed a big asset that will take time to parse and evaluate. As Discourse is a “Single Page Application” that cost is all paid upfront when the user first arrive, and this is a trade-off of our the approach, which is focused on making all the subsequent interaction, typical of forum usage, lightweight.

There are plan for EmberJS to drop mandatory JQuery, which will reduce this payload a fair bit, but we are years away of making this transition in Discourse.

2 Me gusta

thanks for the response, I think something must be off with my configuration, as i have never heard anyone else reporting those load times

Well, the pagespeed defaults force a Nexus 5X and a 3G connection, which even for Brazil (a third world country) is on the low end for today standards, so real world performance will depend on that.

1 me gusta

Hola, acabo de instalar Discourse desde cero en un servidor Hetzner, modelo CPX21, con 3 vCPUs y 4 GB de RAM. Seguí esta guía: discourse/docs/INSTALL-cloud.md at main · discourse/discourse · GitHub

En las estadísticas de rendimiento del servidor prácticamente no hay carga, pero la URL tarda una eternidad en cargar. Medí 1,2 minutos para un visitante no registrado en una ventana de incógnito, incluso cuando varios componentes ya estaban en caché. Los más lentos fueron los archivos de fuente OpenSans ttf, con más de un minuto; después, varios componentes .js tardaron entre 30 y 45 segundos.

Voy a investigar opciones de caché, pero viendo estos componentes, no creo que todos sean cacheables. En total, la transferencia de datos fue de solo 730 KB. Si los 3 vCPUs estuvieran funcionando a máxima capacidad, consideraría cambiar a un servidor más rápido, pero como incluso eso muestra poca o ninguna carga, simplemente no lo entiendo.

¿Hay algo que esté esperando a otra cosa antes de continuar? ¿Existe alguna forma de ejecutar pruebas en el servidor para verificar el estado de componentes como la base de datos?
¿Podría ser Docker lo que está ralentizando las cosas?

1 me gusta

Tengo el mismo problema,
Instalación limpia en Ubuntu con 2 núcleos, 4 GB de RAM, caché de Cloudflare y aun así la carga es muy lenta.

Mi configuración en app.yml es la predeterminada: db_shared_buffers: "1024MB" UNICORN_WORKERS: 4

Aun así, la carga es lenta y esto no es normal. ¿Qué configuración debo ajustar para solucionarlo?

Htop ss no parece ser un problema del servidor.

Probablemente valga la pena compartir algunas estadísticas del mini-profiler

Quizás también leer
La instalación de Discourse se ha vuelto cada vez más lenta
.