故障排查實(shí)戰(zhàn)案例——某電器ERP系統(tǒng)日志暴增
前言
本篇文章寫在新春佳節(jié)前夕,也是給IT運(yùn)維朋友一個(gè)警醒,在春節(jié)長(zhǎng)假前請(qǐng)妥善體檢自己的系統(tǒng)安心過(guò)個(gè)年。
千里之堤毀于蟻穴,一條看似簡(jiǎn)單的語(yǔ)句就能拖垮整個(gè)系統(tǒng),您的SQL Server很久沒(méi)體檢了吧? 就像一塊藏著刀片的蛋糕!怎能安度春節(jié)?
日志暴增的問(wèn)題處理過(guò)很多,這只是很常規(guī)的一次,但是對(duì)于不是很熟練的運(yùn)維兄弟,可能日志暴增這樣的問(wèn)題會(huì)被一帶而過(guò),或者解釋成突發(fā)情況而不去處理,那么隱患依然存在,在春節(jié)這樣的長(zhǎng)假發(fā)生可怎么辦呢?
本文使用的工具:SQL專家云平臺(tái)專業(yè)體檢工具 :www.zhuancloud.com
場(chǎng)景描述
本案例是一個(gè)很成熟的ERP廠商的產(chǎn)品,接到用戶緊急電話,說(shuō)他們?nèi)罩就蝗槐┰龃疟P告警,50G的數(shù)據(jù)庫(kù)日志已經(jīng)達(dá)到200G。

看到這有的看官可能會(huì)說(shuō),肯定是沒(méi)定時(shí)做日志備份導(dǎo)致日志不斷變大!或者說(shuō)才200G 一點(diǎn)也不大呀!
沒(méi)錯(cuò),日志不備份缺失會(huì)有這樣的問(wèn)題,但這情景是小兒科,不會(huì)拿出來(lái)寫案例的,200G 確實(shí)也不大,但要分場(chǎng)景,在此客戶平均10個(gè)G 的場(chǎng)景下 200G已經(jīng)是爆炸式的問(wèn)題了!
為什么會(huì)拿出來(lái)寫案例,就是因?yàn)橄胍嬖V大家排查這樣問(wèn)題的思路,不要讓這樣的暴增單純的說(shuō)成突發(fā)情況!
問(wèn)題分析
拿到收集文件我直入主題,查看日志的增長(zhǎng)情況、寫入狀態(tài)、問(wèn)題時(shí)間點(diǎn)等信息

在日志的分配空間我們了解到日志是在11點(diǎn)43分左右突然暴增一直增長(zhǎng)到13點(diǎn)左右達(dá)到240G

分配空間也是同樣的情況在11點(diǎn)43分左右暴增,后期在1點(diǎn)半的下降就是日志備份讓使用空間被釋放。

日志文件的寫入也符合這個(gè)時(shí)間點(diǎn),在11點(diǎn)43分左右寫入達(dá)到40MB/秒,并且持續(xù)了1個(gè)多小時(shí)。

通過(guò)這幾張圖,我們很清晰的就能定位到日志暴增的時(shí)間點(diǎn),下面只要找到對(duì)應(yīng)時(shí)間點(diǎn)的語(yǔ)句即可!
我的排查思路有些不同,持續(xù)1個(gè)小時(shí)的寫入,必然伴隨著日志文件的增長(zhǎng)(文件增長(zhǎng)設(shè)置固定值100MB),這里需要提一下:這就是固定增長(zhǎng)的好處,因?yàn)楫?dāng)達(dá)到240G 如果按照默認(rèn)10%增長(zhǎng),那么一次需要增24G 磁盤已經(jīng)沒(méi)有那么多空間,則會(huì)導(dǎo)致報(bào)錯(cuò),系統(tǒng)中斷!
回到排查思路,這里我直接查看對(duì)應(yīng)時(shí)間點(diǎn)系統(tǒng)的等待情況:

直接找到日志文件增長(zhǎng)的等待類型,查看運(yùn)行的語(yǔ)句確實(shí)運(yùn)行時(shí)間是從11點(diǎn)15到13點(diǎn)15,和日志增長(zhǎng)的情況吻合??!
就這樣,只花了10分鐘就定位到問(wèn)題,找到語(yǔ)句,由于存儲(chǔ)過(guò)程加密,我無(wú)法看到里面的代碼,但是暴增的語(yǔ)句已經(jīng)找到,需要軟件廠商自行處理啦!!
就是這樣簡(jiǎn)單,打完收工!所以不要放過(guò)這樣的問(wèn)題排查!
后怕
為什么說(shuō)不能放過(guò)這樣問(wèn)題的排查!??!
首先,這個(gè)系統(tǒng)正準(zhǔn)備上集群,集群大家都知道單機(jī)變多臺(tái),必然涉及到數(shù)據(jù)的同步,同步是要有消耗的,對(duì)寫入的性能會(huì)有影響,細(xì)心的小伙伴可能已經(jīng)看到這個(gè)語(yǔ)句消耗了多少資源,邏輯讀,寫,影響行數(shù)有多少了

沒(méi)錯(cuò),64億的邏輯讀!為什么會(huì)產(chǎn)生這么大的日志,導(dǎo)致暴增!因?yàn)閷懭?億次,影響行數(shù)19億,并且執(zhí)行的時(shí)間不是在夜間的維護(hù)期,而是在中午11點(diǎn)15開始,這么大的處理在集群方案部署的時(shí)候一定要高度警惕,這么大的同步量完全可能導(dǎo)致集群嚴(yán)重延遲,甚至宕機(jī)!所以這不單單是一次日志暴增問(wèn)題的排查了,也是對(duì)系統(tǒng)功能更加細(xì)致的了解,如果這樣的問(wèn)題沒(méi)有及早發(fā)現(xiàn),就算集群后期測(cè)試也不一定會(huì)被測(cè)試到,進(jìn)而導(dǎo)致集群上線后的悲催。
PS:繼邏輯讀 23億,34億,45億后這個(gè)案例有刷新了我見過(guò)的最大邏輯讀 64億!
紀(jì)念一下
--------------博客地址---------------------------------------------------------------------------------------
博客地址 http://www.rzrgm.cn/double-K/
歡迎轉(zhuǎn)載,請(qǐng)注明出處,謝謝!
-----------------------------------------------------------------------------------------------------
總結(jié)
系統(tǒng)運(yùn)維就是保證系統(tǒng)平穩(wěn)運(yùn)行的工作,看似簡(jiǎn)單但個(gè)中奧妙和心酸只有運(yùn)維人才能體會(huì),不要放過(guò)每一個(gè)細(xì)節(jié),一個(gè)簡(jiǎn)單突發(fā)情況處理可能引出一系列問(wèn)題,而解決這些問(wèn)題又是保證系統(tǒng)平穩(wěn)運(yùn)行基礎(chǔ),請(qǐng)給運(yùn)維人多一些關(guān)愛(ài)吧,比如春節(jié)來(lái)個(gè)大紅包,哇哈哈哈哈??!
有的小伙伴已經(jīng)開始春節(jié)休假了,祝大家新春快樂(lè),系統(tǒng)平安!
----------------------------------------------------------------------------------------------------
注:此文章為原創(chuàng),歡迎轉(zhuǎn)載,請(qǐng)?jiān)谖恼马?yè)面明顯位置給出此文鏈接!
若您覺(jué)得這篇文章還不錯(cuò)請(qǐng)點(diǎn)擊下右下角的推薦,非常感謝!

浙公網(wǎng)安備 33010602011771號(hào)