2011-01-27 20 views
5

Estoy usando Cloudfront CDN de Amazon para activos estáticos. Couldfront emite un Etag para cada solicitud GET. He establecido metadatos para todos mis activos con información específica de control de caché, que (según tengo entendido) hace que el Etag sea superfluo. Pruebo el rendimiento de carga de mi sitio en WebPageTest.org, y me suena a estos Etags innecesarios. Si de hecho son innecesarios, ¿alguien sabe de qué manera suprimir su emisión?¿Puedo evitar que el encabezado de Etag se emita en AWS Cloudfront?

+0

¿Alguna actualización sobre esto? ETag está forzando múltiples solicitudes de obtención (incluso cuando se establece Vencimiento y máximo de edad). –

Respuesta

0

Si Cloudfront ofrece Etags consistentes independientemente de qué nodo descargue el activo, entonces esto debería minimizar el problema. He probado esto haciendo lo siguiente:

Resolviendo a Cloudfront desde dos ubicaciones diferentes, verifiqué que los CNAME resolvieron conjuntos de direcciones IP completamente diferentes. El primer servidor se resolvió con un conjunto de 8 direcciones IP en el centro de datos LAX de Amazon (lax1.cloudfront.net), el segundo servidor se resolvió con 8 direcciones IP en el centro de datos SFO de Amazon (sfo4.cloudfront.net).

Seleccioné un objeto en nuestra distribución de Cloudfront e hice una "wget ​​--server-response" desde cada ubicación, y luego comparé los resultados. Hice esto para cada centro de datos varias veces para obtener respuestas de diferentes direcciones IP en cada centro de datos.

Los resultados fueron que los Etags eran los mismos, con respecto a qué centro de datos conecté, y qué dirección IP respondió desde ese centro de datos.

me di cuenta de que las siguientes cabeceras difirió entre los servidores x-AMZ-id-2 x-AMZ-petición-id Edad X-Amz-CF-Id Via

espero que esto ayude ,

David

[editado - comentario sea eliminado en eTags sobre la base de una buena corrección a continuación]

+3

Esto simplemente no es cierto, los monitores de rendimiento web lo molestan acerca de Etag y los encabezados Last-Modified porque estos dos provocan recorridos innecesarios al servidor incluso cuando tiene un límite máximo muy largo en el encabezado Cache-Control. Si el Etag (y el último modificado) se utilizan correctamente, el resultado de estos viajes de ida y vuelta sería el código de estado 304. Pero la diferencia aquí es de 300ms frente a 2ms (caché del navegador) y puede acumularse si usa muchos activos estáticos (css , js, imágenes). – Evgeny

1

Si está utilizando un Ser origen Ver e inhabilitar ETag en el servidor de origen, CloudFront no agregaría ETag en sus encabezados. Lo verifiqué deshabilitando ETag en mi servidor de origen.

+0

¿Hay alguna manera de suprimir Etag y Last-Modified cuando se usa CloudFront directamente desde S3? – saver

Cuestiones relacionadas