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