日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

vdbench使用

發布時間:2023/12/31 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 vdbench使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

簡介


vdbench是一個 I/O 工作負載生成器,用于驗證數據完整性和度量直接附加和網絡連接的存儲的性能。它是一個免費的工具,容易使用,而且常常用于測試和基準測試。

可以使用vdbench測試磁盤和文件系統的讀寫性能。

名詞解釋

vdbench中常用的一些名詞解釋:

HD ? ?主機定義
SD ? ?存儲定義?
WD ? 工作負載定義
RD ? ?運行定義
FSD ? 文件系統存儲定義
FWD ?文件工作負載定義


安裝和配置


linux下配置vdbench


(1)下載Vdbench

下載地址:

http://www.oracle.com/technetwork/cn/server-storage/vdbench-downloads-1901681-zhs.html

下載之后解壓;

(2)然后安裝java(vdbench的運行依賴于java)
yum install -y java
java -version
(3)安裝csh或者將csh從別的安裝好了的系統拷貝到/bin目錄下,vdbench在linux上的運行需要csh來支撐。

? ? ? ? ?CSH,是一種計算機中的linux、unix命令,用來調用 C shell。

? ? ? ? ?C shell 是一個交互式命令解釋器和一種命令編程語言,采用的語法類似于 C 編程語言。shell 是交互式地從終端鍵盤或者是從一個文件來執行命令的。這個 csh 命令調用了 C shell。當調用 csh 命令時就會執行,這是通過查找根目錄和執行命令從 .cshrc 文件(用來存儲用戶化的用戶信息)中,執行的條件是命令存在。如果 csh 命令作為一個登錄 shell 運行,就會從 .cshrc 和 .login 文件中執行命令。

安裝:yum?install -y csh
查看:ls /bin/ |grep csh
(4)進入vdbench相應目錄下./vdbench -t 來測試一下vdbench的可用性,如果正常,會在目錄下自動生成一個output目錄。


如果報錯,則需修改vdbench的權限:

root@node03:/home/vdbench/vdbench50406# chmod 777 vdbench


Windows下配置vdbench


(1)解壓vdbench包(vdbench的linux版本的包和windows是同一個),解壓之后,下載32位的java,安裝java,配置windows上java的環境變量;(注意:目前vdbench在windows支持32位的java)
(2)打開dos窗口,切換到vdbench目錄,執行命令 vdbench -t來測試vdbench的可用性

使用

vdbench文件系統測試

對于一個文件系統,需要配置以下參數:

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

(2)FSD:文件系統定義

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

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

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

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

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

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

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

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

(3)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 個文件。

(4)RD:運行定義

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

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

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

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

配置文件例子:
fsd=fsd1,anchor=/mnt/cephfs02,depth=3,width=10,files=20,size(512,50,4k,50),openflags=o-direct
fwd=fwd1,fsd=fsd1,operation=write,xfersize=(4k,15,8k,35,1M,50),fileio=random,fileselect=random,threads=32
rd=rd1,fwd=fwd1,fwdrate=max,format=yes,elapsed=20,interval=1

vdbench裸盤測試


1、對于一個塊設備,配置以下參數:

(1)HD:主機定義
? ? ?如果您希望展示當前主機,則設置 hd= localhost。如果希望指定一個遠程主機,hd= label。
? ? ?system= IP 地址或網絡名稱。

Example:
? ? ?hd=localhost,shell=ssh,vdbench=/home/vdbench/vdbench50406,user=root
? ? ?hd=hd1,system=10.147.0.15
? ? ?hd=hd2,system=10.147.37.173
注意:vdbench=dir ,這里的目錄是指所有主機上的目錄,這就表示,所有主機上的vdbench目錄都要一樣,且對應的配置要放在vdbench下面;

(2)SD:存儲定義
? ? ?sd= 標識存儲的名稱。
? ? ?host= 存儲所在的主機的 ID。
? ? ?lun= 原始磁盤、磁帶或文件系統的名稱。vdbench 也可為您創建一個磁盤。
? ? ?threads= 對 SD 的最大并發 I/O 請求數量。默認為 8。
? ? ?hitarea= 調整讀取命中百分比的大小。默認為 1m。
? ? ?openflags= 用于打開一個 lun 或一個文件的 flag_list,為了貼近真實場景,一般在這里選擇o_direct,繞過緩存機制,直接寫盤。

Example:
? ? ? sd=default,threads=32,openflags=o_direct,size=340G
? ? ? sd=sd1,hd=hd1,lun=/dev/sdb
? ? ? sd=sd2,hd=hd1,lun=/dev/sdc
? ? ? sd=sd3,hd=hd1,lun=/dev/sdd
? ? ? sd=sd4,hd=hd1,lun=/dev/sde
? ? ? sd=sd5,hd=hd1,lun=/dev/sdf
? ? ? sd=sd6,hd=hd1,lun=/dev/sdg
? ? ? sd=sd7,hd=hd1,lun=/dev/sdh
? ? ? sd=sd8,hd=hd1,lun=/dev/sdi
? ? ? sd=sd1,hd=hd2,lun=/dev/sdb
? ? ? sd=sd2,hd=hd2,lun=/dev/sdc
? ? ? sd=sd3,hd=hd2,lun=/dev/sdd
? ? ? sd=sd4,hd=hd2,lun=/dev/sde
? ? ? sd=sd5,hd=hd2,lun=/dev/sdf
? ? ? sd=sd6,hd=hd2,lun=/dev/sdg
? ? ? sd=sd7,hd=hd2,lun=/dev/sdh
? ? ? sd=sd8,hd=hd2,lun=/dev/sdi
? ? ? 此配置區分了主機1和主機2,第一行是針對以下所有sd的通用配置;
(3)WD:工作負載定義
? ? ?wd= 標識工作負載的名稱。
? ? ?sd= 要使用的存儲定義的 ID。
? ? ?host= 要運行此工作負載的主機的 ID。默認設置為 localhost。
? ? ?rdpct= 讀取請求占請求總數的百分比。
? ? ?rhpct= 讀取命中百分比。默認設置為 0。
? ? ?whpct= 寫入命中百分比。默認設置為 0。
? ? ?xfersize= 要傳輸的數據大小。默認設置為 4k。
? ? ?seekpct= 隨機尋道的百分比。可為隨機值。
? ? ?openflags= 用于打開一個 lun 或一個文件的 flag_list。
? ? ?iorate= 此工作負載的固定 I/O 速率。

Example:
wd=wd1,sd=sd*,xfersize=4k,rdpct=0,seekpct=100
此配置,配置了塊的大小,讀的比例和隨機比例;
(4)RD:運行定義
? ? ?rd= 標識運行的名稱。
? ? ?wd= 用于此運行的工作負載的 ID。
? ? ?iorate= (#,#,...) 一個或多個 I/O 速率。(這里可以控制運行的iops,如果不控制就設置成max)
? ? ?elapsed= time:以秒為單位的運行持續時間。默認設置為30。(設置長時間的運行,可能會使得數據更加穩定)
? ? ?warmup= time:加熱期,最終會被忽略。
? ? ?distribution= I/O 請求的分布:指數、統一或確定性。
? ? ?pause= 在下一次運行之前休眠的時間,以秒為單位。
? ? ?openflags= 用于打開一個 lun 或一個文件的 flag_list。

配置文件例子:
hd=localhost,shell=ssh,vdbench=/home/vdbench/vdbench50406,user=root
hd=hd1,system=200.200.213.30
sd=default,threads=16,openflags=o_direct,size=30G
sd=sd1,hd=hd1,lun=/dev/sdb
sd=sd2,hd=hd1,lun=/dev/sdc
sd=sd3,hd=hd1,lun=/dev/sdb
sd=sd4,hd=hd1,lun=/dev/sdc
sd=sd5,hd=hd1,lun=/dev/sdb
sd=sd6,hd=hd1,lun=/dev/sdc
sd=sd7,hd=hd1,lun=/dev/sdb
sd=sd8,hd=hd1,lun=/dev/sdc
wd=wd1,sd=sd*,xfersize=4k,rdpct=0,seekpct=100
rd=run1,wd=wd1,iorate=max,el=100000,in=1,warmup=600
?

結果分析


每次運行后,vdbench 會創建一個包含以下文件的output文件夾:

(1)errorlog.html——當為測試啟用了數據驗證(-jn)時,它可包含一些數據塊中的錯誤的相關信息:

????????無效的密鑰讀取

????????無效的 lba 讀取(一個扇區的邏輯字節地址)

????????無效的 SD 或 FSD 名稱讀取

????????數據損壞,即使在使用錯誤的 lba 或密鑰時

????????數據損壞

????????壞扇區

(2)flatfile.html——包含 vdbench 生成的一種逐列的 ASCII 格式的信息。

(3)histogram.html——一種包含報告柱狀圖的響應時間、文本格式的文件。

(4)logfile.html——包含 Java 代碼寫入控制臺窗口的每行信息的副本。logfile.html 主要用于調試用途

(5)parmfile.html——顯示已包含用于測試的每項內容的最終結果

(6)resourceN-M.html、resourceN.html、resourceN.var_adm_msgs.html

? ? ? ? ?摘要報告、stdout/stderr 報告、主機 N 的摘要報告

????????最后 “nn” 行文件 /var/adm/messages 和 /var/adm/messages。每個 M 個 JVM/Slave 的目標主機 N 和主機 N 上為 0。

(7)sdN.histogram.html、sdN.html——每個 N 存儲定義的柱狀圖和存儲定義 “N” 報告。

(8)summary.html——主要報告文件,顯示為在每個報告間隔的每次運行生成的總工作負載,以及除第一個間隔外的所有間隔的加權平均值。

????????interval:報告間隔序號

????????I/O rate:每秒觀察到的平均 I/O 速率

????????MB sec:傳輸的數據的平均 MB 數

????????bytes I/O:平均數據傳輸大小

????????read pct:平均讀取百分比

????????resp time:以讀/寫請求持續時間度量的平均響應時間。所有 vdbench 時間都以毫秒為單位。

????????resp max:在此間隔中觀察到的最大響應時間。最后一行包含最大值總數。

????????resp stddev:響應時間的標準偏差

????????cpu% sys+usr:處理器繁忙 = 100(系統 + 用戶時間)(Solaris、Windows、Linux)

????????cpu% sys:處理器利用率:系統時間

(9)swat_mon.txt,swat_mon_total.txt

????????vdbench 與 Sun StorageTekTM Workload Analysis Tool (Swat) Trace Facility (STF) 相結合,支持重放使用 Swat 創建的一個軌跡的 I/O 工作負載。
????????Swat 使用 Create Replay File 選項創建和處理的軌跡文件會創建文件 flatfile.bin(flatfile.bin.gz 用于 vdbench403 和更高版本),其中包含 Swat 所識別的每個 I/O 操作的一條記錄。

這些文件包含一個格式化的報告,可將該報告導入 Swat Performance Monitor (SPM) 中來創建性能圖表。?

數據一致性校驗

vdbench另一個重要功能就是做數據校驗,可以通過執行時增加以下命令參數來打開數據校驗功能:

-v Activate data validation.
-vr Activate data validation, immediately re-read after each write. (寫完馬上重讀校驗)

選項'-vr'可用于在每次寫后立即進行讀取和驗證,而通常只在數據塊計劃下一次讀或下一次寫時進行驗證。當對一個大LUN進行I/O操作時,塊再次被引用通常需要一段時間。因此,有時這可能有助于快速確認數據是否正確。但是,請注意,在寫之后立即讀取塊很可能只會顯示數據已經到達控制器緩存,而沒有證據表明數據曾經到達物理磁盤驅動器。

-vw Activate data validation, but don’t read before write. (保證讀在寫之后)
-vt Activate data validation, keep track of each write timestamp (memory intensive)? (跟蹤每個寫時間戳(內存密集型))

選項'-vt'將在內存中保存最近一次成功讀或寫的時間戳(沒有日志可用)。當數據塊失敗時,將報告此時間戳。知道塊在一天中的什么時候是好的,可以幫助您識別可能導致問題的錯誤注入。注意:這需要每個數據塊多8個字節的內存(因此512字節塊的內存需求可能令人望而卻步)。


-j Activate data validation

-jn

-vr

-vt

配置文件方式如下:

vdbench配置中,校驗方式:

create_anchors=yes

validate=yes

validate=read

validate=read_after_write

validate=no_preread

validate=time

journal=yes

journal=noflush

參考文章:
原文鏈接:https://blog.csdn.net/u012114090/article/details/81626430

總結

以上是生活随笔為你收集整理的vdbench使用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。