静态 CDN 加速,命中率过低-阿里云开发者社区

开发者社区> 张医博> 正文

静态 CDN 加速,命中率过低

简介: 分析 CDN 加速命中率原因,帮用户提高加速使用效果
+关注继续查看

背景

如下图用户在 CDN 加速的静态业务域名命中率出现低于 50% 甚至更低的情况,众所周知 CDN 起到加速的静态资源的功能,核心是将源站的资源缓存到靠近用户的就近节点。如果发生命中率过低的情况意味用户的每次请求都会通过 CDN 回源,公网链路的不稳定可能导致加速的效果反而变差,如何解决命中率过低的问题,首先要分析原因才能找到对策,我们一起来探讨下。

image.png

启动特殊配置

检查是否开启强制 range 回源

目前各家云 CDN 厂商都支持了 range 强制回源的功能,此功能开启后,用户的所有回源请求将按照各厂商自己设定的 range size 切片回源。 range 的功能也有 2 面性,对于原站是大文件的(超过 50M) 场景,range 分片可以有效的降低大文件下载时遇到的网络拥塞,以及原站为窄带的情况。但如果原站的文件平均 size 相对较小,比如在 10M 以内的文件,开启强制 range 回源没有优化效果,反而降低回源的效率,扩大回源,使命中率降低。

检查是否开启忽略参数缓存

当用户的业务经常在 uri 带变量,并且不同用户请求时都有不同的 parameter 变量时,CDN 会按照 URL hash 后的值存储,每一条不同的 uri 都会触发回源,CDN 就变成透传的组件失去了缓存的意义。遇到这种情况,我们建议可以开启 CDN 忽略参数缓存的功能,将 uri "?" 以后的资源去掉后在 CDN 缓存。但如果原站或者用户对 "?" 后的参数强依赖,建议切换到 全站加速(DCDN) 产品,通过智能选路回源更灵活,CDN 是固定 边缘节点、中心节点 双层回源,对于强依赖 "?" 变量的访问效果略低于全站加速(DCDN),智能选路是动态的网络质量检测来规划回源路径,可能是 边缘节点直接回源,也可以是边缘节点回到中心节点再回源。

检查源站是否开启多副本缓存

多副本缓存,是服务端(源站) 针对用户请求带有不同 Accept-Encoding 头,源站能响应不同的 Vary 头,且 CDN 会按按照不同的 Vary 头进行缓存。带有不同 vary 头的请求会增加回源的次数,导致命中率降低。

检查缓存配置是否合理

  • 静态资源是否配置了明显的缓存头,比如 cache-control ,max-age ,expire 等
  • 源是否设置过缓存头,CDN 默认按照源站的缓存头优先级缓存,如果源站设置了不合理的缓存头,比如 max-age=0 ,则覆盖 CDN 的缓存。

检查业务 QPS 是否正常

CDN 的缓存规则默认是按照用户配置的缓存时间进行缓存。但节点的磁盘空间是有限的,在高频用户访问的情况下,缓存文件会按照冷文件的冷热程度汰换,访问频率较低的文件会被访问热点的文件汰换掉造成回源。遇到这种情况一般都是只有十几个 QPS 的域名,建议用户定义对自己域名下的资源进行预热,保证是命中在节点的。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
8469 0
阿里云服务器端口号设置
阿里云服务器初级使用者可能面临的问题之一. 使用tomcat或者其他服务器软件设置端口号后,比如 一些不是默认的, mysql的 3306, mssql的1433,有时候打不开网页, 原因是没有在ecs安全组去设置这个端口号. 解决: 点击ecs下网络和安全下的安全组 在弹出的安全组中,如果没有就新建安全组,然后点击配置规则 最后如上图点击添加...或快速创建.   have fun!  将编程看作是一门艺术,而不单单是个技术。
10271 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
12144 0
【 CDN 最佳实践】CDN 加速 OSS 常见问题及处理思路
CDN加速OSS是常见的站点动静分离的方式,可以实现将静态资源存储在OSS上,并通过CDN加速OSS实现静态资源的访问加速效果。但是在实际使用的过程中可能会出现使用方法以及配置上的问题导致使用上出现难题。本文档主要就CDN加速OSS的配置以及各注意事项进行描述已解决本使用场景中遇到的问题。
609 0
时序数据合并场景加速分析和实现 - 复合索引,窗口分组查询加速,变态递归加速
标签 PostgreSQL , 数据合并 , 时序数据 , 复合索引 , 窗口查询 背景 在很多场景中,都会有数据合并的需求。 例如记录了表的变更明细(insert,update,delete),需要合并明细,从明细中快速取到每个PK的最新值。 又比如有很多传感器,不断的在上报数据,要快速的取出每个传感器的最新状态。 对于这种需求,可以使用窗口查询,但是如何加速,如何快速的取出批量
1526 0
+关注
张医博
喜欢钻研新的语言,动手实践自己想要学会的知识。
116
文章
0
问答
来源圈子
更多
作为全球云计算的领先者,阿里云为全球230万企业提供着云计算服务,服务范围覆盖200多个国家和地区。我们致力于为企业、政府等组织机构提供安全可靠的云计算服务,给用户带来极速愉悦的服务体验。
+ 订阅
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载