内容简介:COSBench是一个测试云对象存储系统的分布式基准测试工具,有Driver和Controller两个关键组件组成,本文简要介绍通过S3接口使用COSBench测试Ceph的RGW。ceph集群操作系统版本:centos 7.4,内核 3.10.0ceph集群版本:Luminous版(版本号:12.2.10)
COSBench是一个测试云对象存储系统的分布式基准测试工具,有Driver和Controller两个关键组件组成,本文简要介绍通过S3接口使用COSBench测试Ceph的RGW。
一、测试环境
ceph集群操作系统版本:centos 7.4,内核 3.10.0
ceph集群版本:Luminous版(版本号:12.2.10)
集群规模:3台服务器
副本数:3
在6台测试客户端创建测试任务,其中10.11.16.47作为controller,10.11.16.48-52作为driver,测试集群的只读性能。
二、下载工具
- 下载COSBench工具并解压
wget https://github.com/intel-cloud/cosbench/releases/download/v0.4.2.c4/0.4.2.c4.zip unzip 0.4.2.c2.zip 复制代码
- 安装 java 和curl
yun install java curl 复制代码
- 进入0.4.2.c4目录,赋予.sh文件执行权限
cd 0.4.2.c4 chmod +x *.sh 复制代码
- 关闭http服务防止冲突
unset http_proxy 复制代码
- 修改conf/controller.conf配置
[root@conf]# cat controller.conf [controller] drivers = 5 log_level = INFO log_file = log/system.log archive_dir = archive [driver1] name = driver1 url = http://10.11.16.48:18088/driver [driver2] name = driver2 url = http://10.11.16.49:18088/driver [driver3] name = driver3 url = http://10.11.16.50:18088/driver [driver4] name = driver4 url = http://10.11.16.51:18088/driver [driver5] name = driver5 url = http://10.11.16.52:18088/driver 复制代码
- 修改各个Driver节点配置
[driver] name=driver1 url=http://10.11.16.49:18088/driver 复制代码
- 启动COSbench的Driver和Controller
sh start-all sh //Controller节点执行 sh start-driver.sh //每个Driver节点执行 复制代码
-
验证
默认情况下,COSBench的Driver监听端口18088,COSBench的Controller监听端口19088。 登录http://10.11.16.47:19088/controller/
三、使用
这里主要简单介绍一下本文对应的配置文件,具体各配置参数说明需要看COSBench的PDF,可以在COSBench官方GitHub中找到。 在conf目录下新建test.conf文件,配置文件格式如下:
<?xml version="1.0" encoding="UTF-8" ?>
<workload name="test_read_only" description="this is a test">
<storage type="s3" config="accesskey=******;secretkey=******;endpoint=域名:端口号;path_style_access=true" />
<workflow>
<workstage name="init">
<work type="init" workers="1" config="cprefix=zmtest;containers=r(1,10)" />
</workstage>
<workstage name="prepare">
<work type="prepare" workers="1" config="cprefix=zmtest;containers=r(1,10);objects=r(1,100);sizes=c(64)KB" />
</workstage>
<workstage name="main">
<work name="main" workers="30" runtime="300">
<operation type="read" ratio="0" config="cprefix=zmtest;containers=u(1,10);objects=u(1,100)" />
<operation type="write" ratio="100" config="cprefix=zmtest;containers=u(1,10);objects=u(101,200);sizes=c(100)KB" />
</work>
</workstage>
<workstage name="cleanup">
<work type="cleanup" workers="1" config="cprefix=zmtest;containers=r(1,10);objects=r(1,200)" />
</workstage>
<workstage name="dispose">
<work type="dispose" workers="1" config="cprefix=zmtest;containers=r(1,10)" />
</workstage>
</workflow>
</workload>
复制代码
主要分为5个阶段,init阶段负责顺序创建10个空的bucket,bucket前缀为zmtest;
prepare阶段负责向每个bucket中写入100个对象,每个对象大小为64KB,r(1,10)表示从1到10递增;
main阶段负责测试读和写,workers表示并发数,runtime表示运行时间,type表示类型,ratio表示读写比例。由于本文测试只读性能,所以read的比例为100,write为0。u(1,10)表示随机1到10。
cleanup阶段清理object;
dispose阶段清理bucket。
如果我们需要反复测试同一批数据,可以在后续测试总只留下main阶段,其余可以删除。
四、开始测试
测试方法有两种,一种是将写好的配置文件通过web的submit new workloads链接提交即可,另一种是执行sh脚本,这里简单介绍执行sh脚本过程。
在Controller节点上执行:
[root@0.4.2.c4]# pwd /root/0.4.2.c4 [root@0.4.2.c4]# sh cli.sh submit conf/test.conf Accepted with ID: w1 复制代码上图参数和之前的不一样,只是为了说明情况。各参数说明如下:Op-type - 操作类型Op-Count - 操作总数Byte-Count - 操作产生的ByteAvg-ResTime - 操作产生的平均时间Avg-ProceTime - 操作的平均时间Throughput - 吞吐量,主要反映了操作的并发程度Bandwidth - 带宽
Succ-Ratio - 操作成功率
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- Django使用心得(二) 使用TestCase测试接口
- 携程大佬分享es使用心得
- 关于UniRx的使用心得分享
- golang中channel使用心得
- Go modules使用心得一
- redis、Memcached、MongoDb使用心得
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Pro JavaScript Techniques
John Resig / Apress / 2006-12-13 / USD 44.99
Pro JavaScript Techniques is the ultimate JavaScript book for the modern web developer. It provides everything you need to know about modern JavaScript, and shows what JavaScript can do for your web s......一起来看看 《Pro JavaScript Techniques》 这本书的介绍吧!