Hola a todos,
Tengo la siguiente configuración de CDN:
- un pullzone para los archivos JS
- un pullzone para los logotipos y gráficos de la página de inicio (que se acceden con frecuencia)
- un pullzone para los activos de S3 (en Digital Ocean Spaces)
Utilizo BunnyCDN. Mi tráfico del foro es aproximadamente 85% de América del Norte, 5% del Reino Unido/Francia y 10% del Sudeste Asiático.
Para los dos primeros pullzones, utilizo las 34 servidores perimetrales (edge servers) de la CDN en todo el mundo, ya que son archivos de acceso frecuente, lo que me permite mantener una latencia baja mientras mantengo una tasa de caché/aciertos relativamente alta (92% y 99.8% respectivamente). Idealmente, me gustaría aumentar la tasa de caché para los archivos JS, pero el desafío es que los centros de datos con poco tráfico tienen una mala tasa de caché debido a lo infrecuente del acceso a esos archivos JS (unas pocas veces al mes).
Para el tercer pullzone de activos de S3, utilizo 10 servidores perimetrales en América del Norte y Europa, ya que los activos generados por el usuario en S3 a veces se acceden con poca frecuencia, por lo que no prefiero tener un número muy alto de CDNs que reduzcan la tasa de aciertos/caché y, por extensión, el tiempo de acceso. Idealmente, me gustaría tener un servidor perimetral en el Sudeste Asiático, pero la CDN no me permite seleccionar manualmente qué centro de datos puedo utilizar. Mi tasa de aciertos/caché en BunnyCDN es de aproximadamente 78%, lo que consideré decente porque, por ejemplo, alguien que accede a una imagen original de tamaño completo en lugar de solo ver la optimizada, o una referencia de un motor de búsqueda a una discusión antigua y de acceso infrecuente, definitivamente reducirá ese porcentaje. Anteriormente usé Cloudfront, y la tasa de aciertos/caché era de aproximadamente 55%, pero eso podría deberse a que Cloudfront tiene muchas ubicaciones de servidores perimetrales para su CDN, o a que el tráfico de mi foro es relativamente pequeño para ellos. (Me mudé de Cloudfront debido al costo, ya que somos un foro de aficionados con ingresos mínimos.)
La pregunta para el grupo es: ¿tienen alguna estrategia o método que les permita mantener alta la tasa de aciertos/caché? ¿Qué tipo de tasa de aciertos/caché están obteniendo?
¿Alguna sugerencia para que ajuste mi configuración y aumente el porcentaje? ¿Hay alguna CDN económica que permita seleccionar manualmente qué ubicaciones de servidores perimetrales utilizar? ¿Puedo hacer eso mediante reglas perimetrales (edge rules)? De ser así, podría simplemente seleccionar cinco para mantener alta la tasa de caché: la costa oeste de EE. UU., la costa este de EE. UU., el sur de EE. UU., el Reino Unido y Singapur, ya que es donde se concentra mi tráfico.
Una idea es mantener los activos optimizados servidos desde S3 y los activos originales desde los espacios de DO, pero la separación no es factible por defecto desde el software.
¿Alguna otra idea?