阿里云首页

URL的传递参数为变量导致CDN缓存命中率低

问题描述

在使用CDN时,CDN的缓存命中率很低。在浏览器中,按 F12 键,在访问页面中,单击 Network,然后在 Name 选项中,单击 Headers,在 Response Headers 模块中,确认URL响应头信息中 X-Cache MISS,则表示没有命中CDN缓存。但是在页面中,对应文件的URL响应头信息的X-Cache为HIT。

注:本案例以Chrome浏览器为例。

 

问题原因

没有开启CDN的过滤参数功能。

 

解决方案

以下是关于CDN缓存命中率的说明以及CDN命中率低的相关解决方案。

 

CDN命中率说明

  • CDN命中表示可以直接通过缓存获取到需要的数据。
  • CDN没有命中表示无法直接通过缓存获取需要的数据,需要再次查询数据库或者执行其它的操作。一般情况下,可能是由于缓存中根本不存在所需数据,或者缓存已经过期。

 

开启过滤参数功能

  1. 可能由于没有开启CDN的过滤参数功能,导致URL中传递参数为变量。以如下URL为例,其对应的文件为ArrowScene.ccbi,但是每一次打开该文件时,URL中“?_t=”字段后的数字为变量,所以CDN并不会缓存该数据。
    http://xxxxxx.com/movie/XSHD/res/ccb/ArrowScene.ccbi?_t=xxxxxxxxxxxxxx
  2. 登录CDN控制台,开启过滤参数功能。关于如何开启过滤参数功能,请参考过滤参数
    注:开启该功能后,“?_t=”字段后的参数将被忽略。

 

适用于

  • CDN

 

如果您的问题仍未解决,您可以在阿里云社区免费咨询,或提交工单联系阿里云技术支持。

首页 URL的传递参数为变量导致CDN缓存命中率低