Tenho um fórum muito pequeno, ele tem menos de uma semana de vida e estava funcionando bem até há uma hora, quando atualizei para a nova versão beta. Agora, ao acessar o site, recebo uma tela branca em branco por mais de 3/4 de segundo; o CDN da Cloudflare reduz isso para pouco mais de 2,7 segundos (aparentemente, mas acho que é mais longo).
Há algo que eu possa fazer sobre isso? Não é muito atraente quando estou tentando colocar um fórum no ar.
Até mesmo uma tela de carregamento ajudaria; está longe do ideal, mas pelo menos daria a impressão de que o site não está quebrado.
Temos um bug aberto onde, se você tiver um proxy reverso com defeito (como um nginx mal configurado ou a nuvem laranja do Cloudflare), você estará usando recursos não compactados, que serão gigantescos e levarão muito tempo para baixar, resultando em um carregamento da primeira página muito mais lento. O bug também é acionado por uma instalação funcional + navegador antigo (IE11 ou qualquer outro que não suporte Brotli).
Você precisa corrigir seu proxy reverso de qualquer forma, mas o bug subjacente será corrigido esta semana, esperamos.
Bem, eu basicamente atualizei o DNS conforme as instruções da Cloudflare e paguei pelo ‘Argo’. Não mexi no VPS nem na aplicação Discourse. Estou perdendo algum passo? Vale ressaltar que recorri à Cloudflare porque o tempo de carregamento já era de mais de 3 segundos.
Além disso, obrigado pela resposta rápida de vocês dois.
AFAIK, o uso do Argo é completamente não testado. Se estivéssemos olhando um mapa, você basicamente teria se aventurado na região marcada com “aqui há dragões”.
Você precisa desativar todas as otimizações do Cloudflare para usá-lo com o Discourse. Uma regra de página como a abaixo será suficiente:
O Discourse já otimiza o código sempre que você recria ou atualiza. O Cloudflare não consegue fazer nada melhor que isso; fazer com que ele modifique o código de qualquer forma não é suportado. Também é recomendável desativar o Brotli nas configurações de velocidade, pois sua implementação já introduziu problemas periodicamente no passado.
Você pode usar uma regra para armazenar em cache /uploads, mas esse é realmente o limite do que o Cloudflare pode oferecer. Mesmo assim, lembre-se de que você está adicionando saltos entre o cliente e o servidor, o que constitui a maior parte do que os usuários sentem ao navegar em um site Discourse. Portanto, embora possa aliviar parte da carga do servidor ao reduzir solicitações de ativos, não será tão eficiente quanto usar uma CDN real.
Obrigado pela ajuda. Eu só comecei a testar o Cloudflare quando comecei a receber a tela branca longa no carregamento inicial. Existem outras soluções para corrigir isso sem um CDN? E qual CDN “real” você recomendaria?
A Cloudflare atua como uma CDN ao se inserir no caminho como um proxy reverso e armazenar em cache solicitações de ativos.
Qualquer CDN semelhante ao S3 que transfira ativos para outro URL acelerará a entrega de ativos sem ficar no caminho entre o cliente e o servidor. Há vários exemplos aqui no Meta sobre outras implementações de CDN.