Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services 为什么';t CloudFront返回这些相同URL的缓存版本';s_Amazon Web Services_Amazon Cloudfront - Fatal编程技术网

Amazon web services 为什么';t CloudFront返回这些相同URL的缓存版本';s

Amazon web services 为什么';t CloudFront返回这些相同URL的缓存版本';s,amazon-web-services,amazon-cloudfront,Amazon Web Services,Amazon Cloudfront,我在eb上有一个服务器(运行tomcat应用程序),我还有一个CloudFront缓存设置来缓存重复的请求,这样它们就不会进入服务器 我有两种行为 /artist/search /Default(*) 默认值(*)设置为: Allowed Http Methods :GET,PUT Forward Headers :None Headers :Customize Timeout :84,0000 Forward Cookie

我在eb上有一个服务器(运行tomcat应用程序),我还有一个CloudFront缓存设置来缓存重复的请求,这样它们就不会进入服务器

我有两种行为

/artist/search
/Default(*)
默认值(*)设置为:

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
因此没有超时,它只转发查询字符串

但是,通过查看localhost\u access\u日志文件,我可以看到我的服务器id接收到重复的请求:

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
我还可以从我的CloudFront Popular Objects页面上看到,有很多对象有时命中,有时未命中,包括这些艺术家URL,我只希望有一个未命中,其余的都会命中

为什么会这样

更新
更仔细地看,似乎(尽管不确定这一点)随着艺术家页面大小的增加,缓存的可能性会降低,但更奇怪的是,即使主艺术家页面更大,它似乎也会记录该页面中引用的所有内容,如图标(PNG),但当艺术家页面很小时则不会。这对我来说是最糟糕的结果,因为在服务器上创建大型艺术家页面需要更多的处理—这就是为什么我首先使用cloudfront来尝试避免重新创建这些页面。

您看到的是两个原因的组合:

  • 每个单独的CloudFront POP分别请求对象,因此,如果您的查看器位于不同的位置,您可以期望对您的源服务器进行多个查询(这些查询将是未命中的)
  • 我不确定您正在查看的报告日期范围,但CloudFront最终会驱逐不太流行的对象,以便在缓存中为新对象腾出空间

  • 啊哈,所以每个位置至少有一次命中,我没有意识到!Zakharendo那么每个位置都有缓存吗?当我查看CloudFront中的流行对象时,我看到的是什么,一个或多个位置的组合,以及缓存的大小。流行对象报告在所有CloudFront位置上聚合