提高CDN缓存命中率 本实例结合天翼云CDN运营团队积累的丰富运营经验,为客户推荐配置方案,帮助客户提高CDN缓存命中率,提升用户访问体验。 背景信息 CDN缓存命中率低,会导致源站压力大,静态内容访问效率低。您可以针对导致CDN缓存命中率低的具体原因,选择对应的优化策略,提高CDN的缓存命中率。目前天翼云CDN支持流量命中率、请求命中率的统计与查询。 统计方式: 流量命中率 1 回源流量/流量(5分钟粒度)。 请求命中率 1 回源请求数/请求数(5分钟粒度)。 查看流量命中率/请求命中率 用户可以通过天翼云CDN控制台查看流量命中率/请求命中率。查询路径:CDN控制台>数据分析>CDN加速用量>用量分析>命中率。 优化缓存命中率 CDN加速的本质是缓存加速,把源站内容缓存在遍布全球的节点上,用户可以就近从边缘节点获取内容,从而达到加速的效果。可以通过如下几个手段提升缓存命中率。 1. 合理设置缓存过期时间 缓存过期时间如果设置不合理,比如对不常更新的文件设置较短的缓存时间,导致文件频繁过期,当有用户请求到节点时频繁需要回源站校验后才能响应,会增加响应时延,因此建议: 不常更新的静态文件(例如,图片类型、应用下载、点播视频类型等),建议设置较长时间。 频繁更新的静态文件(例如,JS、CSS、XML、HTML等),根据实际业务情况设置。 动态文件(例如,PHP、JSP、ASP、ASPX、DO等),建议设置为0s,即不缓存。 配置路径:CDN控制台>域名管理>域名列表>选定具体域名 ,单击“编辑”>缓存配置>缓存过期时间>强制缓存。功能介绍文档,详情请见:缓存过期时间设置。 2. 开启去问号缓存 目前大多数的网页请求都携带URL参数信息,参数以“?”开始,如果参数没有包含重要信息(如版本信息等),是否携带该参数访问不会影响用户获得正确的内容,可以选择开启“去问号缓存”功能,提高缓存命中率,提升分发效率。 效果差异说明: 开启“去问号缓存”: 用户首次访问“ 用户第二次访问“ 关闭“去问号缓存”: 用户首次访问“ 用户第二次访问“ 配置路径:CDN控制台>域名管理>域名列表>选定具体域名,单击“编辑”>缓存配置>缓存过期时间>去问号缓存。功能介绍文档,详情请见:缓存过期时间设置。 3. 文件预取 文件预取的原理是通过事前主动下发预取指令到CDN,由CDN自动触发向客户源站发起对应内容的请求,提前把文件缓存在CDN节点,后续访问到CDN时,缓存可以直接命中,既提升命中率,又缓解源站因新内容发布而导致的回源压力问题。 适用场景:首次接入、新内容发布、促销活动。 使用建议: 首次接入CDN:域名首次接入CDN时,节点暂未缓存源站内容,此时,您可以将源站热门内容预取至CDN节点。后续用户访问内容将直接从就近的CDN节点获取内容,提升访问速度。 APP或软件安装包发布:新版本APP或软件安装包发布前,提前将安装包预取至CDN节点。正式上线后,海量用户的下载请求将直接由全球加速节点响应,提升下载速度的同时,大幅度降低源站压力。 促销活动:促销活动发布前,提前将活动页涉及到的静态内容预取至CDN节点。活动开始后,用户访问的所有静态内容均由加速节点响应,海量带宽储备保障用户服务可用性,提升用户体验。 4. 开启分片回源 功能介绍文档,详情请见:分片回源,适用于APP、应用程序下载以及音视频点播等较大文件的内容分发场景。