Cosbench測試s3 ceph物件儲存
Cosbench測試物件儲存
一、Cosbench安裝
下載地址
http://cosbench.1094679.n5.nabble.com/
安裝步驟
1、cd ~
2、解壓 unzip 0.4.2.c4.zip
3、rm cos
4、ln -s 0.4.2.c4/ cos
5、cd cos
6、chmod -x *.sh
二、Cosbench使用
1)啟動cosbench
Ⅰ cd cos
Ⅱ sh -x start-all.sh
啟動成功
!!! Service will listen on web port: 18088 !!!
!!! Service will listen on web port: 19088 !!!
ps aux 可以看到啟動了一個driver和一個controller
java -Dcosbench.tomcat.config=conf/driver-tomcat-server.xml -server -cp main/org.eclipse.equinox.launcher_1.2.0.v2011
java -Dcosbench.tomcat.config=conf/controller-tomcat-server.xml -server -cp main/org.eclipse.equinox.launcher_1.2.0.v
2)可能遇到的啟動失敗的坑排查
1、啟動報錯,檢查 start-cosbench
2、啟動時提示Ncat: Connection refused.,停止啟動,執行ncat 0.0.0.0 18088,再次啟動就可以啟動成功
3、關閉防火牆 service iptables stop
3)配置cosbench 測試ceph s3介面
1、配置xml配置檔案
<?xml version="1.0" encoding="UTF-8" ?>
<workload name="s3-test" description="test for s3">
<storage type="s3" config="accesskey=1a044503840e47d1b5766a5785725294;secretkey=9f14ffd60d1e4fe2b4965be3223994e7;endpoint=http://172.19.0.65;path_style_access=true" />
<workflow>
<workstage name="createbucket">
<work type="init" workers="1" config="cprefix=s3bucktest;containers=r(1,10)" />
</workstage>
<workstage name="putobj">
<work type="prepare" workers="16" config="cprefix=s3bucktest;containers=r(1,10);objects=r(1,1000);sizes=c(32)MB" />
</workstage>
<workstage name="getobj">
<work name="main" workers="16" runtime="604800">
<operation type="read" ratio="50" config="cprefix=s3bucktest;containers=u(1,10);objects=u(1,1000)" />
<operation type="write" ratio="50" config="cprefix=s3bucktest;containers=u(1,10);objects=u(1000,2000);sizes=c(32)MB" />
</work>
</workstage>
<workstage name="delobj">
<work type="cleanup" workers="1" config="cprefix=s3bucktest;containers=r(1,10);objects=r(1,2000)" />
</workstage>
<workstage name="delbucket">
<work type="dispose" workers="1" config="cprefix=s3bucktest;containers=r(1,10)" />
</workstage>
</workflow>
</workload>
2、上傳配置檔案,執行負載測試
開啟 http://ip:19088/controller/
4)配置檔案解析
配置檔案中包括 storage 型別配置、workflow配置
1、Storage配置:
<storage type="s3" config="accesskey=1a044503840e47d1b5766a5785725294;secretkey=9f14ffd60d1e4fe2b4965be3223994e7;endpoint=http://172.19.0.65;path_style_access=true" />
Ⅰ、Storage type:“S3”,測試ceph s3介面
Ⅱ、config :accesskey和secretkey從ceph中取
Ⅲ、endpoint:提供介面服務的點,根據實際IP配置
2、workflow配置
Ⅰ 建立bucket
<workstage name="createbucket">
<work type="init" workers="1" config="cprefix=s3bucktest;containers=r(1,10)" />
</workstage>
2 上傳檔案
<workstage name="putobj">
<work type="prepare" workers="16" config="cprefix=s3bucktest;containers=r(1,10);objects=r(1,1000);sizes=c(32)MB" />
</workstage>
3 檔案讀寫 5:5比例
<workstage name="getobj">
<work name="main" workers="16" runtime="604800">
<operation type="read" ratio="50" config="cprefix=s3bucktest;containers=u(1,10);objects=u(1,1000)" />
<operation type="write" ratio="50" config="cprefix=s3bucktest;containers=u(1,10);objects=u(1000,2000);sizes=c(32)MB" />
</work>
</workstage>
4 刪除物件
<workstage name="delobj">
<work type="cleanup" workers="1" config="cprefix=s3bucktest;containers=r(1,10);objects=r(1,2000)" />
</workstage>
5 刪除bucket
<workstage name="delbucket">
<work type="dispose" workers="1" config="cprefix=s3bucktest;containers=r(1,10)" />
</workstage>