其他分享
首页 > 其他分享> > 一次CDN源站负载高的问题排查及解决

一次CDN源站负载高的问题排查及解决

作者:互联网

最近总是收到后端的CDN源站的负载高的报警,Apache经常会触发重启。于是启动排查问题。

我们的CDN架构如下:
一次CDN源站负载高的问题排查及解决

我们的CDN缓存策略是:使用源站的缓存策略,源站缓存策略是365天
一次CDN源站负载高的问题排查及解决

首先查看Apache的访问日志:
一次CDN源站负载高的问题排查及解决
错误日志里有大量的回源,内部程序逻辑是:如果文件不存在,就回去COS里去取,然后存放到源站一份。源站上有定期清理磁盘的程序。
正常情况下,回源不会有这么多,所以去查看一下cdn的缓存情况。
1、获取CDN的节点IP:
命令:dig pic1.xxxx.com
2、通过指定节点,查看访问资源的命中情况:
一次CDN源站负载高的问题排查及解决
看到最后的结果都是MiSS,理论上两个节点有一个HIT即可。
在测试过程中,偶尔有HIT,绝大多数的情况是MISS,即没有命中,就会导致访问回源。说明CDN上并没有缓存住资源,绝大多数访问直接打到源站上,所以源站负载撑不住了。

联系CDN服务商,服务商回复说最近新增加了多个边缘节点,可能会有一些问题导致以上情况,但是最近情况仍在继续,为了避免再次出现问题,我们将CDN由迅达云切换到了腾讯云上,问题暂时得到解决。

标签:负载,缓存,回源,CDN,源站,访问,节点
来源: https://blog.51cto.com/zhuyuanpo/2364525