溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

玩轉(zhuǎn)ceph性能測(cè)試---對(duì)象存儲(chǔ)(一)

發(fā)布時(shí)間:2020-07-06 19:44:48 來(lái)源:網(wǎng)絡(luò) 閱讀:990 作者:小小探險(xiǎn)家 欄目:云計(jì)算

筆者最近在工作中需要測(cè)試ceph的rgw,于是邊測(cè)試邊學(xué)習(xí)。
首先工具采用的intel的一個(gè)開源工具cosbench,這也是業(yè)界主流的對(duì)象存儲(chǔ)測(cè)試工具。

1、cosbench的安裝,啟動(dòng)
下載最新的cosbench包
wget https://github.com/intel-cloud/cosbench/releases/download/v0.4.2.c4/0.4.2.c4.zip
解壓
unzip 0.4.2.c4.zip

安裝相關(guān)工具包
yum install java-1.7.0-openjdk nmap-ncat

給所有的sh腳本加執(zhí)行權(quán)限
chmod +x *.sh

取消http代理
unset http_proxy

如果是controller節(jié)點(diǎn),執(zhí)行start-all.sh
如果是driver節(jié)點(diǎn),執(zhí)行start-driver.sh
我的環(huán)境里面是1個(gè)controller+3個(gè)driver,controller和其中1個(gè)driver共用一個(gè)節(jié)點(diǎn)
修改conf/controller.conf
玩轉(zhuǎn)ceph性能測(cè)試---對(duì)象存儲(chǔ)(一)

修改各個(gè)節(jié)點(diǎn)的conf/driver.conf
玩轉(zhuǎn)ceph性能測(cè)試---對(duì)象存儲(chǔ)(一)

controller 執(zhí)行start-all.sh
玩轉(zhuǎn)ceph性能測(cè)試---對(duì)象存儲(chǔ)(一)

玩轉(zhuǎn)ceph性能測(cè)試---對(duì)象存儲(chǔ)(一)

driver節(jié)點(diǎn)執(zhí)行start-driver.sh
玩轉(zhuǎn)ceph性能測(cè)試---對(duì)象存儲(chǔ)(一)

http://controllerip:19088/controller/
登陸controller web頁(yè)面
玩轉(zhuǎn)ceph性能測(cè)試---對(duì)象存儲(chǔ)(一)
3個(gè)driver節(jié)點(diǎn)都o(jì)k

2、在conf目錄下有各個(gè)配置文件
玩轉(zhuǎn)ceph性能測(cè)試---對(duì)象存儲(chǔ)(一)

3、ceph的對(duì)象存儲(chǔ)支持S3和swift兩種接口,本篇先討論S3
測(cè)試S3, 可以根據(jù)s3-config-sample.xml修改
<?xml version="1.0" encoding="UTF-8" ?>
<workload name="s3-sample" description="sample benchmark for s3">

<storage type="s3" config="accesskey=dbce6f1739494a87b8d6770b0c831d8d;secretkey=72b3205f558c475daac7b3bc756a63bc;endpoint=http://rgwip:8080" />
-----認(rèn)證信息 accesskey secretkey endpoiont 去自己的ceph環(huán)境中獲取
<workflow>

<workstage name="init">
  <work type="init" workers="1" config="cprefix=s3testqwer;containers=r(1,32)" />
</workstage>

----init階段,主要是創(chuàng)建bucket,上述配置為創(chuàng)建s3testqwer為前綴的32個(gè)bucket
<workstage name="prepare">
<work type="prepare" workers="1" config="cprefix=s3testqwer;containers=r(1,32);objects=r(1,100);sizes=c(64)KB" />
</workstage>
----prepare階段,主要是創(chuàng)建bucket里面的object,上述為在每個(gè)bucket創(chuàng)建64k的object 100個(gè),64k可配范圍,預(yù)先創(chuàng)建好數(shù)據(jù)庫(kù)可以供下面的讀測(cè)試使用
<workstage name="main">
<work name="main" workers="8" runtime="300">
<operation type="read" ratio="100" config="cprefix=s3testqwer;containers=u(1,32);objects=u(1,100)" />
<operation type="write" ratio="0" config="cprefix=s3testqwer;containers=u(1,32);objects=u(1,100);sizes=c(64)KB" />
</work>
</workstage>
----main,執(zhí)行階段,ratio是執(zhí)行百分比,workers是并發(fā)數(shù),runtime是執(zhí)行時(shí)間
<workstage name="cleanup">
<work type="cleanup" workers="1" config="cprefix=s3testqwer;containers=r(1,32);objects=r(1,100)" />
</workstage>
----cleanup,清理object
<workstage name="dispose">
<work type="dispose" workers="1" config="cprefix=s3testqwer;containers=r(1,32)" />
</workstage>
-----dispose,清理bucket
</workflow>

</workload>
同一個(gè)workstage里面的work是并發(fā)執(zhí)行的,比如你有多個(gè)driver,就會(huì)分配到多個(gè)driver去執(zhí)行,每一個(gè)work里面的worker又是并發(fā),worker也是負(fù)載到多個(gè)driver去的,多個(gè)workstage是順序執(zhí)行

導(dǎo)入寫好的workstage腳本
玩轉(zhuǎn)ceph性能測(cè)試---對(duì)象存儲(chǔ)(一)

然后submit

依次執(zhí)行init-prepare-main-cleanup-dispose
玩轉(zhuǎn)ceph性能測(cè)試---對(duì)象存儲(chǔ)(一)

執(zhí)行結(jié)果
玩轉(zhuǎn)ceph性能測(cè)試---對(duì)象存儲(chǔ)(一)

上圖中各個(gè)類別說(shuō)明:
Op-type - 操作類型
Op-Count - 操作總數(shù)
Byte-Count - byte總數(shù)
Avg-ResTime - 響應(yīng)時(shí)間,是數(shù)據(jù)傳輸時(shí)間和處理時(shí)間的總和
Avg-ProceTime - 讀寫操作的時(shí)間
Throughput - 吞吐量,每秒操作數(shù)
Bandwidth - 帶寬
Succ-Ratio - 操作的成功率

圖標(biāo)可以看整個(gè)數(shù)據(jù)的波動(dòng) 整體還算平穩(wěn)

玩轉(zhuǎn)ceph性能測(cè)試---對(duì)象存儲(chǔ)(一)

玩轉(zhuǎn)ceph性能測(cè)試---對(duì)象存儲(chǔ)(一)

有33條錯(cuò)誤
玩轉(zhuǎn)ceph性能測(cè)試---對(duì)象存儲(chǔ)(一)
可以在cosbench的log目錄下找到錯(cuò)誤log

玩轉(zhuǎn)ceph性能測(cè)試---對(duì)象存儲(chǔ)(一)

查看對(duì)應(yīng)mission的log
玩轉(zhuǎn)ceph性能測(cè)試---對(duì)象存儲(chǔ)(一)
這是java啟動(dòng)的一個(gè)錯(cuò)誤:
1、stop-all.sh 停止 cosbench 進(jìn)程(controller, drivers)
2、編輯 cosbench-start.sh 文件,找到j(luò)ava啟動(dòng)命令行參數(shù), 增加"-Dcom.amazonaws.services.s3.disableGetObjectMD5Validation=true" 關(guān)閉S3的MD5校驗(yàn)功能
3、start-all.sh 啟動(dòng)

修改后再次執(zhí)行workload,不再報(bào)錯(cuò),可以根據(jù)自己的配置調(diào)整腳本,比如只想測(cè)試write并且又想保留數(shù)據(jù),就可以不寫cleanup和dispose,當(dāng)然也可以自定義work

附加一個(gè)swift接口測(cè)試的xml
玩轉(zhuǎn)ceph性能測(cè)試---對(duì)象存儲(chǔ)(一)

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI