Como resolver o tempo de carregamento muito lento do site?

Levei muito tempo otimizando meu CSS, removendo plugins, removendo redirecionamentos e fazendo tudo o que pude para melhorar os tempos de carregamento, mas aparentemente os principais culpados são:

mobile_4-randomcharacters-.css, que contém o normalize.css e o Pikaday e carrega em 1,5 segundos no mobile
e /assets/ember_jquery-randomcharacter-.js, que carrega em 3,6 segundos no mobile

Não faço ideia do que fazer com esses arquivos, que apresentam os maiores tempos de carregamento.

O carregamento no desktop é mais rápido, mas ainda não é bom.
O servidor tem 1 CPU, 2 GB de RAM, 50 GB de SSD e 2 TB de banda em um servidor profissional baseado nos EUA.
São 2 workers do Unicorn; nem a CPU nem a RAM estão sob carga pesada, e não tenho muitos usuários ou plugins.
Alguma ideia? Obrigado.

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

1 curtida

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

4 curtidas

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 curtidas

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 curtida

Olá, acabei de fazer uma instalação fresca do Discourse em um servidor Hetzner, modelo CPX21, com 3 vCPUs e 4 GB de RAM. Usei este guia: discourse/docs/INSTALL-cloud.md at main · discourse/discourse · GitHub

Praticamente não há carga aparecendo nas estatísticas de desempenho do servidor, mas o URL leva uma eternidade para carregar. Registrei 1,2 minutos para um visitante não logado em uma janela anônima, mesmo com vários componentes já em cache. Os mais lentos foram os arquivos de fonte OpenSans TTF, com mais de um minuto; depois, vários componentes .js levaram de 30 a 45 segundos.

Vou investigar opções de cache, mas, analisando esses componentes, não acho que todos sejam passíveis de cache. No total, apenas 730 KB de transferência de dados. Se as 3 vCPUs estivessem operando na capacidade máxima, eu consideraria migrar para um servidor mais rápido, mas como até mesmo isso mostra pouca ou nenhuma carga, estou simplesmente confuso.

Há algo que esteja aguardando outra coisa antes de prosseguir? Existe alguma maneira de executar testes no servidor para verificar a saúde dos componentes, como o banco de dados?
O Docker poderia estar deixando as coisas mais lentas?

1 curtida

Eu também tenho o mesmo problema,
Instalação limpa no Ubuntu com 2 núcleos 4GB de RAM Cloudflare cache e ainda assim o carregamento é super lento.

Minhas configurações em app.yml são padrão, que é db_shared_buffers: "1024MB" UNICORN_WORKERS: 4

Ainda assim o carregamento é lento e isso não é normal. Quais configurações preciso ajustar para corrigir?

Htop ss parece não ser um problema do servidor

Provavelmente vale a pena compartilhar algumas estatísticas do mini-profiler

Talvez também ler
A instalação do Discourse tem ficado cada vez mais lenta
.