1. 程式人生 > >性能測試工具UnixBench IOPing

性能測試工具UnixBench IOPing

ioping UnixBench

1. UnixBench

UnixBench 是測試類 Unix 系統性能的老牌工具,也是常用的基準測試工具。它會執行 11 個單項測試,包括字符串處理、浮點運算效率、 文件數據傳輸、管道吞吐等,然後將結果與一個基準系統進行比較,得到一個指數值。指數值越高,性能越好。

最終的得分比單個測試的結果根據參考價值,而且也方便對服務器進行比較。

在安裝 UnixBench 之前,要先準備好相關的依賴。請執行:

yum install perl-Time-HiRes libx11-dev libgl1-mesa-dev libxext-dev perl perl-modules make gcc
下載安裝包,然後按下面的提示操作。官方的源在 googlecode 上,國內訪問不便,我已經將文件上傳到對象存儲服務。

wget http://codingpy-1252715393.cosgz.myqcloud.com/archive/UnixBench5.1.3.tgz
tar xvf UnixBench5.1.3.tgz
cd UnixBench
make

運行 make 之前,確保將 Makefile 文件中 GRAPHICS_TEST = defined 行被註釋掉,因為我們是在服務器端進行測試,不需要做 2D/3D 圖形測試。

最後,執行:

./Run
如果一切正常,應該會出現類似下面的文字:
技術分享圖片
UnixBench 運行

UnixBench 測試的運行時間比較長,期間可以離開去幹別的事情。

除了直接在命令行輸出測試結果之外(如下圖),還會在 result 目錄下生成一個 HTML 格式的報告,可以將其拷貝至本地。

UnixBench 測試結果

一般來說,得分在 1000 以上的雲服務器就算還不錯的。

2. IOPing

磁盤性能的另一個指標是延遲。可以通過 IOPing 工具進行測試。IOPing 會運行指定數量的磁盤 I/O 請求,並測試響應的時間。輸出結果測試使用 ping 命令測試網絡延遲的輸出。

操作如下提示安裝 IOPing:

yum install ioping

然後通過下面的命令運行測試:

ioping -c 100 .

-c 100選項是ioping將要編號的請求。 該程序也作為文件和/或設備檢查的參數。 在這種情況下,實際的工作目錄。
輸出結果類似下面這樣,我們取其中 avg 對應的值:

4 KiB <<< . (xfs /dev/dm-2): request=1 time=16.3 ms (warmup) 
4 KiB <<< . (xfs /dev/dm-2): request=2 time=253.3 us 
4 KiB <<< . (xfs /dev/dm-2): request=3 time=284.0 ms 
… 4 KiB <<< . (xfs /dev/dm-2): request=96 time=175.6 us (fast) 
4 KiB <<< . (xfs /dev/dm-2): request=97 time=258.7 us (fast 
4 KiB <<< . (xfs /dev/dm-2): request=98 time=277.6 us (fast) 
4 KiB <<< . (xfs /dev/dm-2): request=99 time=242.3 us (fast) 
4 KiB <<< . (xfs /dev/dm-2): request=100 time=36.1 ms (fast) 
--- . (xfs /dev/dm-2) ioping statistics  ---
99個請求在3.99秒完成,396 KiB讀取,24 iops,99.3 KiB / s 
在1.65分鐘,400 KiB,1 iops,4.04 KiB / s中產生100個請求 
min / avg / max / mdev = 163.5 us / 40.3ms / 760.0ms / 118.5ms

請求響應時間越低,說明磁盤性能越好。

性能測試工具UnixBench IOPing