Quais são as diferenças entre carregar uma página usando CDN e que tipo de provedores você está utilizando?
Tenho um tempo de carregamento muito maior ao usar a CDN. Será que estou fazendo algo errado ou há algo que não sei? Talvez eu deva ainda configurar algumas opções das quais não tenho conhecimento?
Bem, a primeira pista… graças a .
Um pouco. Quanto? Estamos falando de dias, semanas?
Deveríamos forçar um payload em https ou melhor em http? Estou perguntando porque há diferenças no carregamento. O que determina se a página é carregada por completo ou se parece que o JavaScript original não foi carregado??
O prazo dependerá de como os usuários interagem com o site. Os ativos mais baixados serão carregados no cache da CDN e serão mais rápidos se você estiver mais próximo do servidor da CDN do que do servidor de origem.
Se o datacenter estiver ao seu lado e o servidor da CDN estiver a 1000 km de distância, a conexão será sempre mais lenta. A ideia da CDN é atender melhor um público geograficamente diversificado, não melhorar visitas centralizadas.
Você está falando do TTFB em qual caminho exatamente?
O TTFB para um recurso estático (como um arquivo JS ou uma imagem JPG enviada por um usuário) será sempre rápido ao usar uma CDN, pois a latência de vários PoPs ajudará nisso.
Por outro lado, comparar o TTFB de rotas dinâmicas não faz sentido, já que nosso DISCOURSE_CDN_URL não cobre esses casos de qualquer forma.
O que você está vendo é apenas uma variação normal. O CDN não terá impacto no tempo até o primeiro byte na raiz da sua instância Discourse ou em qualquer outra rota dinâmica. O CDN servirá apenas os ativos estáticos.
Eu esperava que o CDN acelerasse o carregamento da página, mas imagino que será insignificante.
Existem outras maneiras muito mais eficazes de acelerar o carregamento da página para diferentes partes do mundo, além de aumentar os recursos de RAM e CPU?
O TTFB é o tempo que o servidor de aplicação leva para enviar uma resposta 200. Você não pode melhorá-lo usando uma CDN, pois a CDN apenas serve ativos.
Você acelerará a página, mas não o First Byte. Você acelerará o carregamento de multimídia (imagens, PDFs, vídeos) e JS. Isso melhorará a responsividade do site, mas todo o conteúdo dinâmico precisará ser carregado do servidor central.
Assim, os avatares dos usuários, por exemplo, serão carregados mais rapidamente, mas não os títulos dos tópicos.
Como o Discourse bloqueia a renderização enquanto aguarda JS e CSS, você ainda pode tornar a página interativa mais rapidamente aproveitando uma CDN.
Realizar esse tipo de análise exige um pouco mais do que executar cegamente o Lighthouse e o WebPageTest, escolher um resultado e se obsessar com ele.
Se sua prioridade é ter uma página com uma pontuação mais alta nessas ferramentas, recomendo executar um blog alimentado por ferramentas como https://jekyllrb.com/.