赞
踩
Cosbench - Cloud Object Storage Beachmark,是Intel开发的有的一个对象存储基准性能测试工具,支持open stack s3。
组件:driver cosbench负载生成器,主要负责工作负载生成,发布针对云对象存储的操作和收集性能统计信息,可以通过http://{driver-ip}:18088/controller地址访问
Controller控制器,主要负责协调负载生成器共同执行工作负载,收集来自负载生成器的基准性能测试结果。可以通过http://{controller-ip}:19088/controller地址访问
注:controller和driver角色可以部署在同一个节点上
安装部署
部署jdk环境
安装nmap-ncat,controller和driver之间通信需要依赖nc环境
yum -y install nmap-ncat
部署cosbench环境
关闭防火墙
开放指定端口,driver角色需要使用到18089及18088,controller角色需要使用到19089及19088端口
关闭MD5检验功能
修该conbench-start.sh配置文件,在java后添加参数:
-Dcom.amazonaws.services.s3.disableGetObjectMD5Validation=true
Cosbench工具使用按照流程可分为以下几个步骤:参数配置-服务启动-提交测试-分析结果
节点主机名 | 节点IP地址 | Cosbench角色 |
100.100.228.13 | Controller、driver | |
100.100.228.12 | Driver | |
100.100.228.14 | Driver |
Controller在初始化时读取conf/controller.conf配置文件启动控制器服务
[controller]
默认为1,表示可以同时执行的工作负载数量
Drivers
默认值为1,表示此controller控制的driver数量
Log_level
默认值为INFO,可选值为TRACE、DEBUG、INFO、WARN、ERROR,表示日志打印等级
Archive
表示工作负载结果存放位置
提交测试
使用命令行接口,在controller节点cosbench目录下,使用sh cli.sh submit {test.xml}
命令提交测试
2. 参数说明
workload name: 测试时显示的任务名称,这里可以自行定义
description : 描述信息,这里可以自己定义,示例写的是(10并发写100个4kb文件)
storage type: 存储类型,这里配置为s3即可
config: 连接信息配置,accesskey和secretkey填写使用用户的key即可;proxyhost和proxyport填写http代理主机的IP和端口,有需要的话填写,没有可以删掉;endpoint填写rgw的访问地址
workstage name: 执行的任务事项,cosbench是分阶段按顺序执行
init: 初始化阶段,主要是进行bucket的创建,
workers: 表示执行该阶段的时候开启多少个工作线程,创建bucket通过不会计算为性能,所以单线程也可以;
config: 配置的是存储桶bucket的名称前缀;
containers: 表示轮询数,上例中将会创建以s3testqwer为前缀,后缀分别为1和2的bucket
prepare: 初始化阶段,配置为bucket写入的数据,workers和config以及containers与init阶段相同
object: 表示一轮写入多少个对象,以及object的大小,示例中的objects=r(1,10);sizes=c(64)KB"代表写入1到10个大小为64KB的对象
main阶段: 进行测试的阶段,
workers: 开启多少线程数去执行操作
runtime: 表示运行的时间,时间默认为秒(和totalOps可以联合或者单独使用)
totalOps: 表示执行多少次操作,比如当该值为10,object=(1,00),那么本来是要创建100个对象,加上totalOps后,就要循环从1-100创建10次,总共创建1000个文件,但是实际上创建出的文件数还是只有100个,像覆盖性创建一样
operation type: 操作类型,可以是read、write、delete等。
ratio: 表示该操作所占有操作的比例,例如上面的例子中测试读写read的比例为80%,write的比例为20%;
config: 配置bucket的前缀后缀信息。注意write的sizes可以根据实际测试进行修改
cleanup: 环境清理阶段,主要是删除bucket中的数据,保证测试后的数据不会保留在集群中
dispose: 这个阶段是删除bucket
例如4k write一亿对象
- <?xml version="1.0" encoding="UTF-8"?>
- <workload name="test E ceph 4kw" description="sample benchmark for s3" config="">
- <auth type="none"/>
- <storage type="none"/>
- <workflow config="">
- <workstage name="4Kw" closuredelay="0" config="">
- <auth type="none"/>
- <storage type="none"/>
- <work name="4kw1" type="normal" workers="200" interval="5"
- division="none" runtime="0" rampup="0" rampdown="0"
- afr="200000" totalOps="1000000" totalBytes="0"
- driver="driver1" config="">
- <auth type="none"/>
- <storage type="s3" config="path_style_access=true;accesskey=iMTXrp76bh6z;secretkey=vPb2qWZBSgEDGMw0kX7r0KB6Fj65h77XB;endpoint=xxxxxxxxxxxxxxxxxxxxxxxx"/>
- <operation type="write" ratio="100" division="none"
- config="cprefix=test-perf00;oprefix=4k1a;containers=c(1);objects=s(1,100000000);sizes=c(4)KB;" id="op1"/>
- </work>
- <work name="4kw2" type="normal" workers="200" interval="5"
- division="none" runtime="0" rampup="0" rampdown="0"
- afr="200000" totalOps="1000000" totalBytes="0"
- driver="driver2" config="">
- <auth type="none"/>
- <storage type="s3" config="path_style_access=true;accesskey=iMTXrp76bh6z;secretkey=vPb2qWZBSgEDGMw0kX7r0KB6Fj65h77XB;endpoint=xxxxxxxxxxxxxxxxxxxxxxxx"/>
- <operation type="write" ratio="100" division="none"
- config="cprefix=test-perf00;oprefix=4k1b;containers=c(2);objects=s(1,100000000);sizes=c(4)KB;" id="op2"/>
- </work>
- <work name="4kw3" type="normal" workers="200" interval="5"
- division="none" runtime="0" rampup="0" rampdown="0"
- afr="200000" totalOps="1000000" totalBytes="0"
- driver="driver3" config="">
- <auth type="none"/>
- <storage type="s3" config="path_style_access=true;accesskey=iMTXrp76bh6z;secretkey=vPb2qWZBSgEDGMw0kX7r0KB6Fj65h77XB;endpoint=xxxxxxxxxxxxxxxxxxxxxxxx"/>
- <operation type="write" ratio="100" division="none"
- config="cprefix=test-perf00;oprefix=4k1c;containers=c(3);objects=s(1,100000000);sizes=c(4)KB;" id="op3"/>
- </work>
- </workstage>
- </workflow>
- </workload>
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。