cosbench性能测试

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

  1. 参数配置

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>

  • 14
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大 大金

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值