-
禍害阿里云宕機(jī)3小時(shí)的IO HANG究竟是什么?
關(guān)鍵字: 阿里云宕機(jī)IO HANG本文來(lái)自微信公號(hào)“CSDN”(ID:CSDNnews),作者 | 王知無(wú), 責(zé)編| 郭 芮。
2019年3月3日凌晨,微博炸鍋,有網(wǎng)友反映說(shuō)阿里云疑似出現(xiàn)宕機(jī),華北很多互聯(lián)網(wǎng)公司受到暴擊傷害,APP、網(wǎng)站全部癱瘓,我自己的朋友圈和微信群里也有好友反饋,剛剛從被窩被叫起來(lái)去修Bug,結(jié)果發(fā)現(xiàn)服務(wù)器登不上去了......
凌晨2點(diǎn)37分,阿里云官方回應(yīng)稱:華北2地域可用區(qū)C部分ECS服務(wù)器等實(shí)例出現(xiàn)IO HANG,經(jīng)緊急排查處理后逐步恢復(fù),此外將根據(jù)協(xié)議盡快賠償。并已經(jīng)全面排查其他地域及可用區(qū),未發(fā)現(xiàn)此類情況。
IO HANG
那么問(wèn)題來(lái)了,IO HANG是個(gè)什么鬼?簡(jiǎn)單的說(shuō),就是服務(wù)器磁盤讀寫過(guò)慢,導(dǎo)致線程和進(jìn)程掛起。大量讀寫線程/進(jìn)程掛起導(dǎo)致服務(wù)器宕機(jī)......
阿里云有大量的類似RDS、HybridDB數(shù)據(jù)庫(kù),支持海量數(shù)據(jù)在線事務(wù)(OLTP)和在線分析(OLAP),需要大量的IO讀寫,而Linux的IO性能將直接影響SQL的執(zhí)行速度,嚴(yán)重情況下將導(dǎo)致服務(wù)器卡死和宕機(jī)。
如何監(jiān)控自己服務(wù)器的IO情況呢?本文將帶大家詳細(xì)了解這些常用的命令。
如何監(jiān)控自己服務(wù)器的IO情況?
常用的命令包括:top,iostat和iotop。那么他們都有什么區(qū)別,以及如何使用呢?我們一一分解。
我本機(jī)安裝的是CentOS-7的虛擬機(jī),內(nèi)核信息為:
top命令
top命令提供了實(shí)時(shí)的對(duì)系統(tǒng)處理器的狀態(tài)監(jiān)視。它將顯示系統(tǒng)中CPU最"敏感"的任務(wù)列表,該命令可以按CPU使用、內(nèi)存使用和執(zhí)行時(shí)間對(duì)任務(wù)進(jìn)行排序,而且該命令的很多特性都可以通過(guò)交互式命令。
在Linux下,輸入`top` :
Tasks、Cpus、Mem和Swap分別代表了進(jìn)程信息、CPU信息和內(nèi)存信息。各個(gè)列表示的指標(biāo)意義如下 :
PID進(jìn)程id
USER進(jìn)程所有者用戶名
PR 優(yōu)先級(jí)
NI nice值
VIRT進(jìn)程使用的虛擬內(nèi)存總量
RES進(jìn)程使用的未被換出的物理內(nèi)存大小
SHR共享內(nèi)存大小
S 進(jìn)程狀態(tài)S=睡眠T=跟蹤R=運(yùn)行Z=僵尸進(jìn)程D=不可中斷的睡眠進(jìn)程
CPUcpu時(shí)間統(tǒng)計(jì)
MEM 物理內(nèi)存占比
TIME+進(jìn)程使用的CPU時(shí)間總計(jì)單位1/100秒
COMMAND命令行命令名
top常用的交互式命令使用格式:
top [-] [d] [p] [q] [c] [C] [S] [s] [n]
參數(shù)說(shuō)明:
d:指定每?jī)纱纹聊恍畔⑺⑿轮g的時(shí)間間隔,當(dāng)然用戶可以使用s交互命令來(lái)改變之;
p:通過(guò)指定監(jiān)控進(jìn)程ID來(lái)僅僅監(jiān)控某個(gè)進(jìn)程的狀態(tài);
q:該選項(xiàng)將使top沒(méi)有任何延遲的進(jìn)行刷新。如果調(diào)用程序有超級(jí)用戶權(quán)限,那么top將以盡可能高的優(yōu)先級(jí)運(yùn)行;
S:指定累計(jì)模式;
s:使top命令在安全模式中運(yùn)行,這將去除交互命令所帶來(lái)的潛在危險(xiǎn);
i:使top不顯示任何閑置或者僵死進(jìn)程;
c:顯示整個(gè)命令行而不只是顯示命令名。
通過(guò)top命令,我們即可查到當(dāng)前服務(wù)器的進(jìn)程占用CPU和內(nèi)存情況。
iostat命令
iostat主要用于監(jiān)控系統(tǒng)設(shè)備的IO負(fù)載情況,iostat首次運(yùn)行時(shí)顯示自系統(tǒng)啟動(dòng)開(kāi)始的各項(xiàng)統(tǒng)計(jì)信息,之后運(yùn)行iostat將顯示自上次運(yùn)行該命令以后的統(tǒng)計(jì)信息。用戶可以通過(guò)指定統(tǒng)計(jì)的次數(shù)和時(shí)間來(lái)獲得所需的統(tǒng)計(jì)信息。
基本使用:
$iostat -d -k 2
參數(shù)說(shuō)明:
-d:顯示設(shè)備(磁盤)使用狀態(tài);
-k:某些使用block為單位的列強(qiáng)制使用Kilobytes為單位;
2:數(shù)據(jù)顯示每隔2秒刷新一次。
如果提示沒(méi)有iostat命令需要使用yum安裝,安裝命令如下:
`yum install sysstat`
參數(shù)解釋如下:
tps:該設(shè)備每秒的傳輸次數(shù),一次傳輸意思是“一次I/O請(qǐng)求”,多個(gè)邏輯請(qǐng)求可能會(huì)被合并為“一次I/O請(qǐng)求”;
kB_read/s:每秒從設(shè)備(drive expressed)讀取的數(shù)據(jù)量;kB_wrtn/s:每秒向設(shè)備(drive expressed)寫入的數(shù)據(jù)量;
kB_read:讀取的總數(shù)據(jù)量;
kB_wrtn:寫入的總數(shù)量數(shù)據(jù)量,這些單位都為Kilobytes。
上面的例子中,我們可以看到磁盤sda以及它的各個(gè)分區(qū)的統(tǒng)計(jì)數(shù)據(jù),當(dāng)時(shí)瞬時(shí)統(tǒng)計(jì)的磁盤總TPS是1.88,下面是各個(gè)分區(qū)的TPS(因?yàn)槭撬查g值,所以總TPS并不嚴(yán)格等于各個(gè)分區(qū)TPS的總和)。
在實(shí)際業(yè)務(wù)中,我們經(jīng)常使用的命令是:
iostat -xdm
例如:iostat -xdm 2,2代表2秒鐘刷新一次。
我們可以看到,%util這個(gè)參數(shù)即代表磁盤繁忙程度。100%表示磁盤繁忙, 0%表示磁盤空閑。但是我們需要注意,磁盤繁忙程度并不意味著磁盤讀寫速度大小。
iostat是系統(tǒng)級(jí)別的監(jiān)控指令,iostat給我們的展示結(jié)果揭示了我們當(dāng)前服務(wù)器磁盤的繁忙程度,雖然有一定的指導(dǎo)意義,但是不能精確到進(jìn)程級(jí)別,這時(shí)候我們就需要iotop了。
iotop命令
我們上文講到top命令,顧名思義,iotop代表io版本的top命令,使用起來(lái)簡(jiǎn)單粗暴,直接在命令行敲下:iotop。
iotop命令可以按進(jìn)程統(tǒng)計(jì)IO狀況,我們可以指導(dǎo)當(dāng)前系統(tǒng)哪些進(jìn)程在占用IO,百分比是多少,占用IO的進(jìn)程是在讀,還是在寫,讀寫量是多少等信息。然后我們可以定位到具體的進(jìn)程,查看進(jìn)程詳情。
同樣個(gè)iotop命令有一個(gè)很像的命令叫做pidstat,參數(shù)很多。
例如:`pidstat -d` :
我們同樣可以看到每個(gè)進(jìn)程的讀寫情況,然后定位到具體的線程去查看問(wèn)題。
總結(jié)
在生產(chǎn)實(shí)踐中,實(shí)時(shí)監(jiān)控我們的服務(wù)器IO情況至關(guān)重要,尤其是數(shù)據(jù)庫(kù)所在的服務(wù)器,它直接關(guān)系到我們的程序的讀寫速度、SQL的執(zhí)行情況等。
服務(wù)器IO的情況是我們選擇服務(wù)器的重要考慮因素之一。IO變差,輕則寫入服務(wù)讀寫響應(yīng)緩慢,重則導(dǎo)致大量進(jìn)程長(zhǎng)時(shí)間掛起,數(shù)據(jù)庫(kù)擁堵卡死,服務(wù)器嚴(yán)重卡頓,甚至宕機(jī)。
作者:王知無(wú),阿里巴巴高級(jí)大數(shù)據(jù)開(kāi)發(fā)工程師,先后在京東,阿里等大型互聯(lián)網(wǎng)公司從事大數(shù)據(jù)平臺(tái)、實(shí)時(shí)計(jì)算和離線計(jì)算中間件和業(yè)務(wù)平臺(tái)開(kāi)發(fā)。自媒體人,業(yè)余講師,希望為更多的互聯(lián)網(wǎng)開(kāi)發(fā)人員提供最新和最熱的大數(shù)據(jù)方向的技術(shù)動(dòng)態(tài),技術(shù)前沿研究。
- 原標(biāo)題:禍害阿里云宕機(jī)3小時(shí)的 IO HANG 究竟是個(gè)什么鬼?!
- 責(zé)任編輯:程北墨
- 最后更新: 2019-03-07 16:41:41
-
國(guó)家科技的引擎:軍工巨頭的權(quán)力密碼
2019-03-07 13:39 -
5G談“風(fēng)暴”可能為之尚早,芯片廠商之間的拉鋸戰(zhàn)是熱身賽
2019-03-07 13:35 科技前沿 -
中國(guó)手機(jī)“不克制”營(yíng)銷史
2019-03-07 11:34 手機(jī) -
預(yù)防中興式危機(jī)?日媒稱華為向供應(yīng)商提出擴(kuò)大供給
2019-03-07 10:21 華為 -
“你打籃球像蔡徐坤”:微信翻譯這個(gè)bug是怎么回事?
2019-03-07 10:13 TMT觀察 -
中國(guó)頁(yè)巖氣單井日產(chǎn)量創(chuàng)新高
2019-03-07 07:28 能源戰(zhàn)略 -
蘋果供應(yīng)商曬折疊屏大招:正研發(fā)可折玻璃
2019-03-06 21:38 蘋果新“品” -
去年我國(guó)研發(fā)經(jīng)費(fèi)支出近2萬(wàn)億元,比上年增11.6%
2019-03-06 21:03 科技前沿 -
只差一塊錢,小米9和iQOO到底誰(shuí)更香?
2019-03-06 17:41 手機(jī) -
中國(guó)存儲(chǔ)器能否打破海外壟斷?
2019-03-06 17:29 TMT觀察 -
-
小米盧偉冰總結(jié)魅族Note 9:遺憾還在繼續(xù)
2019-03-06 17:06 -
三星正研發(fā)兩款折疊屏手機(jī),一款類似華為Mate X
2019-03-06 16:22 大公司 -
去年全球智能手機(jī)出貨量減少5.1% 北美銳減13.2%
2019-03-06 14:57 手機(jī) -
觀點(diǎn):提速降費(fèi)與5G使能兼顧 運(yùn)營(yíng)商如何兼顧
2019-03-06 13:30 -
格力手機(jī)3代上架官網(wǎng) 售價(jià)3600元
2019-03-06 13:22 -
動(dòng)工在即!華為要用100億打造上海青浦研發(fā)基地
2019-03-06 12:14 大公司 -
“夜視眼藥水” 治色盲有戲
2019-03-06 11:14 -
最新報(bào)告:萬(wàn)億研發(fā)經(jīng)費(fèi),中國(guó)都花在哪兒了?
2019-03-06 10:28 科技前沿 -
蘋果iPhone XI配置曝光:三攝、水下模式、黑暗模式
2019-03-05 20:10 手機(jī)
相關(guān)推薦 -
兩件“國(guó)之重器”,同一個(gè)幕后功臣! 評(píng)論 45直播:AI與國(guó)運(yùn)——中華文明與人工智能的歷史性相遇 評(píng)論 22算盤珠子崩一臉:跟中國(guó)爭(zhēng),得搞國(guó)有化 評(píng)論 172特朗普擬對(duì)中國(guó)下“毒計(jì)”,美國(guó)農(nóng)民“被嚇傻了” 評(píng)論 174這也能扯上中國(guó)? 評(píng)論 170最新聞 Hot
-
美防長(zhǎng)嘴硬,被最新公開(kāi)的群聊原文“打臉”了
-
“美國(guó)人批評(píng)歐洲有道理,這不是侮辱”
-
被抗議后美方改行程,丹麥媒體:外交小勝
-
法國(guó)、意大利、西班牙都拒絕了
-
“歐洲試圖打破馬斯克的星鏈霸權(quán)”
-
美國(guó)盟友都三緘其口,“五眼聯(lián)盟”里有人跳出來(lái)了
-
算盤珠子崩一臉:跟中國(guó)爭(zhēng),得搞國(guó)有化
-
阻止中國(guó)采礦,美議員張嘴就來(lái)…
-
荷蘭大臣勸民眾“買中國(guó)貨前三思”,結(jié)果…
-
西方媒體急跳腳:埃爾多安拿捏歐美軟肋,沒(méi)人管得住他
-
無(wú)罪!李在明可以競(jìng)選韓國(guó)總統(tǒng)了
-
華爾茲急眼:我全責(zé),但他是敗類
-
特朗普擬對(duì)中國(guó)下“毒計(jì)”,美國(guó)農(nóng)民“被嚇傻了”
-
又打壓!美方揚(yáng)言就是要“遏華”
-
這也能扯上中國(guó)?
-
“本國(guó)優(yōu)先”?印尼前外長(zhǎng):各國(guó)政府要說(shuō)服自己的民眾
快訊- 美軍稱4名士兵在立陶宛訓(xùn)練時(shí)失蹤,事發(fā)地距白俄邊境不到10公里
- 美將多家中國(guó)實(shí)體列入出口管制“實(shí)體清單”,商務(wù)部回應(yīng)
- 河南安陽(yáng):敦促路慶峰及密切關(guān)系人投案自首
- AGI即將到來(lái)?謝耘:理論上和技術(shù)上都還有局限
- “收到323封舉報(bào)郵件”
- AI將引發(fā)失業(yè)?鐘義信:智慧無(wú)法被機(jī)器制造
- 經(jīng)歷了“不平凡”的一年,農(nóng)夫山泉業(yè)績(jī)挺住了
- 項(xiàng)立剛:對(duì)人工智能的理解,不能被美國(guó)帶到溝里去
-