CDN服务的主要功能就是进行网站访问加速,有的网站使用CDN后,访问速度反而会比不用CDN的的情况还要慢?
本文就是针对这种情况提供问题排查的思路和方法,
出现这种问题常见的有两种可能场景。
一、缓存命中率不高,影响缓存命中率的常见的几个原因如下:
缓存配置的问题
频繁的刷新url或者目录缓存
Http Header导致无法缓存
刚添加,缓存的文件还不多
源站类型,可缓存的内容少
网站访问量低,过期时间短,命中的文件少
二、局部地区访问速度较慢,个别区域动态文件回源较慢。
只要是文件被CDN 缓存后,CDN 访问就会比源站访问快些的。出现这种请可以参考如下的排查思路进行定位:
1、测试域名解析是否正确,以确保您的应用已经正常解析到CDN 上。常用的命令是ping 域名即可
2、测试域名进行访问,在本地电脑上使用开发工具F12 ,然后按住Ctrl+F5 多刷新几次,找一些静态页面判断一下是否已经被缓存,主要看x-catch 是否已经hit。hit说明已经命中,miss说明没有被缓存。如果没有被缓存,就需要在排查一下没有被缓存的原因了。
3、看一些已经缓存的静态文件的加载时间,然后截图对时间进行一下标注 ;
4、在将用户域名绑定到本地的hosts 文件,绑定后等于解析到源站上进行访问,还是使用开发者工具,Ctrl+F5 多刷新几次,找一下刚刚查看到的文件连接,关注一下时间,标注截图。然后将两个标注的截图都发给客户,这里一定会看到源站的访问时间要比CDN 加速后访问的时间要长的。就可以验证了。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。