CDN缓存命中率低,会导致源站压力大,静态资源访问效率低。您可以针对导致CDN缓存命中率低的具体原因,选择对应的优化策略,来提高CDN的缓存命中率。CDN缓存命中率包括流量命中率和请求命中率。
缓存命中率分为请求命中率和流量命中率,缓存命中率越高,性能越好。
请求命中率 = 命中缓存的请求数 / 请求总数。
流量命中率 = 命中缓存产生的流量 / 请求总流量
请求总流量:指命中缓存产生的流量和请求回源产生的流量之和。
流量命中率越低,回源流量越大,源站的流出流量越大,源站带宽资源占用越大,其代表了源站服务器收到的负载压力,请重点关注流量命中率。
CDN缓存命中率低的可能原因如下:
①HTTP Header设置不当导致无法缓存,请检查源站Cache-Control是否设置为不缓存。当源站上设置了cache-control:no-cache/no-store/max-age=0/private或者Pragma:no-cache时,源站不缓存。
②您设置的CDN缓存过期时间不合适。如果设置的CDN缓存过期时间过短,CDN节点上的数据会经常失效,导致频繁回源,因此降低CDN缓存命中率。缓存配置具体内容请参考:缓存配置。
③您的源站动态内容居多,CDN主要加速对象为静态资源(如:css、js、html、图片、txt、视频等),对于动态资源(如:asp、jsp、php、API接口和动态交互请求等)CDN会回源请求资源。
④缓存刷新操作频繁,提交缓存刷新请求后,CDN节点的缓存内容将会被强制过期。下次访问同样的URL时,CDN会回源请求资源,从而导致命中率下降。
⑤网站的访问量低,节点缓存的资源,可能会由于热度较低而被提前从CDN节点删除,导致频繁回源,因此降低CDN缓存命中率。
⑥您的源站出现异常,导致缓存命中率下降,请检查您的源站能否正常访问。
⑦cdn默认head请求是不缓存的,即使预热,请求方式是head请求也是不缓存的。
版权声明:本文章文字内容来自第三方投稿,版权归原始作者所有。本网站不拥有其版权,也不承担文字内容、信息或资料带来的版权归属问题或争议。如有侵权,请联系contentedit@huawei.com,本网站有权在核实确属侵权后,予以删除文章。