Olá a todos,
Tenho a seguinte configuração de CDN:
- um pullzone para os arquivos JS
- um pullzone para os logotipos e gráficos da página inicial (que são acessados com frequência)
- um pullzone para os ativos do S3 (no Digital Ocean Spaces)
Uso o BunnyCDN. Meu tráfego do fórum é de aproximadamente 85% na América do Norte, 5% no Reino Unido/França e 10% no Sudeste Asiático.
Para os dois primeiros pullzones, utilizo todos os 34 servidores de borda da CDN ao redor do mundo, pois são arquivos acessados frequentemente, o que me permite manter a latência baixa, ao mesmo tempo em que mantenho as taxas de cache/acerto relativamente altas (92% e 99,8%, respectivamente). Idealmente, gostaria de aumentar a taxa de cache para os arquivos JS, mas o desafio é que os data centers com baixo tráfego apresentam taxas de cache ruins devido à baixa frequência de acesso a esses arquivos JS (algumas vezes por mês).
Para o terceiro pullzone de ativos do S3, utilizo 10 servidores de borda na América do Norte e na Europa, pois os ativos gerados pelo usuário no S3 são às vezes acessados com pouca frequência, então não prefiro ter um número muito alto de CDNs, o que poderia reduzir a taxa de acerto/cache e, por extensão, o tempo de acesso. Idealmente, gostaria de ter um servidor de borda no Sudeste Asiático, mas a CDN não permite que eu selecione especificamente quais data centers posso usar. Minha taxa de acerto/cache no BunnyCDN é de cerca de 78%, o que achei decente, pois, por exemplo, alguém acessando uma imagem original em tamanho completo em vez de apenas visualizar a versão otimizada, ou uma referência de mecanismo de busca para uma discussão antiga e pouco acessada, certamente reduzirá essa porcentagem. Eu usava o Cloudfront anteriormente, e a taxa de acerto/cache era de cerca de 55%, mas isso poderia ser uma função do Cloudfront ter muitas localizações de servidores de borda para sua CDN, ou talvez meu tráfego do fórum seja relativamente pequeno para eles. (Mudei do Cloudfront por causa do custo, já que somos um fórum de hobby com receita mínima.)
A pergunta para o grupo é: vocês têm alguma estratégia ou método que permita manter a taxa de acerto/cache alta? Que tipo de taxa de acerto/cache vocês estão obtendo?
Alguma sugestão para eu ajustar minha configuração e aumentar essa porcentagem? Existem CDNs econômicas que permitem selecionar quais localizações de servidores de borda usar? Posso fazer isso por meio de regras de borda? Se sim, posso escolher apenas cinco para manter a taxa de cache alta: Costa Oeste dos EUA, Costa Leste dos EUA, Sul dos EUA, Reino Unido e Singapura, já que é onde meu tráfego está concentrado.
Uma ideia seria manter os ativos otimizados servidos pelo S3 e os ativos originais servidos pelos espaços DO, mas a separação não é viável por padrão no software.
Alguma outra sugestão?