云计算问答

提问时间:2021/04/13 21:57:44
395 次查看,  2 个回答
1313天之前回复

可能是cdn缓存规则设置不合理,或者是服务器缓存规则。还有资源冷门,网站访问量低,缓存命中率也会慢慢下降的。
参考CDN帮助文档:https://help.aliyun.com/product/64812.html

1313天之前回复
(1)客户端请求是动态请求 如果请求是动态请求,则无法命中 CDN 缓存。当客户端访问这些动态内容时, 每次都需要访问用户的服务器,由服务器动态生成实时的数据并返回给客户端。
(2)源站返回强制不缓存的 HTTP 头 当源站配置了以下响应头时,即使配置了缓存规则,CDN 也不会对该资源进行 缓存,因为这些响应头在 CDN 缓存规则中的优先级较高。
● 1: 有 s-maxage=0、max-age=0、no-cache、no-store、private 中 的 任一种。
● 2:有 s-maxage 或 s-maxage=0。
● 3:有 Pragma: no-cache。 如下图,源站响应了 no-cache 和 private 导致 CDN 无法缓存,X-Cache 字 段为 MISS,X-Swift-CacheTime 为 0。这种情况需要源站去掉这个 HTTP 响应 头,具体可以参见 Nginx 缓存策略设置、Apache 缓存策略的设置、IIS 缓存策略的 设置方法。
(3)未返回响应头 Etag 和 Last-modified 当 CDN 未配置缓存规则时,如果静态文件未返回响应头 Etag 和 Last-modified,则该静态文件不能缓存在 CDN 节点上。解决方案就是源站配置返回 Etag 和 Last-modified 或者直接在 CDN 上配置缓存规则。
(4)全站加速未配置静态加速 全站加速默认走了动态加速,动态加速是每次回源的。如果需要走缓存的话,需 要配置静态加速。目前配置静态加速支持按照文件类型、URI 以及路径方式配置。如 果全站加速没有配置静态加速的情况,则都是走动态加速的,全站加速节点响应的HTTP 头没有 X-Cache、X-Swift-CacheTime 等字段的,

添加回答