CDN缓存不命中排查

简介: CDN的作用在于就近缓存,缓存命中情况下对应资源的访问速度会相对较快,加速效果较好;如果CDN缓存命中率差,对应的CDN加速效果是相对不理想的,故提升CDN缓存命中率对于CDN加速效果有着重大影响,本文旨在让读者可以根据案例定位对应资源为何缓存不命中,如何才能缓存命中提高缓存命中率

场景:CDN的作用在于就近缓存,缓存命中情况下对应资源的访问速度会相对较快,加速效果较好;如果CDN缓存命中率差,对应的CDN加速效果是相对不理想的,故提升CDN缓存命中率对于CDN加速效果有着重大影响,本文旨在让读者可以根据案例定位对应资源为何缓存不命中,如何才能缓存命中提高缓存命中率。

案例一:源站设置了no cache,private
(1)Cache control设置nocache, private
1

c3a62358e767017d3d554908ee42abb32dfca9e4

解决:取消源站cache contorl:nocache 或者private的设置

(2) Pragma 设置 nocache, private,标注:Pragma行是为了兼容HTTP1.0,作用与Cache-Control是一样的

a2f2d57017a63c6a8abc84346a9d2773f65b882c

解决:取消源站的Pragma: no-cache设置

案例二:cdn设置对应规则缓存时间为0

6461875cca4ccf6e7e34f309e2aff7d88f02fc14

排查
1)源站未设置nocache private等;
2)源站存在Cache-Control缓存头
3)查CDN缓存规则配置:
3

问题定位:cdn配置了缓存时间为0
解决:取消该cdn缓存规则的配置

案例三:cdn 未设置缓存规则,并且源站也未抛出与缓存相关的头如cache control,Expires,(Last-Modified/If-Modified-Since, Etag/If-None-Match要配合Cache-Control使用)等
2

解决:cdn设置缓存规则;
建议: 建议设置目录缓存 / ,权重设置的低一点,来保证全站缓存
参考:https://help.aliyun.com/document_detail/27136.html?spm=5176.doc27140.6.139.ddB4Tw

案例四:源站设置:cache-control:max-age=0
5

解决:取消源站的max-age=0,cdn设置缓存规则;
建议: 建议设置目录缓存 / ,权重设置的低一点,来保证全站缓存
参考https://help.aliyun.com/document_detail/27136.html?spm=5176.doc27140.6.139.ddB4Tw

案例五:cdn配置缓存规则,源站未设置nocache,private;Vary: Accept-Encoding, Cookie导致缓存不能命中,注意:这边x-cache 是有对应时间的,但是每次访问还是miss的
4

排查
1)源站未设置nocache,private;
2)源站存在cache-control等头;
3)cdn未设置缓存规则:缓存时间为0;
4)cdn返回的response头包含了 X-Swift-CacheTime:7200
5)源站返回的vary头包含cookie每次刷新cookie的值都在变,所以cache命中不了
解决:取消源站的Vary: Accept-Encoding, Cookie

相关文章
|
9月前
|
弹性计算 缓存 运维
【运维知识进阶篇】用阿里云部署kod可道云网盘(DNS解析+CDN缓存+Web应用防火墙+弹性伸缩)(三)
【运维知识进阶篇】用阿里云部署kod可道云网盘(DNS解析+CDN缓存+Web应用防火墙+弹性伸缩)(三)
139 0
|
9月前
|
弹性计算 缓存 运维
【运维知识进阶篇】用阿里云部署kod可道云网盘(DNS解析+CDN缓存+Web应用防火墙+弹性伸缩)(二)
【运维知识进阶篇】用阿里云部署kod可道云网盘(DNS解析+CDN缓存+Web应用防火墙+弹性伸缩)(二)
143 0
|
9月前
|
缓存 弹性计算 运维
【运维知识进阶篇】用阿里云部署kod可道云网盘(DNS解析+CDN缓存+Web应用防火墙+弹性伸缩)(一)
【运维知识进阶篇】用阿里云部署kod可道云网盘(DNS解析+CDN缓存+Web应用防火墙+弹性伸缩)
190 0
|
存储 缓存 NoSQL
短链系统设计性能优化-缓存提速及CDN
如何提高响应速度,和直接打开原链接一样的效率。 明确,这是个读多写少业务。
129 0
|
缓存 CDN
CDN添加缓存配置
CDN添加缓存配置自制脑图
139 0
CDN添加缓存配置
|
3月前
|
域名解析 网络协议 安全
阿里云CDN
本文介绍阿里云CDN产品中涉及的基本概念,便于您更准确地理解和使用CDN产品。
71 5
|
14天前
|
缓存 边缘计算 网络协议
阿里云CDN介绍
阿里云CDN介绍
27 0
|
28天前
|
缓存 网络协议 Serverless
阿里云CDN简介和使用流程
本文档介绍了如何在阿里云上配置和使用CDN服务。首先,需要注册并实名认证阿里云账号,然后购买CDN服务。接着,添加要加速的域名,通过CDN控制台和阿里云云解析DNS进行配置,并验证CNAME设置是否生效。之后,配置源站信息,可以选择OSS域名、IP、源站域名或函数计算域名作为源站。最后,设置缓存规则,如缓存过期时间、状态码过期时间、自定义HTTP响应头等,以优化资源访问效率。
阿里云CDN简介和使用流程
|
1月前
|
弹性计算 Ubuntu 网络协议
阿里云CDN功能Quick Start
本文通过在国外Region ECS创建ECS,通过ECS部署应用,然后使用CDN加速部署应用,全链路测试体验阿里云CDN通过IP加速服务的功能。
|
2月前
|
安全 网络安全 CDN
阿里云CDN HTTPS 证书配置流程
阿里云CDN HTTPS 证书配置流程
218 1