由於最近一台從數據庫服務器的性能非常低,寫數據相當的慢,於是就用工具檢測了下這台服務器的性能.我這裡下載了一個檢測系統性能的工具包sysstat-9.0.4.tar,裡面集成了好幾個檢測系統的工具,相當不錯的東東.
1.安裝過程:
#tar zxvf sysstat-9.0.4.tar
#cd sysstat-9.0.4
#./configure --prefix=/usr/local/tools
#make && make install
2.檢測過程:
我這裡先用了系統自帶的一個工具vmstat來進行服務器的檢測:
# vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- -----cpu------
r b swpd free buff cache si so bi bo in cs us sy id wa st
2 0 120 249420 219056 6520512 0 0 0 1 1 1 7 0 90 3 0
從這個命令看不出來什麼問題感覺都是正常的,我們繼續用起來的工具來進行分析.
# iostat -cdDPx
extended device statistics cpu
device mgr/s mgw/s r/s w/s kr/s kw/s size queue wait svc_t %b us sy wt id
sda1 0 0 0.0 0.0 1.3 14.8 0.0 0.0 0.0 0.0 0 7 0 3 90
sda2 0 0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0
sda3 0 0 0.0 0.0 111.2 266.5 0.0 0.0 0.0 0.0 0
可以發現sda3這個分區的寫數據非常的頻繁,我與另外一台從數據庫服務器對比發現,這個數據庫服務器明顯比另外一個數據庫服務器的寫操作要頻繁的多.
# /usr/local/tools/bin/sar -u 3 5
Linux 2.6.16.60-0.21-bigsmp (linux-1kio) 09/22/09 _i686_ (4 CPU)
17:36:03 CPU %user %nice %system %iowait %steal %idle
17:36:06 all 25.04 0.00 0.25 2.66 0.00 72.05
17:36:09 all 23.25 0.00 0.17 1.75 0.00 74.83
17:36:12 all 23.48 0.00 0.00 2.25 0.00 74.27
17:36:15 all 23.58 0.00 0.08 1.92 0.00 74.42
17:36:18 all 23.52 0.00 0.00 2.25 0.00 74.23
Average: all 23.78 0.00 0.10 2.17 0.00 73.96
從上面數據發現iowait這個數據也是有些高的,iowait是io等待所占用cpu時間的百分比.
# /usr/local/tools/bin/sar -d 3 5
DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util
dev8-0 23.59 0.00 621.93 26.37 0.21 8.79 8.34 19.67
DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util
dev8-0 14.00 0.00 197.33 14.10 0.14 9.71 8.76 12.27
DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util
dev8-0 21.67 0.00 253.33 11.69 0.11 4.49 4.86 10.53
正常狀態svctm應該小於await的,從上面數據可以看到有時都已經超過了,或者基本快接近了,說明磁盤的讀寫很頻繁導致IO已經不太正常了.
以上是一部分檢測磁盤IO、磁盤讀寫速度的一些檢測手段,希望可以幫助到大家.