iostat 詳細說明,系統磁碟IO負載分析
iostat是I/O statistics(輸入/輸出統計)的縮寫,iostat提供對系統整個磁碟活動統計情況。
iostat用法:iostat [ -c | -d ] [ -k ] [ -t ] [ -V ] [ -x [ device ] ] [ interval [ count ] ]
-c:CPU的使用情況;-d:磁碟的使用情況;-k:表示每秒按kilobytes位元組顯示資料;-t:列印彙報的時間;-v表示打印出版本資訊和用法;-x:device指定要統計的裝置名稱,預設為所有的裝置;interval指每次統計間隔的時間;count指按照這個時間間隔統計的次數
[email protected]
]# iostat -d -k -t -x 2 Linux 2.6.32-504.16.2.el6.x86_64 (VM_163_122_centos) 09/11/2018 _x86_64_ (8 CPU) 09/11/2018 12:30:13 PM Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util vda 0.00 1.73 0.09 1.55 0.98 13.11 17.15 0.01 4.94 2.03 0.33 vdb 0.03 393.42 7.15 85.06 289.04 1850.79 46.41 0.42 4.51 0.93 8.54 09/11/2018 12:30:15 PM Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util vda 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 vdb 0.00 2096.50 0.50 115.50 2.00 7408.00 127.76 32.78 260.91 6.44 74.75 09/11/2018 12:30:17 PM Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util vda 0.00 0.00 0.00 0.50 0.00 2.00 8.00 0.00 4.00 4.00 0.20 vdb 0.00 1128.00 0.50 23.00 8.00 5566.00 474.38 12.19 578.47 42.34 99.50
rrqm/s: 每秒進行 merge 的讀運算元目。即 delta(rmerge)/s
wrqm/s: 每秒進行 merge 的寫運算元目。即 delta(wmerge)/s
r/s: 每秒完成的讀 I/O 裝置次數。即 delta(rio)/s
w/s: 每秒完成的寫 I/O 裝置次數。即 delta(wio)/s
rsec/s: 每秒讀扇區數。即 delta(rsect)/s
wsec/s: 每秒寫扇區數。即 delta(wsect)/s
rkB/s: 每秒讀K位元組數。是 rsect/s 的一半,因為每扇區大小為512位元組。(需要計算)
wkB/s: 秒寫K位元組數。是 wsect/s 的一半。(需要計算)
avgrq-sz: 平均每次裝置I/O操作的資料大小 (扇區)。delta(rsect+wsect)/delta(rio+wio)
avgqu-sz: 均I/O佇列長度。即 delta(aveq)/s/1000 (因為aveq的單位為毫秒)。
await: 平均每次裝置I/O操作的等待時間 (毫秒)。即 delta(ruse+wuse)/delta(rio+wio)
svctm: 平均每次裝置I/O操作的服務時間 (毫秒)。即 delta(use)/delta(rio+wio)
%util: 一秒中有百分之多少的時間用於 I/O 操作,或者說一秒中有多少時間 I/O 佇列是非空的。即 delta(use)/s/1000 (因為use的單位為毫秒)
上圖例項中,util: 接近百分之百,await:IO等待時間也很長,說明磁碟遇到了瓶頸
以上例項為遊戲合服過程中出現問題,主要原因有三點:
1:購買的是騰訊雲普通雲硬碟
2:自建mysql資料庫效能不高
3:合服資料很大