缓存FAQ

更新时间:2020-11-03 15:04:40

1. CDN是如何进行缓存的?

URL短时间内被密集访问,才能快速缓存下来。根据当时的机器负载情况,被访问URL达到一定热度阈值后才会被缓存。因此,CDN的缓存取决于您的用户访分布,区域内访问频率等影响URL访问热度的因素。

2. 网宿CDN节点的缓存多久会更新?

网宿CDN节点的缓存内容不是实时更新的。
只有当缓存内容到期后才会回源拉取最新的内容。您可以通过设置缓存过期时间规则或者提交刷新请求来实现缓存内容的更新。

3. 网宿CDN默认的缓存规则是什么?

当您添加加速域名不使用缓存策略时,系统启用以下默认缓存规则:

  • 缓存时间可用s/m/h/d分别代表秒/分/时/日
  • 图片小文件:pg、png、html、txt等静态及其他文件,缓存12-24h;aspx、jsp、php、do、asp、dwr、cgi、fcgi、action、ashx、axd、json不缓存。
  • 下载大文件:7z、apk、rar、iso、exe、zip等下载类文件缓存30d;cgi类文件缓存10m;aspx、jsp、php、do等动态文件不缓存;其他文件缓存12-24h。
  • 流媒体点播:avi、f4v、mp4、ts、wma、wmv等音视频及其他文件缓存12-24h;flv、zip、rar、exe等文件缓存30d;aspx、jsp、php、do等动态文件不缓存。

4. 为什么访问A节点的时候文件已经有缓存,访问B节点的时候文件却又没缓存, 网宿CDN的节点不会进行资源的同步的吗?

CDN节点之间不会互相进行资源同步。需要先有用户访问才会触发节点回源,获取访问的资源并缓存。A 节点已经有用户访问过,URL的文件副本被缓存下来,而B节点没有,就会有这样的现象。

5. 如何设置CDN不缓存文件?

若要设置某文件不缓存,则将该文件的缓存时间设为0s,“忽略源的不缓存头”设置为“否”。即CDN节点不缓存该资源,用户每次发送访问请求至CDN 节点时,CDN节点都需回源站拉取相应资源。

6. 已设置文件不缓存,网宿CDN还会计算流量吗?

会。
域名的流量都是从网宿CDN节点流出的,设置不缓存后,如有用户访问,节点会回到源站去拉取,但最终文件还是从CDN节点返回给用户,所以即使缓存时间设置为0s,最终也会计算流量。

7. 网宿CDN缓存时间要怎么设置?

缓存时间可用s/m/h/d分别代表秒/分/时/日,具体时间长短,可见根据您网站的更新状况来进行自由填写。如果是更新较为频繁更新的文件,则建议缓存时间设置较短;如果文件基本不更新,则可以将缓存时间设置相对长一些。 一般情况下可保持默认状态。

8. 什么情况下网宿CDN会不缓存?

一般情况下,CDN除了对于php、jsp、do、dwr、asp、jso等动态文件不缓存外,其他文件都可以缓存。
具体而言,在以下几种情况,CDN都不会对文件进行缓存:

  • php、aspx、asp、jsp、do、dwr、cgi、fcgi、action、ashx、axd、json等动态文件。
  • 在响应头中带set-cookie信息。
  • 在响应头中带Location信息。
  • 源站响应头中有声明该文件不需缓存的设置(如cache-control的配置:private、no-cache、no-store),并在CDN的缓存规则中“忽略源的不缓存头”中设置为“否”,则不缓存。若需缓存,请在“忽略源的不缓存头”中设置为“是”。
  • 源站响应头中缺少content-length和transfer-encoding,则CDN不会对文件进行缓存。

9. 如何查看文件是否被CDN节点缓存?

如果响应头中存在 Age:1 或者 X-Cache:HIT ,表示该文件已缓存在边缘节点。
image.png

9. 为什么节点缓存命中率较低或文件缓存不住?

1)请求不满足默认缓存规则,若需要配置缓存,需联系售后服务处理。
2)若文件满足缓存规则,则检查您的源站是否源站设置了HTTP请求为no-cache。若源站配置了no-cache,节点继承源站配置不对资源做缓存,导致所有请求回源。
3)访问URL中带有可变参数(举例:http://abc.cn/1.txt?timestamp=14378923,其中timestamp表示时间戳,每次访问均会不同)。这里节点针对第一次访问的URL,无论该URL是否符合的缓存规则,第一次访问肯定都是回源,不缓存的(因为节点上还没有这个文件),因为后面的参数可变,所以每次访问都是一个全新的URL,则每次都会回源,从而影响缓存命中率。
4)刷新操作频繁,有定时刷新的操作,每次刷新都会导致所有已经在节点上缓存的URL失效,那么下次访问同样的URL,自然就会MISS,从而影响命中率。
5)文件热度不够,不经常被用户访问到,导致虽然符合上面的所有规则,但是经常有被节点下掉缓存。节点上缓存的文件,可以理解为按照热度属性采取末尾淘汰制,所谓热度就是该文件在该节点上被访问的频率,文件热度不够,其实一定程度上跟这个域名本身的流量不高有关联关系。
6)网站刚接入DDoS云清洗的,缓存时间不够,从而导致前期的命中率很低,这个原因是过段时间就会好的。
7)若排除以上几点后问题仍然存在,请联系售后服务处理。

本篇文档内容对您是否有帮助?
有帮助
我要反馈
提交成功!非常感谢您的反馈,我们会继续努力做到更好!