1、client 出口 IP,DNS 访问到的 CDN 节点 IP https://cdn.dns-detect.alicdn.com/https/doc.html; (阿里排障工具)
2. 查看访问IP地址释放为阿里云CDN的IP
3. 页面检查工具
4. 浏览器查看CDN信息
5.用的 Linux 基础命令用来测试
curl -I taobao.com
curl -X POST|HEAD|PUt -H “key: value” 模拟请求头和请求类型的命令
wget –Header=”key:value”
traceroute -n taobao.com (查看网络链路问题)
mtr -r -n taobao.com (查看网络链路问题)
tcpdump -i devname -s0 -v host x.x.x.x and port xx -w filename.pcap
ping -c 100 -s 1024 -i 0.01 -d taobao.com (延时,解析到的IP地址)
ping -w 1 taobao.com
dig www.youdomainname.com
vim /etc/hosts
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 加速后访问的时间要长的。就可以验证了。
问题场景:使用CDN加速之后,访问域名出现504 Gateway Time-out,如下图
问题原因:出现此类情况一般都是由于源站异常导致,由于CDN回源取数据的时候,如果源站在30s内没有响应,CDN就会抛出“504 Gateway Time-out”的报错;
1、如果使用的是阿里云服务器ECS,遇到此类情况时,建议先登陆管理控制台在如下图位置处查看服务器的CPU以及带宽使用是否有异常,参考CPU异常和带宽跑满的不同情况进行分别进行检查;
2、直接修改本地电脑的host文件,将域名直接指向源服务器IP,测试访问是否正常,修改方法请点击查看,如果同样无法访问,需立刻检查源服务器或者程序是否存在异常。
参考:
https://help.aliyun.com/knowledge_list/40208.html