分析系統(tǒng)瓶頸
系統(tǒng)響應(yīng)變慢,首先得定位大致的問(wèn)題出在哪里,是IO瓶頸、CPU瓶頸、內(nèi)存瓶頸還是程序?qū)е碌南到y(tǒng)問(wèn)題;
使用top工具能夠比較全面的查看我們關(guān)注的點(diǎn):
top第三行顯示當(dāng)前系統(tǒng)的,其中有兩個(gè)值很關(guān)鍵:
%id:空閑CPU時(shí)間百分比,如果這個(gè)值過(guò)低,表明系統(tǒng)CPU存在瓶頸;
%wa:等待I/O的CPU時(shí)間百分比,如果這個(gè)值過(guò)高,表明IO存在瓶頸;
分析IO瓶頸
如果IO存在性能瓶頸,top工具中的%wa會(huì)偏高;
進(jìn)一步分析使用iostat工具::
如果%iowait的值過(guò)高,表示硬盤存在I/O瓶頸。
如果 %util 接近 100%,說(shuō)明產(chǎn)生的I/O請(qǐng)求太多,I/O系統(tǒng)已經(jīng)滿負(fù)荷,該磁盤可能存在瓶頸。
如果 svctm 比較接近 await,說(shuō)明 I/O 幾乎沒(méi)有等待時(shí)間;
如果 await 遠(yuǎn)大于 svctm,說(shuō)明I/O 隊(duì)列太長(zhǎng),io響應(yīng)太慢,則需要進(jìn)行必要優(yōu)化。
如果avgqu-sz比較大,也表示有大量io在等待。