华为云计算 云知识 CDN缓存命中率低什么原因?怎么解决?
CDN缓存命中率低什么原因?怎么解决?

 【最新活动】

CDN缓存命中率低,会导致源站压力大,静态资源访问效率低。

您可以针对导致CDN缓存命中率低的具体原因,选择对应的优化策略,来提高CDN的缓存命中率。

1、合理设置缓存过期时间

CDN加速 的本质是缓存加速,把源站资源缓存在遍布全球的节点上,用户可以就近从边缘节点获取资源,从而达到加速的效果。您可以通过CDN控制台合理设置缓存过期时间来提高缓存命中率,建议如下:

对于不经常更新的静态文件(如图片类型、应用下载类型等),建议您将缓存时间设置为1个月以上。

对于频繁更新的静态文件(如JS、CSS等),您可以根据实际业务情况设置。

对于动态文件(如PHP、JSP、ASP等),建议您将缓存时间设置为0,即不缓存

     说明:如果源站设置了s-maxage=0、max-age=0、no-cache、no-store、private,CDN侧同时开启了“缓存遵循源站”功能(此功能默认关闭),CDN节点将无法缓存源站资源,导致频繁回源。

 

2、开启过滤URL参数

目前大多数的网页请求都携带URL参数信息,参数以“?”开始,如果参数没有包含重要信息(如版本信息等),是否携带该参数访问不会影响用户获得正确的资源,可以选择开启“忽略URL参数”功能,提高缓存命中率,提升分发效率

配置示例

终端用户首次访问URL“http://www.example.com/1.txt?test1”时,CDN无缓存,回源请求资源;第二次访问“http://www.example.com/1.txt?test2”时,由于开通了“忽略URL参数”功能,所以“?”之后的参数不匹配,直接命中缓存“http://www.example.com/1.txt”。

终端用户首次访问URL“http://www.example.com/1.txt?test1”时,CDN无缓存,回源请求资源;第二次访问“http://www.example.com/1.txt?test2”时,由于没有开通“忽略URL参数”功能,所以“?”之后的参数也需要匹配,要重新回源请求“http://www.example.com/1.txt?test2”。

 

3、预热URL

CDN可以通过缓存预热将源站资源主动缓存到CDN节点,用户访问时就能直接从CDN节点获取到最新的资源。

当您的域名初次接入CDN加速、活动发布时您可以将源站资源预热到CDN节点,用户访问资源时直接从CDN节点获取,从而提升CDN的缓存命中率。

典型场景

初次接入CDN:域名初次接入CDN时,节点暂未缓存源站资源,此时,您可以将源站资源预热至CDN节点。后续用户访问资源将直接从就近的CDN节点获取资源,提升访问速度。

安装包发布新版本安装包或是升级包发布前,提前将资源预热至CDN节点。正式上线后,海量用户的下载请求将直接由 全球加速 节点响应,提升下载速度的同时,大幅度降低源站压力。

运营活动运营活动发布前,提前将活动页涉及到的静态资源预热至CDN节点。活动开始后,用户访问中所有静态资源均由加速节点响应,海量带宽储备保障用户服务可用性,提升用户体验。

 

4、尽量避免目录刷新和URL携带动态参数

缓存资源需要更新时,尽量避免刷新目录

当源站某个资源更新时,一般需要通过刷新相应的URL来强制节点缓存资源过期。刷新目录会将目录内所有的资源全部置为过期,用户下次访问时将无法命中缓存,全部回源站请求资源,因此尽量避免刷新整个目录,尤其慎重刷新根目录。

避免在URL中携带动态参数

如果您的URL中包含动态参数,如时间戳,CDN无法缓存该资源,导致频繁回源。


版权声明:本文章文字内容来自第三方投稿,版权归原始作者所有。本网站不拥有其版权,也不承担文字内容、信息或资料带来的版权归属问题或争议。如有侵权,请联系contentedit@huawei.com,本网站有权在核实确属侵权后,予以删除文章。

上一篇:瞰景Smart3D实景三维建模软件丨安装 OBS Browser 软件 下一篇:云日志服务与其他云服务的关系

内容分发网络 CDN 

 

内容分发网络(CDN)将源站内容分发至靠近用户的加速节点,使用户可以就近获得所需的内容,解决Internet网络拥挤的状况,提高用户访问的响应速度和成功率,从而提升您业务的使用体验

 

CDN中国大陆全时流量包低至1折、全站加速请求数包6.5折、视频直播低至5折、视频点播低至4.2折,还可领取专场1800元代金券大礼包,享折上9折