Raid卡性能導(dǎo)致IO告警
前言
不同的機器性能不同,但是我們應(yīng)用開發(fā)一般不去關(guān)注這些。只有等壓力到一定程度后,我們才會發(fā)現(xiàn)不同的機器表現(xiàn)不一樣。
現(xiàn)場
有一天,筆者突然收到了線上Zookeeper的告警。其中一臺機器磁盤IOWait高,奇異的是 我們線上的5臺機器組成一個集群,唯獨只有一臺IOWait高。
為什么僅有一臺iowait高
這個問題第一個疑點就是Zookeeper最為一個集群,為什么只有C變高,況且C只是個follower節(jié)點。于是筆者看了下分別機器的ios,發(fā)現(xiàn)iops竟然差不多。
機器問題,Raid卡沒電池
到這里,很自然的就懷疑起機器的問題了。和SA一塊排查,比較異同。發(fā)現(xiàn)有問題的機器是用的舊型號機器,而這批機器Raid卡竟然沒有帶電池!
本來Raid卡是自帶一塊RAM加速寫入性能的,不帶電池的后果就是Raid卡會不啟用寫緩存的功能。怪不得IOWait高。
順手解決了另一個疑惑
在發(fā)現(xiàn)這個點之后,筆者立馬就想起了之前大促的時候,一個應(yīng)用的部分機器會卡主,翻日志會發(fā)現(xiàn)。兩條沒有任何請求的日志之間會出現(xiàn)好幾秒的間隔情況,翻了下之前的ip,發(fā)現(xiàn)他們也是在這種沒有電池的機器上-_-!
總結(jié)
在相同負載下的機器會有不同性能表現(xiàn)時,我們需要將其宿主機的硬件性能作為一個可能的點考慮進來。
本文轉(zhuǎn)載自微信公眾號「解Bug之路」,可以通過以下二維碼關(guān)注。轉(zhuǎn)載本文請聯(lián)系解Bug之路公眾號。