1. 程式人生 > >vdbench和fio測試磁盤性能的對比總結

vdbench和fio測試磁盤性能的對比總結

seek default put network open 百分比 rect ... 寫入

一、安裝

1、安裝vdbench,首先安裝java:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

其次下載vdbench安裝包並進行安裝:http://pan.baidu.com/s/1b7XooY;

#mv vdbench50406 /var/www/html/ 
#unzip vdbench50406.zip -d vdbench504

啟動基準測試之前,使用默認的參數檢查安裝是否成功完成:

# ./vdbench -t

[root@lrrvd vdbench504]# ./vdbench -t


Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
Vdbench distribution: vdbench50406 Wed July 20 15:49:52 MDT 2016
For documentation, see vdbench.pdf.

16:47:50.883 input argument scanned: -f/tmp/parmfile
16:47:50.939 Starting slave: /var/www/html/vdbench504/vdbench SlaveJvm -m localhost -n localhost-10-171116-16.47.50.757 -l localhost-0 -p 5570 16:48:01.006 Waiting for slave connection: localhost-0 16:48:01.508 All slaves are now connected 16:48:03.002 Starting RD=rd1; I/O rate: 100; elapsed=5; For loops: None Nov 16, 2017
interval i/o MB/sec bytes read resp read write resp resp queue cpu% cpu% rate 1024**2 i/o pct time resp resp max stddev depth sys+u sys 16:48:04.051 1 86.00 0.08 1024 54.65 0.012 0.009 0.015 0.064 0.010 0.0 12.6 2.1 16:48:05.047 2 93.00 0.09 1024 50.54 0.016 0.012 0.020 0.064 0.012 0.0 5.1 1.0 16:48:06.047 3 94.00 0.09 1024 50.00 0.010 0.007 0.013 0.043 0.006 0.0 2.0 0.0 16:48:07.046 4 88.00 0.09 1024 50.00 0.012 0.008 0.017 0.043 0.009 0.0 2.5 0.5 16:48:08.051 5 99.00 0.10 1024 57.58 0.009 0.007 0.013 0.026 0.005 0.0 2.0 0.5 16:48:08.076 avg_2-5 92.00 0.09 1024 52.61 0.012 0.008 0.016 0.064 0.009 0.0 6.6 1.1 16:48:08.749 Vdbench execution completed successfully. Output directory: /var/www/html/vdbench504/output

目前為止,安裝完成。

介紹一下參數意義:對於一個虛擬塊設備,配置以下參數

HD:主機定義

如果您希望展示當前主機,則設置 hd= localhost。如果希望指定一個遠程主機,hd= label。

system= IP 地址或網絡名稱

clients= 用於模擬服務器的正在運行的客戶端數量。

SD:存儲定義

sd= 標識存儲的名稱。

host= 存儲所在的主機的 ID。

lun= 原始磁盤、磁帶或文件系統的名稱。vdbench 也可為您創建一個磁盤。

threads= 對 SD 的最大並發 I/O 請求數量。默認為 8。

hitarea= 調整讀取命中百分比的大小。默認為 1m

openflags= 用於打開一個 lun 或一個文件的 flag_list

WD:工作負載定義

wd= 標識工作負載的名稱

sd= 要使用的存儲定義的 ID

host= 要運行此工作負載的主機的 ID。默認設置為 localhost

rdpct= 讀取請求占請求總數的百分比。

rhpct= 讀取命中百分比。默認設置為 0。

whpct= 寫入命中百分比。默認設置為 0。

xfersize= 要傳輸的數據大小。默認設置為 4k。

seekpct= 隨機尋道的百分比。可為隨機值

openflags= 用於打開一個 lun 或一個文件的 flag_list

iorate= 此工作負載的固定 I/O 速率

RD:運行定義

rd= 標識運行的名稱。

wd= 用於此運行的工作負載的 ID。

iorate= (#,#,...) 一個或多個 I/O 速率

curve:性能曲線(待定義)。

max:不受控制的工作負載。

elapsed= time:以秒為單位的運行持續時間。默認設置為 30。

warmup= time:加熱期,最終會被忽略

distribution= I/O 請求的分布:指數、統一或確定性。

pause= 在下一次運行之前休眠的時間,以秒為單位。

openflags= 用於打開一個 lun 或一個文件的 flag_list。

對於一個文件系統,配置以下參數:

HD:主機定義。與虛擬塊設備相同

FSD:文件系統定義

fsd= 標識文件系統定義的名稱

anchor= 將在其中創建目錄結構的目錄

width= 要在定位符下創建的目錄數

depth= 要在定位符下創建的級別數

files= 要在最低級別創建的文件數

sizes= (size,size,...) 將創建的文件大小

distribution= bottom(如果希望僅在最低級別創建文件)和 all(如果希望在所有目錄中創建文件)

openflags= 用於打開一個文件系統 (Solaris) 的 flag_list

FWD:文件系統工作負載定義

fwd= 標識文件系統工作負載定義的名稱

fsd= 要使用的文件系統定義的 ID

host= 要用於此工作負載的主機的 ID。

fileio= random 或 sequential,表示文件 I/O 將執行的方式。

fileselect= random 或 sequential,標識選擇文件或目錄的方式。

xfersizes= 數據傳輸(讀取和寫入操作)處理的數據大小。

operation= mkdir、rmdir、create、delete、open、close、read、write、getattr 和 setattr。選擇要執行的單個文件操作。

rdpct= (僅)讀取和寫入操作的百分比。

threads= 此工作負載的並發線程數量。每個線程需要至少 1 個文件。

RD:運行定義

fwd= 要使用的文件系統工作負載定義的 ID。

fwdrate= 每秒執行的文件系統操作數量。

format= yes / no / only / restart / clean / directories。在開始運行之前要執行的操作。

operations= 覆蓋 fwd 操作。選項相同。

1)測試塊設備的性能(隨機寫)

編輯測試腳本文件test1(測試本機一塊磁盤)

hd=default,vdbench=/var/www/html/vdbench504,user=root,shell=ssh
sd=sd1,lun=/dev/vdc,openflags=o_direct,threads=1
wd=wd1,sd=sd1,xfersize=16k,readpct=0,seekpct=100
rd=rd1,wd=wd1,iorate=max,elapsed=120,maxdata=5500g,interval=1,warmup=30

測試本機兩塊磁盤(後面類推)

hd=default,vdbench=/var/www/html/vdbench504,user=root,shell=ssh
sd=sd1,lun=/dev/vdc,openflags=o_direct,threads=1
sd=sd2,lun=/dev/vdb,openflags=o_direct,threads=1
wd=wd1,sd=sd*,xfersize=16k,readpct=0,seekpct=100
rd=rd1,wd=wd1,iorate=max,elapsed=120,maxdata=5500g,interval=1,warmup=30

2、fio的安裝

直接下載安裝軟件,拷貝到虛機即可,通過自己寫腳本或者執行命令去測試

二、兩者的區別與共同之處

1、vdbench中的threads相當於fio的threads和depth

2、vdbench測試結果中的I/O相當於fio的iops;vdbench中的MB/sec相當於fio的BW帶寬;vdbench的rest time相當於fio的時延

3、vdbench測試的是整個集群或者整個虛機或者所有磁盤的總性能,而fio需要寫腳本去測試多個磁盤或者多臺虛機

vdbench和fio測試磁盤性能的對比總結