traffic server回源異常故障的排查

來源: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的情況下一般都不可能是源站導致的,更應首先排查自己配置的問題。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章