面試官:磁盤 IO 變高,你怎麼分析?

工具準備:

iotop: http://guichaz.free.fr/iotop/

pt-ioprofile: http://www.percona.com/downloads/percona-toolkit/2.2.1/

IO高分析方法:

1、查看磁盤使用率 df -lh

2、安裝iostat 安裝命令: yum install sysstat

3、iostat -d -k 2 查看IO情況:

哪個磁盤的IO負載較高,接下來我們就來定位具體的負載來源 在這裏插入圖片描述 %util: 一秒中有百分之多少的時間用於 I/O 操作,或者說一秒中有多少時間 I/O 隊列是非空的。即 delta(use)/s/1000 (因爲use的單位爲毫秒)

如果 %util 接近 100%,說明產生的I/O請求太多,I/O系統已經滿負荷,該磁盤可能存在瓶頸。 在這裏插入圖片描述 4、安裝iotop 命令:

安裝命令:yum install iotop iotop 查看哪個線程耗IO比較高、按 o 只顯示有磁盤 IO 活動的進程。 在這裏插入圖片描述 5、pt-ioprofile定位負載來源文件

pt-ioprofile --profile-pid=1236 --cell=sizes

pt-ioprofile的原理是對某個pid附加一個strace進程進行IO分析。 在這裏插入圖片描述

6、對於定位問題更有用的是通過IO的吞吐量來進行定位。使用參數 --cell=sizes,該參數將結果已 B/s 的方式展示出來

pt-ioprofile --profile-pid=1236 --cell=sizes

從上圖可以看出IO負載的主要來源是jetty。

並且壓力主要集中在讀取上。

來源 | https://urlify.cn/JNRVJb

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章