WebCDN流量及QOS异常故障RC查找与经验分享
2012-06-07 20:43:04 来源:我爱运维网 评论:0 点击:
大规模计算网络WebCDN用于解决大网互连互通,降低源站复杂性及压力,性能方面,提高大用户访问量的网页速度体验方面,有非常好的效果.WebCDN本...
大规模计算网络WebCDN用于解决大网互连互通,降低源站复杂性及压力,性能方面,提高大用户访问量的网页速度体验方面,有非常好的效果.WebCDN本身的稳定性也决定了大用户请求网页的QOS. 然而加速网页中某1-2个网页设计不合理或加速某个源站中某个元素缺失的,也很可能形成WebCDN雪崩产生,进来全面影响WebCDN整体加速的QOS.本文以最近发生的WebCDN流量及QOS异常为例,分享一下故障排查过程,RC等经验.
现象:
QOS第三方监测数据发现:网站首页首屏时间 ,网站首页总下载时间飚升;
运维监控系统发现:WEBCDN流量大涨及连接数飚升;
取某个WEBCDN节点的机器,分析其上6.1-6.6号的nginx日志:
总体请求数:
for i in `find . -type f -name "*-20-05.log.gz"`;do a=`zcat $i|wc -l`;echo "$i $a";done|sort
./2012-06-01-20-05.log.gz 635220
./2012-06-02-20-05.log.gz 562762
./2012-06-03-20-05.log.gz 584111
./2012-06-04-20-05.log.gz 609735
./2012-06-05-20-05.log.gz 682701
./2012-06-06-20-05.log.gz 1011371
整体请求数有所上升
查看集中的url访问:
for i in `find . -type f -name "*-20-05.log.gz"`;do echo "$i `zcat $i|awk '{a[$2]++}END{for(i in a) print i,a[i],a[i]/NR}'|sort -k2 -nr|head -1`";done|sort
./2012-06-01-20-05.log.gz img1.5iops.com 157730 0.248308
./2012-06-02-20-05.log.gz img1.5iops.com 133432 0.237102
./2012-06-03-20-05.log.gz img1.5iops.com 130054 0.222653
./2012-06-04-20-05.log.gz img1.5iops.com 130020 0.21324
./2012-06-05-20-05.log.gz img1.5iops.com 177065 0.25936
./2012-06-06-20-05.log.gz focus.5iops.com 335022 0.331255 #focus的域名访问暂所有请求的33%
分析1号—6号的focus的访问情况,发现6.6号访问的比例较之前增加了30倍。
for i in `find . -type f -name "*-20-05.log.gz"`;do echo "$i `zcat $i|sed 's/"//g'|awk '{if($2=="focus.5iops.com")a++}END{print a/NR}'`";done|sort
./2012-06-01-20-05.log.gz 0.0223383
./2012-06-02-20-05.log.gz 0.0173695
./2012-06-03-20-05.log.gz 0.0175429
./2012-06-04-20-05.log.gz 0.0200989
./2012-06-05-20-05.log.gz 0.0186056
./2012-06-06-20-05.log.gz 0.332346
而这些focus的访问中499和404占了很多:
zcat 2012-06-06-20-05.log.gz |awk '{if($2=="focus.5iops.com") print $0}'|awk '{a[$9]++}END{for(i in a)print i,a[i]}'
408 15
200 11605
400 84
500 628
502 5
304 1
404 54957
504 4
499 273572
其中30W的访问集中在两个图片上,这个是由于源站程序存在问题导致。
zcat 2012-06-06-20-05.log.gz |awk '{if($2=="focus.5iops.com") print $7}'|sort |uniq -c|sort -nr
190259 /subject/meirong120606new/img/nav_a.png
103553 /subject/meirong120606new/img/nav_b.png
18748 /subject/meirong120606old/img/nav_a.png
16682 /subject/meirong120606old/img/nav_b.png
大量的4xx的访问导致squid不能正常缓存,而尝试去backup server,造成另外的机器incoming的流量增加
当尝试失败后,又去源站进行请求,由于一直不能正常缓存,造成大量的重复的链接不能正常释放,造成ss的连接数大量上升,同时squid的命中率下降
Ss 结果
Mem命中率:
查看页面的调用情况:
在页面的代码调用中,有个css样式(.Nav)调用了这2个不存在的图片,而调用这个样式图片的是<li>标签,单个页面中存在多<li>标签及循环调用,即每1次对此页面请求会产生大量对WEBCDN的非缓存的404请求。
在21:30左右修复了这个问题,同时webcdn恢复正常
总结:
1.利用好webcdn的状态码监控和增加报警
2.源站要尽可能保证元素正确且存在,非正常的状态码在webcdn不能被缓存,就会造成重复的回源,影响webcdn性能。
现象:
QOS第三方监测数据发现:网站首页首屏时间 ,网站首页总下载时间飚升;
运维监控系统发现:WEBCDN流量大涨及连接数飚升;
取某个WEBCDN节点的机器,分析其上6.1-6.6号的nginx日志:
总体请求数:
for i in `find . -type f -name "*-20-05.log.gz"`;do a=`zcat $i|wc -l`;echo "$i $a";done|sort
./2012-06-01-20-05.log.gz 635220
./2012-06-02-20-05.log.gz 562762
./2012-06-03-20-05.log.gz 584111
./2012-06-04-20-05.log.gz 609735
./2012-06-05-20-05.log.gz 682701
./2012-06-06-20-05.log.gz 1011371
整体请求数有所上升
查看集中的url访问:
for i in `find . -type f -name "*-20-05.log.gz"`;do echo "$i `zcat $i|awk '{a[$2]++}END{for(i in a) print i,a[i],a[i]/NR}'|sort -k2 -nr|head -1`";done|sort
./2012-06-01-20-05.log.gz img1.5iops.com 157730 0.248308
./2012-06-02-20-05.log.gz img1.5iops.com 133432 0.237102
./2012-06-03-20-05.log.gz img1.5iops.com 130054 0.222653
./2012-06-04-20-05.log.gz img1.5iops.com 130020 0.21324
./2012-06-05-20-05.log.gz img1.5iops.com 177065 0.25936
./2012-06-06-20-05.log.gz focus.5iops.com 335022 0.331255 #focus的域名访问暂所有请求的33%
分析1号—6号的focus的访问情况,发现6.6号访问的比例较之前增加了30倍。
for i in `find . -type f -name "*-20-05.log.gz"`;do echo "$i `zcat $i|sed 's/"//g'|awk '{if($2=="focus.5iops.com")a++}END{print a/NR}'`";done|sort
./2012-06-01-20-05.log.gz 0.0223383
./2012-06-02-20-05.log.gz 0.0173695
./2012-06-03-20-05.log.gz 0.0175429
./2012-06-04-20-05.log.gz 0.0200989
./2012-06-05-20-05.log.gz 0.0186056
./2012-06-06-20-05.log.gz 0.332346
而这些focus的访问中499和404占了很多:
zcat 2012-06-06-20-05.log.gz |awk '{if($2=="focus.5iops.com") print $0}'|awk '{a[$9]++}END{for(i in a)print i,a[i]}'
408 15
200 11605
400 84
500 628
502 5
304 1
404 54957
504 4
499 273572
其中30W的访问集中在两个图片上,这个是由于源站程序存在问题导致。
zcat 2012-06-06-20-05.log.gz |awk '{if($2=="focus.5iops.com") print $7}'|sort |uniq -c|sort -nr
190259 /subject/meirong120606new/img/nav_a.png
103553 /subject/meirong120606new/img/nav_b.png
18748 /subject/meirong120606old/img/nav_a.png
16682 /subject/meirong120606old/img/nav_b.png
大量的4xx的访问导致squid不能正常缓存,而尝试去backup server,造成另外的机器incoming的流量增加
当尝试失败后,又去源站进行请求,由于一直不能正常缓存,造成大量的重复的链接不能正常释放,造成ss的连接数大量上升,同时squid的命中率下降
Ss 结果
Mem命中率:
查看页面的调用情况:
在页面的代码调用中,有个css样式(.Nav)调用了这2个不存在的图片,而调用这个样式图片的是<li>标签,单个页面中存在多<li>标签及循环调用,即每1次对此页面请求会产生大量对WEBCDN的非缓存的404请求。
在21:30左右修复了这个问题,同时webcdn恢复正常
总结:
1.利用好webcdn的状态码监控和增加报警
2.源站要尽可能保证元素正确且存在,非正常的状态码在webcdn不能被缓存,就会造成重复的回源,影响webcdn性能。
上一篇:利用tcpcopy引流做模拟在线测试
下一篇:IDC机房网络质量评估指标探讨
分享到:
收藏
评论排行
- ·Windows(Win7)下用Xming...(92)
- ·使用jmx client监控activemq(20)
- ·Hive查询OOM分析(14)
- ·复杂网络架构导致的诡异...(8)
- ·使用 OpenStack 实现云...(7)
- ·影响Java EE性能的十大问题(6)
- ·云计算平台管理的三大利...(6)
- ·Mysql数据库复制延时分析(5)
- ·OpenStack Nova开发与测...(4)
- ·LTPP一键安装包1.2 发布(4)
- ·Linux下系统或服务排障的...(4)
- ·PHP发布5.4.4 和 5.3.1...(4)
- ·RSYSLOG搭建集中日志管理服务(4)
- ·转换程序源码的编码格式[...(3)
- ·Linux 的木马程式 Wirenet 出现(3)
- ·Nginx 发布1.2.1稳定版...(3)
- ·zend framework文件读取漏洞分析(3)
- ·Percona Playback 0.3 development release(3)
- ·运维业务与CMDB集成关系一例(3)
- ·应该知道的Linux技巧(3)