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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > windows >内容正文

windows

【ceph】vdbench的使用教程——裸盘测试和文件系统测试vdbanch

發(fā)布時間:2023/12/31 windows 57 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【ceph】vdbench的使用教程——裸盘测试和文件系统测试vdbanch 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

目錄

即看即用

詳細(xì)說明

vdbench簡介

常用執(zhí)行選項和參數(shù)文件說明

1、文件系統(tǒng)

2、塊設(shè)備(裸盤測試)

運行使用

1、單機(jī)運行

2、聯(lián)機(jī)運行

結(jié)果分析

1、輸出文件

2、結(jié)果分析

測試說明

1、測試總結(jié)

2、常見測試參數(shù)

測試和思考

可視化

摘抄和參考:


bandaoyu,本文持續(xù)更新,連接:http://t.csdn.cn/7kaiZ

即看即用

1、下載 https://www.oracle.com/downloads/server-storage/vdbench-downloads.html

(外網(wǎng)不一定能訪問下載,可以直接在csdn下載欄搜索。下載)

2、解壓

文件夾中的vdbench.bat是個windows用,vdbench 給linux用

Linux

3、進(jìn)入文件夾

./vdbench -t? ?測試一下可用性

運行測試模型

./vdbench -f {filename} -o {exportpath} #注:-f后接測試參數(shù)文件/名腳本名,-o后接導(dǎo)出測試結(jié)果路徑

腳本的編寫

這部分可以參考解壓后的examples文件夾下的腳本,比如create_files;也可以參考o(jì)utput目錄下的parmfile.html

運行腳本

root@node1:/home/vdbench50406# ./vdbench? -f? examples/filesys/create_files? -jn

??其中-jn是為了做數(shù)據(jù)校驗,見文章末尾解釋。

輸出結(jié)果

windows

3、進(jìn)入文件夾

  • 可以執(zhí)行./vdbench.bat -t? 測試一下可用性(需要安裝jre/jdk,要配置好環(huán)境變量)

  • 編寫windows vdbench 腳本(或叫做配置文件)?parmfile

  • ?./vdbench -f? parmfile

  • 這里的parmfile需要根據(jù)測試環(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

    ?建立rsh通信

    ./vdbench rsh

    注:此命令是用于windows系統(tǒng)多主機(jī)聯(lián)機(jī)跑vdbench時使用,因為windows操作系統(tǒng)不支持ssh,因此,vdbench提供了rsh的通信方式。在目標(biāo)主機(jī)上執(zhí)行此工具后,vdbench將會啟動一個java socket用于vdbench slave與master之間通信

    詳細(xì)說明

    vdbench簡介

    vdbench 是一個磁盤I/O負(fù)載生成器,主要用于基準(zhǔn)測試和存儲產(chǎn)品的測試。

    vdbench 是由java語言編寫的,由oracle公司開發(fā)。

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

    這個工具有以下優(yōu)點:

    • 1、能夠每秒顯示整個測試的io疊加,這樣測試整個集群的io的時候,可以把所有虛機(jī)啟動起來,然后進(jìn)行io的壓測,而不是去壓單個rbd的iops,那個沒有太大的意義,只能是一個數(shù)值,真正的環(huán)境大多也不是給一個業(yè)務(wù)使用的,也可以跑起一個業(yè)務(wù)以后,再看剩余的機(jī)器還能跑多少性能
    • 2、在測試輸出報告里面會根據(jù)主機(jī)統(tǒng)計一次io,這個面向的業(yè)務(wù)場景就是,比如某臺主機(jī)上面可能掛載多塊云盤,那么可以根據(jù)主機(jī)進(jìn)行統(tǒng)計
    • 3、在報告里面還會根據(jù)設(shè)備顯示io個延時的信息,也就是只要是測試設(shè)備,每一個的性能指標(biāo)都能查到,這個的好處就是檢測集群里面的io是不是均勻的,如果做了qos,設(shè)備的測試性能值是不是跟設(shè)置限制一樣


    本文鏈接:https://www.codercto.com/a/49559.html

    與fio的區(qū)別

    這個比fio強(qiáng)大的是,既能夠測試塊接口也能測試文件接口,文件接口是去模擬寫入文件,這個又和mdtest類似,但是mdtest主要是去測試元數(shù)據(jù)能力,vdbench則比較綜合。

    windows下載地址:

    https://www.oracle.com/downloads/server-storage/vdbench-downloads.html

    使用方法

    下載 https://www.oracle.com/downloads/server-storage/vdbench-downloads.html

    解壓,文件夾中的vdbench.bat是個windows用,vdbench 給linux用。

    使用方法:

    1、編寫腳本(或叫做配置文件)

    ? ? ? 這部分可以參考解壓后的examples?件夾下的腳本,?如create_files;也可以參考o(jì)utput?錄下的parmfile.html

    fsd=fsd1,anchor=/dir,depth=1,width=1,files=10000,size=8k
    fwd=fwd1,fsd=fsd1,operation=read,threads=16
    rd=rd1,fwd=fwd*,fwdrate=100,format=yes,elapsed=5,interval=1

    注:(1)anchor=/dir 這個需要把路徑換成你ceph掛載的路徑,我的是anchor=/home/baymax/cephfs

    2、運行vdbench按腳本執(zhí)行
    ./vdbench? ?-f? ?examples/filesys/create_files? ? -jn
    ? ?其中-jn是為了做數(shù)據(jù)校驗,?前還不太懂。


    3、輸出結(jié)果

    注意事項

  • 在聯(lián)機(jī)測試時,客戶端的系統(tǒng)時間需保持一致,否則會出現(xiàn)時鐘同步告警(this can lead to heartbeat issues)
  • 客戶端的防火墻要關(guān)閉(或者設(shè)置開放程序指定端口5570、5560訪問)
  • 關(guān)閉系統(tǒng)日志服務(wù)rsyslog,避免運行時出現(xiàn)其他日志文件打印信息
    參數(shù)文件添加messagescan=no可以過濾掉多余的系統(tǒng)日志
  • 常用執(zhí)行選項和參數(shù)文件說明

    vdbench 測試工具涉及到的參數(shù)非常多,這些參數(shù)可以分為 塊存儲 和 文件系統(tǒng) 兩部分,每 部分又是按組進(jìn)行劃分的。 所有的參數(shù)都需要定義到一個參數(shù)文件當(dāng)中,在被讀取的時候都是按順序進(jìn)行的,所以在定義 時需要按指定的順序進(jìn)行定義。

    塊存儲參數(shù)文件的定義順序: HD, SD, WD, RD

    文件系統(tǒng)參數(shù)文件的定義順序: HD, FSD, FWD, RD

    HD, SD, WD, RD/HD, FSD, FWD, RD 配置文件中的關(guān)聯(lián)依賴說明:

    hd=default,vdbench=/root/vdbench50406,user=root,shell=ssh

    #有3個客戶端主機(jī),分別命名為hd1、hd2、hd3,IP/hostname分別是:node241、node242、node243

    hd=hd1,system=node241
    hd=hd2,system=node242
    hd=hd3,system=node243

    #待測試的存儲分別命名為sd1、sd2、sd3,sd1指代的是lun=/dev/sdb,用客戶端hd1測試,

    sd2指代的是lun=/dev/sdc,用客戶端hd2測試,sd3指代的是lun=/dev/sdb,用客戶端hd3測試
    sd=sd1,hd=hd1,lun=/dev/sdb,openflag=o_direct
    sd=sd2,hd=hd2,lun=/dev/sdc,openflag=o_direct
    sd=sd3,hd=hd3,lun=/dev/sdb,openflag=o_direct

    #定義我們的工作負(fù)載,名叫wd1,這個工作負(fù)載包括sd* (就是我們上面定義的sd1、sd2、sd3)
    wd=wd1,sd=sd*,seekpct=0,rdpct=0,xfersize=1M

    #定義我們的vdbench要運行的內(nèi)容,命名為rd1,要做的工作是我們上面定義的wd1
    rd=rd1,wd=wd1,iorate=max,maxdata=100M,elapsed=64800,warmup=30,interval=5

    【存儲測試】vdbench存儲性能測試工具 - https://www.cnblogs.com/luxf0/p/13321077.html

    3.1 常用選項

    -t: 運行5秒的塊設(shè)備測試,用于測試vdbench是否可用。

    -tf: 運行5秒的文件系統(tǒng)測試,用于測試vdbench是否可用。

    -f perfile: 加上參數(shù)文件prefile,進(jìn)行實際測試。

    -v: 開啟數(shù)據(jù)校驗。

    -vr: 寫入數(shù)據(jù)的同時也進(jìn)行數(shù)據(jù)校驗,通常用于測試時間比較長的情況。

    rsh: 運行rsh守護(hù)進(jìn)程,用于windows聯(lián)機(jī)運行測試。

    -o xxx: 將輸出文件的路徑另為其它路徑,默認(rèn)是保存在當(dāng)前目錄的output目錄中。

    其它選項: -j , -jn , -jr

    1、文件系統(tǒng)

    ?文件系統(tǒng)參數(shù)文件定義順序為:HD、FSD、FWD、RD

    1.1、HD(Host Define 主機(jī)定義

    非必選項,單機(jī)運行時不需要配置HD參數(shù),一般只有在多主機(jī)聯(lián)機(jī)(給多個主機(jī)命名,以便在結(jié)果中區(qū)分)測試時才需要配置

    hd=default,vdbench=/root/vdbench50406,user=root,shell=ssh hd=hd1,system=node241 hd=hd2,system=node242 hd=hd3,system=node243
    • hd=?標(biāo)識主機(jī)定義的名稱,多主機(jī)運行時,可以使用hd1、hd2、hd3...區(qū)分
    • system=?主機(jī)IP地址或主機(jī)名
    • vdbench=?vdbench執(zhí)行文件存放路徑,當(dāng)多主機(jī)存放路徑不同時,可在hd定義時單獨指定
    • user=?slave和master通信使用用戶
    • shell=?可選值為rsh、ssh或vdbench,默認(rèn)值為rsh,多主機(jī)聯(lián)機(jī)測試時,mater和slave主機(jī)間通信方式 當(dāng)參數(shù)值為rsh時,需要配置master和slave主機(jī)rsh互信,考慮到rsh使用明文傳輸,安全級別不夠,通常情況下不建議使用這種通信方式 當(dāng)參數(shù)值為ssh時,需要配置master和slave主機(jī)ssh互信,通常Linux主機(jī)聯(lián)機(jī)時使用此通信方式 當(dāng)參數(shù)值為vdbench,需要在所有slave主機(jī)運行vdbench rsh啟用vdbench本身的rsh守護(hù)進(jìn)程,通常Window主機(jī)聯(lián)機(jī)時使用此通信方式

    1.2、FSD(File System Define 文件系統(tǒng)定義

    fsd=default,depth=2,width=3,files=2,size=128k fsd=fsd1,anchor=/mnt/client1 fsd=fsd2,anchor=/mnt/client2 fsd=fsd3,anchor=/mnt/client3
    • fsd=?標(biāo)識文件系統(tǒng)定義的名稱,多文件系統(tǒng)時(fsd1、fsd2、fsd3...),可以指定default(將相同的參數(shù)作為所有fsd的默認(rèn)值)
    • anchor=?文件寫入根目錄
    • depth=?創(chuàng)建目錄層級數(shù)(即目錄深度)
    • width=?每層文件夾的子文件夾數(shù)
    • files=?測試文件個數(shù)(vdbench測試過程中會生成多層級目錄結(jié)構(gòu),實際只有最后一層目錄會生成測試文件)
    • size=?每個測試文件大小
    • **distribution= ** 可選值為bottom或all,默認(rèn)為bottom?--當(dāng)參數(shù)值為bottom時,程序只在最后一層目錄寫入測試文件 --當(dāng)參數(shù)值為all時,程序在每一層目錄都寫入測試文件
    • shared=?可選值為yes或no,默認(rèn)值為no,一般只有在多主機(jī)聯(lián)機(jī)測試時指定 vdbench不允許不同的slave之間共享同一個目錄結(jié)構(gòu)下的所有文件,因為這樣會帶來很大的開銷,但是它們允許共享同一個目錄結(jié)構(gòu)。加入設(shè)置了shared=yes,那么不同的slave可以平分一個目錄下所有的文件來進(jìn)行訪問,相當(dāng)于每個slave有各自等分的訪問區(qū)域,因此不能測試多個客戶的對同一個文件的讀寫 --當(dāng)多主機(jī)聯(lián)機(jī)測試時,寫入的根目錄anchor為同一個路徑時,需要指定參數(shù)值為yes
    hd=default,vdbench=/root/vdbench50406,user=root,shell=ssh hd=hd1,system=node1 hd=hd2,system=node2 hd=hd3,system=node3 fsd=fsd1,anchor=/client/,depth=2,width=100,files=100,size=4k,shared=yes

    ?計算公式如下: ?最后一層生成文件夾個數(shù)=widthdepth??測試文件個數(shù)=(widthdepth)*files

    fsd=fsd1,anchor=/dir1,depth=2,width=3,files=2,size=128k 以上述參數(shù)為例,生成目錄結(jié)構(gòu)及測試文件如下: 最后一層文件夾數(shù)=3^2=9 最后一層文件數(shù)=9*2=18 /dir1/ ├── no_dismount.txt ├── vdb.1_1.dir │ ├── vdb.2_1.dir │ │ ├── vdb_f0001.file │ │ └── vdb_f0002.file │ ├── vdb.2_2.dir │ │ ├── vdb_f0001.file │ │ └── vdb_f0002.file │ └── vdb.2_3.dir │ ├── vdb_f0001.file │ └── vdb_f0002.file ├── vdb.1_2.dir │ ├── vdb.2_1.dir │ │ ├── vdb_f0001.file │ │ └── vdb_f0002.file │ ├── vdb.2_2.dir │ │ ├── vdb_f0001.file │ │ └── vdb_f0002.file │ └── vdb.2_3.dir │ ├── vdb_f0001.file │ └── vdb_f0002.file ├── vdb.1_3.dir │ ├── vdb.2_1.dir │ │ ├── vdb_f0001.file │ │ └── vdb_f0002.file │ ├── vdb.2_2.dir │ │ ├── vdb_f0001.file │ │ └── vdb_f0002.file │ └── vdb.2_3.dir │ ├── vdb_f0001.file │ └── vdb_f0002.file └── vdb_control.file12 directories, 20 files

    1.3、FWD(FileSystem Workload Defile 文件系統(tǒng)工作負(fù)載定義

    fwd=default,operation=read,xfersize=4k,fileio=sequential,fileselect=random,threads=2 fwd=fwd1,fsd=fsd1,host=hd1 fwd=fwd2,fsd=fsd2,host=hd2 fwd=fwd3,fsd=fsd3,host=hd3
    • fwd=?標(biāo)識文件系統(tǒng)工作負(fù)載定義的名稱,多文件系統(tǒng)工作負(fù)載定義時,可以使用fwd1、fwd2、fwd3...區(qū)分
    • fsd=?標(biāo)識此工作負(fù)載使用文件存儲定義的名稱
    • host=?標(biāo)識此工作負(fù)載使用主機(jī)
    • operation=?可選值為read或write,文件操作方式
    • rdpct=?可選值為0~100,讀操作占比百分比,一般混合讀寫時需要指定,當(dāng)值為60時,則混合讀寫比為6:4
    • fileio=?可選值為random或sequential,標(biāo)識文件 I/O 將執(zhí)行的方式
    • fileselect=?random或sequential,標(biāo)識選擇文件或目錄的方式
    • xfersizes=?數(shù)據(jù)傳輸(讀取和寫入操作)處理的數(shù)據(jù)大小(即單次IO大小)
    • threads=?此工作負(fù)載的并發(fā)線程數(shù)量

    1.4、RD(Run Define 運行定義

    rd=rd1,fwd=(fwd1-fwd3),fwdrate=max,format=restart,elapsed=604800,interval=10
    • rd=?標(biāo)識文件系統(tǒng)運行定義的名稱。
    • fwd=?標(biāo)識文件系統(tǒng)工作負(fù)載定義的名稱。
    • fwdrate=?每秒執(zhí)行的文件系統(tǒng)操作數(shù)量。設(shè)置為max,表示不做任何限制,按照最大強(qiáng)度自適應(yīng)
    • format=?可選值為yes、no或restart,標(biāo)識預(yù)處理目錄和文件結(jié)構(gòu)的方式 --yes表示刪除目錄和文件結(jié)構(gòu)再重新創(chuàng)建 --no表示不刪除目錄和文件結(jié)構(gòu) --restart表示只創(chuàng)建未生成的目錄或文件,并且增大未達(dá)到實際大小的文件
    • elapsed=?默認(rèn)值為30,測試運行持續(xù)時間(單位為秒)
    • interval=?結(jié)果輸出打印時間間隔(單位為秒)

    2、塊設(shè)備(裸盤測試)

    ?塊設(shè)備參數(shù)文件定義順序為:HD、SD、WD、RD

    1.1、HD(Host Define 主機(jī)定義

    非必選項,單機(jī)運行時不需要配置HD參數(shù),一般只有在多主機(jī)聯(lián)機(jī)(給多個主機(jī)命名,以便在結(jié)果中區(qū)分)測試時才需要配置

    hd=default,vdbench=/root/vdbench50406,user=root,shell=ssh hd=hd1,system=node241 hd=hd2,system=node242 hd=hd3,system=node243
    • hd=?標(biāo)識主機(jī)定義的名稱,多主機(jī)運行時,可以使用hd1、hd2、hd3...區(qū)分
    • system=?主機(jī)IP地址或主機(jī)名
    • vdbench=?vdbench執(zhí)行文件存放路徑,當(dāng)多主機(jī)存放路徑不同時,可在hd定義時單獨指定
    • user=?slave和master通信使用用戶
    • shell=?可選值為rsh、ssh或vdbench,默認(rèn)值為rsh,多主機(jī)聯(lián)機(jī)測試時,mater和slave主機(jī)間通信方式 當(dāng)參數(shù)值為rsh時,需要配置master和slave主機(jī)rsh互信,考慮到rsh使用明文傳輸,安全級別不夠,通常情況下不建議使用這種通信方式 當(dāng)參數(shù)值為ssh時,需要配置master和slave主機(jī)ssh互信,通常Linux主機(jī)聯(lián)機(jī)時使用此通信方式 當(dāng)參數(shù)值為vdbench,需要在所有slave主機(jī)運行vdbench rsh啟用vdbench本身的rsh守護(hù)進(jìn)程,通常Window主機(jī)聯(lián)機(jī)時使用此通信方式

    1.2、SD(Storage Define 存儲定義

    sd=sd1,hd=hd1,lun=/dev/sdb,openflags=o_direct,threads=6 sd=sd3,hd=hd2,lun=/dev/sdb,openflags=o_direct,threads=6 sd=sd6,hd=hd3,lun=/dev/sdb,openflags=o_direct,threads=6
    • sd=?標(biāo)識存儲定義的名稱
    • hd=?標(biāo)識主機(jī)定義的名稱
    • lun=?寫入塊設(shè)備,如:/dev/sdb, /dev/sdc...
    • openflags=?通過設(shè)置為o_direct,以無緩沖緩存的方式進(jìn)行讀寫操作
    • threads=?對SD的最大并發(fā)I/O請求數(shù)量

    1.3、WD(Workload Define 工作負(fù)載定義

    wd=wd1,sd=sd*,seekpct=100,rdpct=100,xfersize=8k,skew=40 wd=wd2,sd=sd*,seekpct=100,rdpct=0,xfersize=8k,skew=10 wd=wd3,sd=sd*,seekpct=100,rdpct=100,xfersize=1024k,skew=40 wd=wd4,sd=sd*,seekpct=100,rdpct=0,xfersize=1024k,skew=10
    • wd=?標(biāo)識工作負(fù)載定義的名稱
    • sd=?標(biāo)識存儲定義的名稱
    • seekpct=?可選值為0或100(也可使用sequential或random表示),默認(rèn)值為100,隨機(jī)尋道的百分比,設(shè)置為0時表示順序,設(shè)置為100時表示隨機(jī)。
    • rdpct=?讀取請求占請求總數(shù)的百分比,設(shè)置為0時表示寫,設(shè)置為100時表示讀
    • xfersize=?要傳輸?shù)臄?shù)據(jù)大小。默認(rèn)設(shè)置為4k
    • skew=?非必選項,一般在多個工作負(fù)載時需要指定,表示該工作負(fù)載占總工作量百分比(skew總和為100)

    1.4、RD(Run Define 運行定義

    rd=rd1,wd=wd*,iorate=max,maxdata=400GB,warmup=30,elapse=604800,interval=5
    • rd=?標(biāo)識運行定義的名稱
    • wd=?標(biāo)識工作負(fù)載定義的名稱
    • iorate=?常用可選值為100、max,此工作負(fù)載的固定I/O速率 --當(dāng)參數(shù)值為100時,以每秒100個I/Os的速度運行工作負(fù)載,當(dāng)參數(shù)值設(shè)置為一個低于最大速率的值時,可以達(dá)到限制讀寫速度的效果 --當(dāng)參數(shù)值為max時,以最大的I/O速率運行工作負(fù)載,一般測試讀寫最大性能時,該參數(shù)值均為max
    • warmup=?預(yù)熱時間(單位為秒),默認(rèn)情況下vdbench會將第一個時間間隔輸出數(shù)據(jù)排除在外,程序在預(yù)熱時間內(nèi)的測試不納入最終測試結(jié)果中(即預(yù)熱結(jié)束后,才開始正式測試) --當(dāng)interval為5、elapsed為600時,測試性能為2elapsed/interval(avg_2-120)時間間隔內(nèi)的平均性能 --當(dāng)interval為5、warmup為60、elapsed為600時,測試性能為1+(warmup/interval)(warmup+elapsed)/interval(avg_13-132)時間間隔內(nèi)的平均性能
    • maxdata=?讀寫數(shù)據(jù)大小,通常情況下,當(dāng)運行elapsed時間后測試結(jié)束;當(dāng)同時指定elapsed和maxdata參數(shù)值時,以最快運行完的參數(shù)為準(zhǔn)(即maxdata測試時間小于elapsed時,程序?qū)懲阤lapsed數(shù)據(jù)量后結(jié)束) --當(dāng)參數(shù)值為100以下時,表示讀寫數(shù)據(jù)量為總存儲定義大小的倍數(shù)(如maxdata=2,2個存儲定義(每個存儲定義數(shù)據(jù)量為100G),則實際讀寫數(shù)據(jù)大小為400G) --當(dāng)參數(shù)值為100以上時,表示數(shù)據(jù)量為實際讀寫數(shù)據(jù)量(可以使用單位M、G、T等)
    • elapsed=?默認(rèn)值為30,測試運行持續(xù)時間(單位為秒)
    • interval=?報告時間間隔(單位為秒)

    運行使用

    1、單機(jī)運行

    • Linux??示例如下,單節(jié)點針對裸盤測試,1M順序?qū)?#xff0c;測試時間600s,預(yù)熱時間60s,報告時間間隔2s
    [root@node241 vdbench50406]# cat Single-RawDisk.html sd=sd1,lun=/dev/sdb,openflag=o_direct wd=wd1,sd=sd1,seekpct=0,rdpct=0,xfersize=1M rd=rd1,wd=wd1,iorate=max,warmup=60,elapsed=600,interval=2 [root@node241 vdbench50406]# [root@node241 vdbench50406]# ./vdbench -f Single-RawDisk.html
    • Window??示例如下,單節(jié)點針對文件系統(tǒng)測試,1M順序?qū)?#xff0c;目錄深度為2,每層目錄數(shù)為3,每個目錄文件數(shù)為10,每個文件大小為200M,測試時間為600s,報告時間時間2s
    E:\vdbench50406>more "Single FileSystem.txt" fsd=fsd1,anchor=E:\Sigle-FileSystem,depth=2,width=3,files=10,size=200M fwd=fwd1,fsd=fsd1,operation=write,xfersize=1M,fileio=sequential,fileselect=rando m,threads=2 rd=rd1,fwd=fwd1,fwdrate=max,format=yes,elapsed=600,interval=5 E:\vdbench50406> E:\vdbench50406>vdbench -f "Single FileSystem.txt"

    2、聯(lián)機(jī)運行

    • 配置免秘鑰登錄

    聯(lián)機(jī)測試,需要配置此項

    ?示例使用三個客戶端聯(lián)機(jī)測試,使用客戶端node241作為主節(jié)點

    客戶端主機(jī)名客戶端IP
    node24166.66.66.241
    node24266.66.66.242
    node24366.66.66.243

    ?將每個節(jié)點IP和主機(jī)名的映射關(guān)系寫入到/etc/hosts配置文件內(nèi)

    echo '66.66.66.241 node241' >> /etc/hosts echo '66.66.66.242 node242' >> /etc/hosts echo '66.66.66.243 node243' >> /etc/hosts

    ?主節(jié)點生成公鑰文件,并拷貝到其他從節(jié)點(配置主節(jié)點到從節(jié)點免秘鑰登錄)

    ssh-keygen ssh-copy-id node242 ssh-copy-id node243
    • Linux?1、按照二、安裝部署,配置多主機(jī)ssh互信 2、master主機(jī)運行測試參數(shù)文件即可 示例如下,三節(jié)點針對裸盤聯(lián)機(jī)測試,1M順序?qū)?#xff0c;測試數(shù)據(jù)量為400G,預(yù)熱時間30s,報告間隔5s
    [root@node241 vdbench50406]# cat Multi-RawDisk hd=default,vdbench=/root/vdbench50406,user=root,shell=ssh hd=hd1,system=node241 hd=hd2,system=node242 hd=hd3,system=node243 sd=sd1,hd=hd1,lun=/dev/sdb,openflag=o_direct sd=sd2,hd=hd2,lun=/dev/sdb,openflag=o_direct sd=sd3,hd=hd3,lun=/dev/sdb,openflag=o_direct wd=wd1,sd=sd*,seekpct=0,rdpct=0,xfersize=1M rd=rd1,wd=wd1,iorate=max,maxdata=100M,elapsed=64800,warmup=30,interval=5 [root@node241 vdbench50406]# [root@node241 vdbench50406]# ./vdbench -f Multi-RawDisk
    • Window?1、所有slave主機(jī)運行vdbench本身rsh守護(hù)進(jìn)程
    E:\vdbench50406>vdbench rsh

    2、master主機(jī)運行測試參數(shù)文件即可 示例如下,三節(jié)點針對文件系統(tǒng)聯(lián)機(jī)測試,1M順序?qū)?#xff0c;目錄深度為2,每層目錄數(shù)為3,每個目錄文件數(shù)為10000,每個文件大小為200M,測試時間為600s,報告間隔1s

    E:\vdbench50406>more "Multi FileSystem.txt" hd=default,vdbench=E:\vdbench50406,user=Micah,shell=vdbench hd=hd1,system=66.66.66.250 hd=hd2,system=66.66.66.252 fsd=fsd1,anchor=Z:\Sigle-FileSystem-01,depth=2,width=3,files=10000,size=200M fsd=fsd2,anchor=Z:\Sigle-FileSystem-02,depth=2,width=3,files=10000,size=200M fwd=default,operation=write,xfersize=1M,fileio=sequential,fileselect=random,threads=16 fwd=fwd1,fsd=fsd1,host=hd1 fwd=fwd2,fsd=fsd2,host=hd2 rd=rd1,fwd=fwd*,fwdrate=max,format=yes,elapsed=600,interval=1 E:\vdbench50406> E:\vdbench50406>vdbench -f "Multi FileSystem.txt"

    結(jié)果分析

    當(dāng)vdbench運行完負(fù)載測試后,會在安裝目錄下生成output文件夾,里邊包含測試結(jié)果文件

    1、輸出文件

    • errorlog.html?當(dāng)運行測試啟用數(shù)據(jù)校驗時,它可能會包含一些錯誤信息,如:
      • 無效的密鑰讀取
      • 無效的 lba 讀取(一個扇區(qū)的邏輯字節(jié)地址)
      • 無效的 SD 或 FSD 名稱讀取
      • 數(shù)據(jù)損壞
      • 壞扇區(qū)
    • flatfile.html?vdbench 生成的一種逐列的 ASCII 格式的信息,可以使用parseflat參數(shù)解析結(jié)果
    ./vdbench parseflat -i <flatfile.html> -o output.csv [-c col1 col2 ..] [-a] [-f col1 value1 col2 value2..]-i input flatfile, e.g. output/flatfile.html-o output CSV file name (default stdout)-c which column to write to CSV. Columns are written in the order specified-f filters: 'if (colX == valueX) ... ...' (Alphabetic compare)-a include only the 'avg' data. Default: include only non-avg data.-i是表示待分析的文件,這里寫vdbench輸出目錄里的flatfile.html這個文件,寫其它文件不能正常解析;-o是解析后的輸出文件,可以手動指定存放目錄。文件格式為CSV,此文件的列由-c參數(shù)指定,列的順序為-c參數(shù)的順序-a是表示csv文件中只記錄測試過程中的avg值示例如下:.\vdbench.bat parseflat -i D:\vdbench50406\output\flatfile.html -c run rate MB/sec seekpct rdpct bytes/io threads resp -o d:\output.csv -a vdbench parseflat arguments: Argument 0: -i Argument 1: D:\vdbench50406\output\flatfile.html Argument 2: -c Argument 3: run Argument 4: rate Argument 5: MB/sec Argument 6: seekpct Argument 7: rdpct Argument 8: bytes/io Argument 9: threads Argument 10: resp Argument 11: -o Argument 12: D:\output.csv Argument 13: -a 14:12:49.265 ParseFlat completed successfully.
    • histogram.html?一種包含報告柱狀圖的響應(yīng)時間、文本格式的文件
    • logfile.html?包含 Java 代碼寫入控制臺窗口的每行信息的副本。logfile.html 主要用于調(diào)試用途
    • parmfile.html?包含測試運行配置參數(shù)信息
    • summary.html?記錄全部數(shù)據(jù)信息,顯示每個報告間隔內(nèi)總體性能情況及工作負(fù)載情況,以及除第一個間隔外的所有間隔的加權(quán)平均值
    • totals.html?記錄全部數(shù)據(jù)計算之后的平均值,一般測試結(jié)果從該文件取值,除第一個間隔外所有間隔的加權(quán)平均值

    2、結(jié)果分析

    2.1、文件系統(tǒng)

    #測試參數(shù)如下: hd=default,vdbench=E:\vdbench50406,user=Micah,shell=vdbench hd=hd1,system=66.66.66.250 hd=hd2,system=66.66.66.252 fsd=fsd1,anchor=Z:\Sigle-FileSystem-01,depth=2,width=3,files=10,size=4M fsd=fsd2,anchor=Z:\Sigle-FileSystem-02,depth=2,width=3,files=10,size=4M fwd=default,operation=write,xfersize=1M,fileio=sequential,fileselect=random,threads=2 fwd=fwd1,fsd=fsd1,host=hd1 fwd=fwd2,fsd=fsd2,host=hd2 rd=rd1,fwd=fwd*,fwdrate=max,format=yes,elapsed=600,interval=5#測試結(jié)果如下: 18:47:03.001 Starting RD=format_for_rd1六月 04, 2020 .Interval. .ReqstdOps... ...cpu%... read ....read..... ....write.... ..mb/sec... mb/sec .xfer.. ...mkdir.... ...rmdir.... ...create... ....open.... ...close.... ...delete...rate resp total sys pct rate resp rate resp read write total size rate resp rate resp rate resp rate resp rate resp rate resp 18:48:40.218 avg_2-20 57.6 6.244 13.4 2.99 0.0 0.0 0.000 57.6 6.244 0.00 7.20 7.20 131072 0.2 104.49 0.2 41.526 1.8 7527.0 1.8 192.01 1.8 7134.3 1.8 21.98418:48:42.000 Starting RD=rd1; elapsed=600; fwdrate=max. For loops: None18:58:42.205 avg_2-120 6.2 1.063 13.0 2.80 0.0 0.0 0.000 6.2 1.063 0.00 6.24 6.24 1048576 0.0 0.000 0.0 0.000 0.0 0.000 1.6 47.864 1.6 2401.1 0.0 0.000

    ?totals.html一般包括兩個部分,第一部分為文件存儲目錄結(jié)構(gòu)及數(shù)據(jù)填充的平均性能值,第二部分為執(zhí)行測試過程中除第一個時間間隔外所有時間間隔平均性能值,主要看第二部分的內(nèi)容

    • Interval?報告間隔序號,測試結(jié)果一般為除第一個時間間隔外所有時間間隔加權(quán)平均值 如elapsed=600,interval=5,則性能結(jié)果為第2個間隔到第120個間隔的平均值(avg_2-120)

    • ReqstdOps

      • rate?每秒讀寫I/O個數(shù)(讀寫IOPS),可以通過rd運行定義參數(shù)fwdrate控制 當(dāng)fwdrate為max時,以最大I/O速率運行工作負(fù)載 當(dāng)fwdrate為低于最大I/0速率的一個數(shù)值時,可以限制讀寫速度,以固定I/O速率運行工作負(fù)載
      • resp?讀寫請求響應(yīng)時間(讀寫時延),單位為ms
    • cpu%

      • tatol?總的cpu占用率
      • sys?系統(tǒng)cpu占用率
    • read pct?讀取請求占總請求數(shù)百分比占比,當(dāng)為0時表示寫,當(dāng)為100時表示讀

    • read

      • rate?每秒讀I/O個數(shù)(讀IOPS
      • resp?讀請求響應(yīng)時間(讀時延),單位為ms
    • write

      • rate?每秒寫I/O個數(shù)(寫IOPS
      • resp?寫請求響應(yīng)時間(寫時延),單位為ms
    • mb/sec

      • read?每秒讀取速度
      • write?每秒寫入速度
      • total?每秒讀寫速度總和
    • xfersize?每個讀寫I/O傳輸數(shù)據(jù)量(即單個讀寫I/O大小),單位為字節(jié)B

    2.2、塊設(shè)備

    #測試參數(shù)如下: messagescan=no #可以過濾掉多余的系統(tǒng)日志 hd=default,vdbench=/root/vdbench50406,user=root,shell=ssh hd=hd1,system=node241 hd=hd2,system=node242 hd=hd3,system=node243 sd=sd1,hd=hd1,lun=/dev/sdb,openflag=o_direct sd=sd2,hd=hd2,lun=/dev/sdb,openflag=o_direct sd=sd3,hd=hd3,lun=/dev/sdb,openflag=o_direct wd=wd1,sd=sd*,seekpct=0,rdpct=0,xfersize=1M rd=rd1,wd=wd1,iorate=max,elapsed=600,warmup=30,interval=5#測試結(jié)果如下: <a name="_1143839598"></a><i><b>19:02:15.001 Starting RD=rd1; I/O rate: Uncontrolled MAX; elapsed=600 warmup=30; For loops: None</b></i>Jun 04, 2020 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 19:12:46.068 avg_7-126 82.74 82.74 1048576 0.00 289.158 0.000 289.158 2092.803 155.103 23.9 16.3 14.2
    • interval?報告間隔序號,測試結(jié)果一般為除第一個時間時間外所有時間間隔加權(quán)平均值,如有設(shè)置預(yù)熱時間,則這部分測試數(shù)據(jù)也需要排除在外 如elapsed=600,warmup=30,interval=5,則性能測試結(jié)果為第7個間隔到第126個間隔的平均值(avg_7-126)

    • i/o rate?每秒讀寫I/O個數(shù)(讀寫IOPS),可以通過rd運行定義參數(shù)iorate控制 當(dāng)iorate為max時,以最大I/O速率運行工作負(fù)載 當(dāng)iorate為低于最大I/0速率的一個數(shù)值時,可以限制讀寫速度,以固定I/O速率運行工作負(fù)載

    • MB/sec?每秒讀寫速度(讀寫帶寬) 注:按官方手冊說明,

    • bytes i/0?每個讀寫I/O傳輸數(shù)據(jù)量(即單個讀寫I/O大小),單位為字節(jié)B,可以通過wd工作負(fù)載定義參數(shù)xfersize控制

    • read pct?讀取請求占請求總數(shù)的百分比,可以通過wd工作負(fù)載定義參數(shù)rdpct控制 當(dāng)rdpct為0時,表示測試模型為寫 當(dāng)rdpct為100時,表示測試模型為讀

    • resp time?請求響應(yīng)時間(讀寫時延),單位為毫秒ms

    • read resp?讀取請求響應(yīng)時間,單位為毫秒ms

    • write resp?寫入請求響應(yīng)時間,單位為毫秒ms

    • resp max?最大請求響應(yīng)時間,單位為毫秒ms

    • resp stddev?請求響應(yīng)時間標(biāo)準(zhǔn)偏差,單位為毫秒ms

    • queue depth?讀寫I/0隊列深度

    • cpu% sys+u?內(nèi)核態(tài)空間及用戶態(tài)空間CPU占用率

    • cpu% sys?內(nèi)核態(tài)空間CPU占用率 2020年05月29日 16:00:16 Clear

    測試說明

    1、測試總結(jié)

  • 線程數(shù)(thread)一般設(shè)置為客戶端CPU線程數(shù)總大小?grep 'processor' /proc/cpuinfo | sort -u | wc -l
  • 測試總數(shù)據(jù)量需要為客戶端內(nèi)存大小兩倍
  • 測試讀模型時需要清理客戶端緩存信息?sync;echo 3 > /proc/sys/vm/drop
  • 2、常見測試參數(shù)

    • 4M順序?qū)?/strong>?目錄深度2、單級目錄數(shù)100、單個目錄文件數(shù)100、單文件大小4M、IO塊大小1M、順序?qū)?/li>
    hd=default,vdbench=/root/vdbench50406,user=root,shell=ssh hd=hd1,system=node21 hd=hd2,system=node22 hd=hd3,system=node23 hd=hd4,system=node24 hd=hd5,system=node25 hd=hd6,system=node26 fsd=fsd1,anchor=/client/test01,depth=2,width=100,files=100,size=4M,shared=yes fwd=format,threads=24,xfersize=1m fwd=default,xfersize=1m,fileio=sequential,fileselect=sequential,operation=write,threads=24 fwd=fwd1,fsd=fsd1,host=hd1 fwd=fwd2,fsd=fsd1,host=hd2 fwd=fwd3,fsd=fsd1,host=hd3 fwd=fwd4,fsd=fsd1,host=hd4 fwd=fwd5,fsd=fsd1,host=hd5 fwd=fwd6,fsd=fsd1,host=hd6 rd=rd1,fwd=fwd*,fwdrate=max,format=restart,elapsed=600,interval=1
    • 4M順序讀?目錄深度2、單級目錄數(shù)100、單個目錄文件數(shù)100、單文件大小4M、IO塊大小1M、順序讀
    hd=default,vdbench=/root/vdbench50406,user=root,shell=ssh hd=hd1,system=node21 hd=hd2,system=node22 hd=hd3,system=node23 hd=hd4,system=node24 hd=hd5,system=node25 hd=hd6,system=node26 fsd=fsd1,anchor=/client/test02,depth=2,width=100,files=100,size=4M,shared=yes fwd=format,threads=24,xfersize=1m fwd=default,xfersize=1m,fileio=sequential,fileselect=sequential,operation=read,threads=24 fwd=fwd1,fsd=fsd1,host=hd1 fwd=fwd2,fsd=fsd1,host=hd2 fwd=fwd3,fsd=fsd1,host=hd3 fwd=fwd4,fsd=fsd1,host=hd4 fwd=fwd5,fsd=fsd1,host=hd5 fwd=fwd6,fsd=fsd1,host=hd6 rd=rd1,fwd=fwd*,fwdrate=max,format=restart,elapsed=600,interval=1
    • 8M混合讀寫?目錄深度2、單級目錄數(shù)100、單個目錄文件數(shù)100、單文件大小8M、IO塊大小1M、混合讀寫(讀寫比為6:4)
    hd=default,vdbench=/root/vdbench50406,user=root,shell=ssh hd=hd1,system=node21 hd=hd2,system=node22 hd=hd3,system=node23 hd=hd4,system=node24 hd=hd5,system=node25 hd=hd6,system=node26 fsd=fsd1,anchor=/client/test03,depth=2,width=100,files=100,size=8M,shared=yes fwd=format,threads=24,xfersize=1m fwd=default,xfersize=1m,fileio=random,fileselect=random,rdpct=60,threads=24 fwd=fwd1,fsd=fsd1,host=hd1 fwd=fwd2,fsd=fsd1,host=hd2 fwd=fwd3,fsd=fsd1,host=hd3 fwd=fwd4,fsd=fsd1,host=hd4 fwd=fwd5,fsd=fsd1,host=hd5 fwd=fwd6,fsd=fsd1,host=hd6 rd=rd1,fwd=fwd*,fwdrate=max,format=restart,elapsed=600,interval=1

    測試和思考

    我們可以自己先問自己幾個問題

    • 1、如果集群里面有一臺虛擬機(jī)在跑大帶寬的業(yè)務(wù),你去測試iops,性能能到多少,這個對應(yīng)的是真實場景里面一個備份業(yè)務(wù)和一個數(shù)據(jù)庫業(yè)務(wù)混用的情況
    • 2、單機(jī)iops能到多少,如果幾十臺?服務(wù)器?都同時在跑的時候,單機(jī)的iops還能到多少?
    • 3、多機(jī)并發(fā)的時候,單個機(jī)器上面的io會不會受到其他的機(jī)器的io的影響
    • 4、性能在遇到scrub的時候,或者遷移的時候,能夠還保留多少的性能,這個保留性能是否可控
    • 5、集群寫入到70%的時候,性能是多少,是初始的百分之多少,還夠覆蓋業(yè)務(wù)IO不?



    本文來源:碼農(nóng)網(wǎng)
    本文鏈接:https://www.codercto.com/a/49559.html

    https://www.e-learn.cn/topic/3737957

    可視化

    vdbench測試實時可視化顯示 | https://www.codercto.com/a/49559.html

    摘抄和參考:

    【存儲測試】vdbench存儲性能測試工具 https://www.cnblogs.com/luxf0/p/13321077.html

    data_errors=(1000000000,6000)
    data_errors:當(dāng)發(fā)生IO錯誤時,如果error總數(shù)超過1000000000或者運行時間超過6000s則退出

    參數(shù):-jn

    推薦參數(shù):-jn

    打開vdbench校驗數(shù)據(jù)的參數(shù)為-v或-j,這個過程會為每一次寫操作記錄日志用于后續(xù)校驗。

    使用-v參數(shù),則生成的校驗日志直接保存于內(nèi)存中,使用-j參數(shù)則生成一個校驗日志的文件,第二次校驗時,-jr即可進(jìn)行日志恢復(fù)進(jìn)行校驗。-v直接記錄于內(nèi)存之中,速度更快,但如果存儲系統(tǒng)出現(xiàn)重啟或內(nèi)存清理,那么-v參數(shù)記錄的校驗日志就丟失了;-j直接寫到磁盤上,安全有保證但速度會慢一下,此時可選擇-jn,異步寫到磁盤上,速度和安全都有一定的保證。 數(shù)據(jù)校驗原理

    數(shù)據(jù)校驗的工作流程如下:每一個在存儲系統(tǒng)中的第一次寫操作記錄在一個表中,假定寫操作的塊大小是1m,那么這個塊大小中的每512字節(jié)中包含的兩項–8字節(jié)的邏輯字節(jié)地址(LBA)和一個字節(jié)的數(shù)據(jù)校驗key值(標(biāo)記是第幾次寫,范圍為0-125,00代表創(chuàng)建寫,01代表第一次覆蓋寫,以此類推,當(dāng)?shù)竭_(dá)126后折返00,重新來一輪)會被記錄,這個過程為生成校驗日志;第二次重新運行腳本(使用參數(shù)-jr或者-vr)則根據(jù)第一次記錄的日志進(jìn)行數(shù)據(jù)校驗 vdbench 過濾多余系統(tǒng)日志

    原文鏈接:https://blog.csdn.net/weixin_27758233/article/details/112920905

    錯誤記錄

    vdbench ?Waiting for configuration information from slave hd1

    解決:重啟客戶端

    https://community.oracle.com/tech/apps-infra/discussion/3938074/waiting-for-configuration-information-from-slave-hd2-waiting-for-configuration-information-from-s

    總結(jié)

    以上是生活随笔為你收集整理的【ceph】vdbench的使用教程——裸盘测试和文件系统测试vdbanch的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。