玩轉ceph效能測試---Object Storage Service(一)

來源:互聯網
上載者:User

標籤:bucket   zip   rip   utf-8   cos   頁面   get   命令   images   

筆者最近在工作中需要測試ceph的rgw,於是邊測試邊學習。
首先工具採用的intel的一個開源工具cosbench,這也是業界主流的Object Storage Service測試載入器。

1、cosbench的安裝,啟動
下載最新的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

安裝相關工具包
yum install java-1.7.0-openjdk nmap-ncat

給所有的sh指令碼加執行許可權
chmod +x *.sh

取消http代理
unset http_proxy

如果是controller節點,執行start-all.sh
如果是driver節點,執行start-driver.sh
我的環境裡面是1個controller+3個driver,controller和其中1個driver共用一個節點
修改conf/controller.conf

修改各個節點的conf/driver.conf

controller 執行start-all.sh

driver節點執行start-driver.sh

http://controllerip:19088/controller/
登陸controller web頁面

3個driver節點都ok

2、在conf目錄下有各個設定檔

3、ceph的Object Storage Service支援S3和swift兩種介面,本篇先討論S3
測試S3, 可以根據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" />
-----認證資訊 accesskey secretkey endpoiont 去自己的ceph環境中擷取
<workflow>

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

----init階段,主要是建立bucket,上述配置為建立s3testqwer為首碼的32個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階段,主要是建立bucket裡面的object,上述為在每個bucket建立64k的object 100個,64k可配範圍,預先建立好資料庫可以供下面的讀測試使用
<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,執行階段,ratio是執行百分比,workers是並發數,runtime是執行時間
<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>
同一個workstage裡面的work是並發執行的,比如你有多個driver,就會分配到多個driver去執行,每一個work裡面的worker又是並發,worker也是負載到多個driver去的,多個workstage是順序執行

匯入寫好的workstage指令碼

然後submit

依次執行init-prepare-main-cleanup-dispose

執行結果

中各個類別說明:
Op-type - 操作類型
Op-Count - 操作總數
Byte-Count - byte總數
Avg-ResTime - 回應時間,是資料轉送時間和處理時間的總和
Avg-ProceTime - 讀寫操作的時間
Throughput - 輸送量,每秒運算元
Bandwidth - 頻寬
Succ-Ratio - 操作的成功率

表徵圖可以看整個資料的波動 整體還算平穩

有33條錯誤

可以在cosbench的log目錄下找到錯誤log

查看對應mission的log

這是java啟動的一個錯誤:https://www.cnblogs.com/bodhitree/p/6140469.html
1、stop-all.sh 停止 cosbench 進程(controller, drivers)
2、編輯 cosbench-start.sh 檔案,找到java啟動命令列參數, 增加"-Dcom.amazonaws.services.s3.disableGetObjectMD5Validation=true" 關閉S3的MD5校正功能
3、start-all.sh 啟動

修改後再次執行workload,不再報錯,可以根據自己的配置調整指令碼,比如只想測試write並且又想保留資料,就可以不寫cleanup和dispose,當然也可以自訂work

玩轉ceph效能測試---Object Storage Service(一)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.