traffic server回源异常故障的排查

来源:互联网 发布:苹果mac正版电池多少钱 编辑:程序博客网 时间:2024/06/04 00:39

来源:http://www.furion.info/381.html

1.问题出现:

怕什么来什么,灿哥前脚刚走就来故障了。客服同事告知有台设备宕机了,重启之后ats无法启动。看了眼是/目录满了,清理了之后启动ats正常,本以为就完事了,后来客服同事再次告知我,设备流量异常,几乎没有命中。

image

这个是当时的流量图(红线框),可以看出回源几乎100%了。上设备看了眼,日志请求的统计信息中几乎也是没有HIT的内容,全都是各种MISS。

image

2.排查源站:

由于我们的业务特点,基本的回源率基本也保持在40%左右,其实也看源站了,如果做的源站都不让存,那80、90%的回源率之前也有的,不过这些站点我们一般都发现了强制缓存了。

从日志中找了一个MISS的链接去直接在本机设备抓取看下源站信息:

image

发现源站是没问题的,存在明确的缓存控制头信息,没道理存不下来的,很可能是设备本身的问题了。

3.排查设备配置:

前面已经判定了设备服务的站点本身是没问题的,那问题的焦点就集中在了设备自身配置的问题了。

在设备上代理本机的请求看下究竟是什么情况:

image

发现多次抓取都是MISS掉了。

第一反应就是这设备的records.config被修改了吧,估计是缓存功能没打开,查看相关配置:

image

http.cache.http 是打开的,1表示开启缓存功能,其他的相关参数也没有问题。看来不是这个的问题,那是不是磁盘的相关参数配置错误呢:

image

发现配置了使用的相关磁盘,也没有大问题。

4.检查cache空间

无奈找灿哥帮助,同时在群里找大神帮忙,感谢北国、纸鸢两位大神耐心帮我排查,最后helaku大神提醒我看下cache空间是不是为0了,echo “show:cache-stats” | traffic_shell看下:

image

发现cache空间果然为0,难怪无法缓存。

5.确定问题:

现在问题很明确了就是无可用的存储导致的,那么肯定是磁盘故障了或者无权限导致的。查看启动日志:

image

从日志中可以看出是相关的磁盘无读写权限导致的。

查看磁盘属性:

image

的确是权限不足。

同时灿哥也回复了,让我检查启动日志、看下磁盘权限是不是不对。感谢灿哥,大神就是大神,果然牛掰。

6.修复:

确定了权限的问题就好办了,直接修改权限就ok 了:

image

重启traffic server、查看相应的cache空间:

image

现在正常了,同时查看启动日志,也没有再抱怨权限不足的告警。查看相应的日志统计,请求命中也上去了,回源慢慢的掉下来了:

image

7.总结:

导致traffic server回源异常的可能原因有以下几个:

1.http.cache.http 参数异常,为0表示不开启缓存功能,这个时候肯定是全MISS的

2.storage.config中未配置相应的磁盘、目录,会导致无可用cache空间,从而也会全MISS

3.相应的磁盘、目录权限不足,也会导致无可用空间,同样还是全MISS掉

4.源站的问题,traffic server默认为遵循源站,如果源站不让缓存也会导致MISS过高,但一般不会全MISS

以上都是可能的几个原因, 其实这里我不应该首先检查源站,全MISS的情况下一般都不可能是源站导致的,更应首先排查自己配置的问题。

0 0
原创粉丝点击