文档首页/ 内容分发网络 CDN/ 常见问题/ 缓存配置/ 为什么CDN的缓存命中率较低?
更新时间:2023-10-17 GMT+08:00

为什么CDN的缓存命中率较低?

CDN缓存命中率低的可能原因如下:

  • HTTP Header设置不当导致无法缓存,请检查源站Cache-Control是否设置为不缓存。当源站上设置了cache-control:no-cache/no-store/max-age=0/private,同时,CDN侧开启了“缓存遵循源站”,CDN将无法缓存资源,从而导致命中率低。
  • 您设置的CDN缓存过期时间不合适。如果设置的CDN缓存过期时间过短,CDN节点上的数据会经常失效,导致频繁回源,因此降低CDN缓存命中率。
  • 您的源站动态内容居多,CDN主要加速对象为静态资源(如:css、js、html、图片、txt、视频等),对于动态资源(如:asp、jsp、php、API接口和动态交互请求等)CDN会回源请求资源。
  • 缓存刷新操作频繁,提交缓存刷新请求后,CDN节点的缓存内容将会被强制过期。下次访问同样的URL时,CDN会回源请求资源,从而导致命中率下降。
  • 如果您的源站资源较大且没开启Range回源,CDN节点回源时会拉取完整的资源,会拉高回源流量,从而影响流量命中率。
  • 网站的访问量低,节点缓存的资源,可能会由于热度较低而被提前从CDN节点删除,导致频繁回源,因此降低CDN缓存命中率。
  • 您的源站出现异常,导致缓存命中率下降,请检查您的源站能否正常访问。
  • cdn默认head请求是不缓存的,即使预热,请求方式是head请求也是不缓存的。