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脚本将TOOL_PARAMS="-i 1",改为TOOL_PARAMS=""
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>