Why doesn't CloudFront return the cached version of these identical URL's?

随声附和 提交于 2020-01-16 18:33:47

问题


I have a server on eb (running a tomcat application), I also have a CloudFront cache setup to cache duplicate requests so that they dont go to the server.

I have two behaviours set up

/artist/search
/Default(*)

and Default(*) is set to:

Allowed Http Methods  :GET,PUT
Forward Headers       :None
Headers               :Customize
Timeout               :84,0000
Forward Cookies       :None
Forward Query Strings :Yes
Smooth Streaming      :No
Restricted View Access:No

so there is no timeout and the only thing it forwards are queries strings

Yet I can see from looking at the localhost_access_log file that my server id receiving duplicate requests:

127.0.0.1 - - [22/Apr/2015:10:58:28 +0000] "GET /artist/cee3e39e-fb10-414d-9f11-b50fa7d6fb7a HTTP/1.1" 200 1351114
127.0.0.1 - - [22/Apr/2015:10:58:29 +0000] "GET /artist/cee3e39e-fb10-414d-9f11-b50fa7d6fb7a HTTP/1.1" 200 1351114
127.0.0.1 - - [22/Apr/2015:10:58:38 +0000] "GET /artist/cee3e39e-fb10-414d-9f11-b50fa7d6fb7a HTTP/1.1" 200 1351114

I can also see from my CloudFront Popular Objects page there are many objects that hit sometimes and miss sometimes including these artist urls, I was expecting only one miss and there all the rest to be hits

Why would this be ?

Update Looking more carefully it seems (although not sure about this) that less likely to be cached as the size of the artist page increases, but extra weirdly even if the main artist page is larger it also seems to reget everthing referenced in that page such as icons (pngs) but not when the artist page is small. This is the worst outcome for me because it is the large artist pages that need more processing to create on the server - this is why I using cloudfront to try and avoid the recreation of these pages in the first place.


回答1:


What you are seeing is a combination of two reasons:

  1. Each individual CloudFront POP requests object separately, so if your viewers are in different locations you can expect multiple queries to your origin server (and they will be misses)
  2. I'm not sure about report date range you are looking at, but CloudFront eventually evicts less popular objects to make room in cache for new objects


来源:https://stackoverflow.com/questions/29796060/why-doesnt-cloudfront-return-the-cached-version-of-these-identical-urls

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!