vdbench(一)
vdbench是一個(gè) I/O 工作負(fù)載生成器,用于驗(yàn)證數(shù)據(jù)完整性和度量直接附加和網(wǎng)絡(luò)連接的存儲(chǔ)的性能。它是一個(gè)免費(fèi)的工具,容易使用,而且常常用于測(cè)試和基準(zhǔn)測(cè)試。
1.安裝
需要安裝jdk?
到oracel下載vdbench504;不需要安裝,直接以絕對(duì)路徑執(zhí)行就可以
建議解壓到/var/www/html/vdbench
#unzip vdbench504 -d??/var/www/html/vdbench
2.使用
./vdbench -t?
這一步先測(cè)試一下工具能不能用,如何正常,會(huì)在目錄下自動(dòng)生成一個(gè)output
./vdbench -f parmfile
根據(jù)指定配置文件測(cè)試
這里的parmfile需要根據(jù)測(cè)試環(huán)境修改,可以參考o(jì)utput目錄下的parmfile
樣例:
dd if=/dev/zero? of=/tmp/disk1 bs=4 count=1M
vim parmfile
sd=sd1,lun=/tmp/disk1 size=4m
wd=wd1,sd=sd1,xfersize=4096,readpct=100
rd=run1,wd=wd1,iorate=100,elapsed=10,interval=1
[root@localhost vdbench504]# ./vdbench -f parmfile.html?
Vdbench distribution: vdbench504
For documentation, see 'vdbench.pdf'.
?
3.參數(shù)說(shuō)明
對(duì)于一個(gè)虛擬塊設(shè)備,配置以下參數(shù):
HD:主機(jī)定義
-
如果您希望展示當(dāng)前主機(jī),則設(shè)置 hd= localhost。如果希望指定一個(gè)遠(yuǎn)程主機(jī),hd= label。
-
system= IP 地址或網(wǎng)絡(luò)名稱。
-
clients= 用于模擬服務(wù)器的正在運(yùn)行的客戶端數(shù)量。
SD:存儲(chǔ)定義
-
sd= 標(biāo)識(shí)存儲(chǔ)的名稱。
-
host= 存儲(chǔ)所在的主機(jī)的 ID。
-
lun= 原始磁盤、磁帶或文件系統(tǒng)的名稱。vdbench 也可為您創(chuàng)建一個(gè)磁盤。
-
threads= 對(duì) SD 的最大并發(fā) I/O 請(qǐng)求數(shù)量。默認(rèn)為 8。
-
hitarea= 調(diào)整讀取命中百分比的大小。默認(rèn)為 1m。
-
openflags= 用于打開一個(gè) lun 或一個(gè)文件的 flag_list。
WD:工作負(fù)載定義
-
wd= 標(biāo)識(shí)工作負(fù)載的名稱。
-
sd= 要使用的存儲(chǔ)定義的 ID。
-
host= 要運(yùn)行此工作負(fù)載的主機(jī)的 ID。默認(rèn)設(shè)置為 localhost。
-
rdpct= 讀取請(qǐng)求占請(qǐng)求總數(shù)的百分比。
-
rhpct= 讀取命中百分比。默認(rèn)設(shè)置為 0。
-
whpct= 寫入命中百分比。默認(rèn)設(shè)置為 0。
-
xfersize= 要傳輸?shù)臄?shù)據(jù)大小。默認(rèn)設(shè)置為 4k。
-
seekpct= 隨機(jī)尋道的百分比。可為隨機(jī)值。
-
openflags= 用于打開一個(gè) lun 或一個(gè)文件的 flag_list。
-
iorate= 此工作負(fù)載的固定 I/O 速率。
RD:運(yùn)行定義
-
rd= 標(biāo)識(shí)運(yùn)行的名稱。
-
wd= 用于此運(yùn)行的工作負(fù)載的 ID。
-
iorate= (#,#,...) 一個(gè)或多個(gè) I/O 速率。
-
curve:性能曲線(待定義)。
-
max:不受控制的工作負(fù)載。
-
elapsed= time:以秒為單位的運(yùn)行持續(xù)時(shí)間。默認(rèn)設(shè)置為 30。
-
warmup= time:加熱期,最終會(huì)被忽略。
-
distribution= I/O 請(qǐng)求的分布:指數(shù)、統(tǒng)一或確定性。
-
pause= 在下一次運(yùn)行之前休眠的時(shí)間,以秒為單位。
-
openflags= 用于打開一個(gè) lun 或一個(gè)文件的 flag_list。
對(duì)于一個(gè)文件系統(tǒng)
對(duì)于一個(gè)文件系統(tǒng),配置以下參數(shù):
HD:主機(jī)定義。與虛擬塊設(shè)備相同。
FSD:文件系統(tǒng)定義
-
fsd= 標(biāo)識(shí)文件系統(tǒng)定義的名稱
-
anchor= 將在其中創(chuàng)建目錄結(jié)構(gòu)的目錄
-
width= 要在定位符下創(chuàng)建的目錄數(shù)
-
depth= 要在定位符下創(chuàng)建的級(jí)別數(shù)
-
files= 要在最低級(jí)別創(chuàng)建的文件數(shù)
-
sizes= (size,size,...) 將創(chuàng)建的文件大小
-
distribution= bottom(如果希望僅在最低級(jí)別創(chuàng)建文件)和 all(如果希望在所有目錄中創(chuàng)建文件)
-
openflags= 用于打開一個(gè)文件系統(tǒng) (Solaris) 的 flag_list
FWD:文件系統(tǒng)工作負(fù)載定義
-
fwd= 標(biāo)識(shí)文件系統(tǒng)工作負(fù)載定義的名稱。
-
fsd= 要使用的文件系統(tǒng)定義的 ID。
-
host= 要用于此工作負(fù)載的主機(jī)的 ID。
-
fileio= random 或 sequential,表示文件 I/O 將執(zhí)行的方式。
-
fileselect= random 或 sequential,標(biāo)識(shí)選擇文件或目錄的方式。
-
xfersizes= 數(shù)據(jù)傳輸(讀取和寫入操作)處理的數(shù)據(jù)大小。
-
operation= mkdir、rmdir、create、delete、open、close、read、write、getattr 和 setattr。選擇要執(zhí)行的單個(gè)文件操作。
-
rdpct= (僅)讀取和寫入操作的百分比。
-
threads= 此工作負(fù)載的并發(fā)線程數(shù)量。每個(gè)線程需要至少 1 個(gè)文件。
RD:運(yùn)行定義
-
fwd= 要使用的文件系統(tǒng)工作負(fù)載定義的 ID。
-
fwdrate= 每秒執(zhí)行的文件系統(tǒng)操作數(shù)量。
-
format= yes / no / only / restart / clean / directories。在開始運(yùn)行之前要執(zhí)行的操作。
-
operations= 覆蓋 fwd 操作。選項(xiàng)相同。
?
運(yùn)行之后的輸出文件夾文件
每次運(yùn)行后,vdbench 會(huì)創(chuàng)建一個(gè)包含以下文件的輸出文件夾:
-
errorlog.html
-
當(dāng)為測(cè)試啟用了數(shù)據(jù)驗(yàn)證時(shí),它可包含一些數(shù)據(jù)塊中的錯(cuò)誤的相關(guān)信息:
-
無(wú)效的密鑰讀取
-
無(wú)效的 lba 讀取(一個(gè)扇區(qū)的邏輯字節(jié)地址)
-
無(wú)效的 SD 或 FSD 名稱讀取
-
數(shù)據(jù)損壞,即使在使用錯(cuò)誤的 lba 或密鑰時(shí)
-
數(shù)據(jù)損壞
-
壞扇區(qū)
-
-
flatfile.html
-
包含 vdbench 生成的一種逐列的 ASCII 格式的信息。
-
histogram.html
-
一種包含報(bào)告柱狀圖的響應(yīng)時(shí)間、文本格式的文件。
-
logfile.html
-
包含 Java 代碼寫入控制臺(tái)窗口的每行信息的副本。logfile.html 主要用于調(diào)試用途
-
parmfile.html
-
顯示已包含用于測(cè)試的每項(xiàng)內(nèi)容的最終結(jié)果
-
resourceN-M.html、resourceN.html、resourceN.var_adm_msgs.html
-
-
摘要報(bào)告
-
stdout/stderr 報(bào)告
-
主機(jī) N 的摘要報(bào)告
-
最后 “nn” 行文件 /var/adm/messages 和 /var/adm/messages。每個(gè) M 個(gè) JVM/Slave 的目標(biāo)主機(jī) N 和主機(jī) N 上為 0。
-
-
sdN.histogram.html、sdN.html
-
每個(gè) N 存儲(chǔ)定義的柱狀圖和存儲(chǔ)定義 “N” 報(bào)告。
-
summary.html
-
主要報(bào)告文件,顯示為在每個(gè)報(bào)告間隔的每次運(yùn)行生成的總工作負(fù)載,以及除第一個(gè)間隔外的所有間隔的加權(quán)平均值。
-
interval:報(bào)告間隔序號(hào)
-
I/O rate:每秒觀察到的平均 I/O 速率
-
MB sec:傳輸?shù)臄?shù)據(jù)的平均 MB 數(shù)
-
bytes I/O:平均數(shù)據(jù)傳輸大小
-
read pct:平均讀取百分比
-
resp time:以讀/寫請(qǐng)求持續(xù)時(shí)間度量的平均響應(yīng)時(shí)間。所有 vdbench 時(shí)間都以毫秒為單位。
-
resp max:在此間隔中觀察到的最大響應(yīng)時(shí)間。最后一行包含最大值總數(shù)。
-
resp stddev:響應(yīng)時(shí)間的標(biāo)準(zhǔn)偏差
-
cpu% sys+usr:處理器繁忙 = 100(系統(tǒng) + 用戶時(shí)間)(Solaris、Windows、Linux)
-
cpu% sys:處理器利用率:系統(tǒng)時(shí)間
-
-
swat_mon.txt,swat_mon_total.txt
-
-
vdbench 與 Sun StorageTekTM Workload Analysis Tool (Swat) Trace Facility (STF) 相結(jié)合,支持您重放使用 Swat 創(chuàng)建的一個(gè)軌跡的 I/O 工作負(fù)載。
-
Swat 使用 Create Replay File 選項(xiàng)創(chuàng)建和處理的軌跡文件會(huì)創(chuàng)建文件 flatfile.bin(flatfile.bin.gz 用于 vdbench403 和更高版本),其中包含 Swat 所識(shí)別的每個(gè) I/O 操作的一條記錄。
-
這些文件包含一個(gè)格式化的報(bào)告,可將該報(bào)告導(dǎo)入 Swat Performance Monitor (SPM) 中來(lái)創(chuàng)建性能圖表。?
-
?
-
個(gè)人總結(jié):
1。指定一個(gè)分區(qū)報(bào)錯(cuò)
Slave localhost-0 aborting: On Linux 'openflags=o_direct' is required for any lun starting with '/dev/': /dev/sdb1
解決方法
在lun后面加上openflags=o_direct
?sd=sd1,lun=/dev/sdb1,openflags=o_direct
?
使用 vdbench 來(lái)測(cè)試原始磁盤和文件系統(tǒng)。它有一個(gè) Web 用戶界面可顯示詳細(xì)的性能報(bào)告。vdbench 由 Sun Microsystems 的 Henk Vandenbergh 開發(fā),以前稱為 StorageTek。vdbench 是使用 Java? 編寫的。它在 Solaris、Windows、HP-UX、AIX、Linux、Mac OS X、zLinux 和原生 VMware 上經(jīng)過(guò)了測(cè)試。
1.先將以下4個(gè)文件準(zhǔn)備好:
jdk-6u3-Linux-i586-rpm.bin
Parmfile
vdbench502.tar
Vdbench使用指導(dǎo)書.doc
2.在linux下建立一個(gè)文件夾,為vdbench。
3.將上面的4個(gè)文件copy到剛才建立的文件建vdbench中。
4.安裝jdk?-?jdk-6u3-linux-i586-rpm.bin
先賦予權(quán)限:chmod?755?*
在執(zhí)行:./jdk-6u3-linux-i586-rpm.bin
執(zhí)行該命令后,會(huì)讓你閱讀協(xié)議,一直點(diǎn)擊回車到最后,輸入yes或者y,同意協(xié)議。
5.解壓tar包:?tar??-xvf??vdbench502.tar
6.執(zhí)行命令:./vdbench?-t。對(duì)vdbench進(jìn)行測(cè)試
最后輸出:?Vdbench?execution?completed?successfully.?Output?directory:?/root/vdbench/output。表示執(zhí)行測(cè)試成功。
7.使用命名:?vi?parmfile?。進(jìn)入文件,對(duì)里面的參數(shù)進(jìn)行修改。
8.保存parmfile文件后。執(zhí)行命令:./vdbench?-f?parmfile。就能達(dá)到效果了。
http://blog.chinaunix.net/uid-29163607-id-4855449.html
http://pt.findeen.com/vdbench使用指導(dǎo)書.html
2.
?
編輯測(cè)試腳本:
?
?
腳本內(nèi)容:
(可按實(shí)際測(cè)試要求更改)
?
sd=sd1,lun=/dev/sdk,threads=64,range=(100g,150g)
或者
range=(30,50)
容量百分比
?
wd=wd1,sd=sd*,seekpct=seq,rdpct=100,xfersize=1M,openflags=o_direct?
rd=rd1,wd=wd*,elapsed=120,interval=1,iorate=max?
若是跑文件系統(tǒng),先要掛載,之后在掛載的盤上建立文件,之后把腳本里的
lun=/mnt/***
就可以了
?
?
sd
:存儲(chǔ)描述,定義測(cè)試磁盤。
?
lun
:定義測(cè)試磁盤為
/dev/sdk
。
?
threads
:定義并行測(cè)試進(jìn)程為
64
進(jìn)程。
?
wd
:工作描述,定義策略。
?
sd
:使用之前定義過(guò)的
sd
。
?
seekpct
:定義順序
(seq)
或隨機(jī)
(random)
。
?
rdpct
定義讀寫比率:
100
為
100%
讀,
100%
寫。
?
xfersize
:定義測(cè)試文件塊大小。
?
openflags=o_direct
:遍歷整個(gè)磁盤(測(cè)試裸設(shè)備時(shí)使用)
?
?
rd
:運(yùn)行描述,定義運(yùn)行方式:
?
?
?
?
wd
:使用之前定義過(guò)的
wd
。
?
?
?
?
elapsed
:定義測(cè)試時(shí)間(
120
秒)。
?
?
?
?
interval
:測(cè)試結(jié)果刷新頻率(
1
秒鐘刷新一次測(cè)試結(jié)果)。
?
?
?
?
iorate=max
:運(yùn)行最大
io
性能
?
可以更改測(cè)試磁盤、讀寫策略、塊大小、測(cè)試時(shí)間及刷新頻率來(lái)進(jìn)行不同方式的測(cè)試。
?
?
注:默認(rèn)
vdbench503rc5x
目錄下的
examples
里有示例,可以按照示例更改測(cè)試腳本。
?
3.
?
開始運(yùn)行測(cè)試:
?
在
vdbench503rc5x
目錄下直接運(yùn)行
?
./vdbench?
–
f?
測(cè)試腳本
?
–
o?
結(jié)果輸出文件存放
?
?
在目錄下可能需要權(quán)限:
chmod?
?
777?
?
vdvench?
轉(zhuǎn)載于:https://www.cnblogs.com/cmlaiweno/p/6725345.html
總結(jié)
以上是生活随笔為你收集整理的vdbench(一)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Node2Vec
- 下一篇: word2vec和node2vec笔记(