当前位置:   article > 正文

cosbench性能测试

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一亿对象

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <workload name="test E ceph 4kw" description="sample benchmark for s3" config="">
  3. <auth type="none"/>
  4. <storage type="none"/>
  5. <workflow config="">
  6. <workstage name="4Kw" closuredelay="0" config="">
  7. <auth type="none"/>
  8. <storage type="none"/>
  9. <work name="4kw1" type="normal" workers="200" interval="5"
  10. division="none" runtime="0" rampup="0" rampdown="0"
  11. afr="200000" totalOps="1000000" totalBytes="0"
  12. driver="driver1" config="">
  13. <auth type="none"/>
  14. <storage type="s3" config="path_style_access=true;accesskey=iMTXrp76bh6z;secretkey=vPb2qWZBSgEDGMw0kX7r0KB6Fj65h77XB;endpoint=xxxxxxxxxxxxxxxxxxxxxxxx"/>
  15. <operation type="write" ratio="100" division="none"
  16. config="cprefix=test-perf00;oprefix=4k1a;containers=c(1);objects=s(1,100000000);sizes=c(4)KB;" id="op1"/>
  17. </work>
  18. <work name="4kw2" type="normal" workers="200" interval="5"
  19. division="none" runtime="0" rampup="0" rampdown="0"
  20. afr="200000" totalOps="1000000" totalBytes="0"
  21. driver="driver2" config="">
  22. <auth type="none"/>
  23. <storage type="s3" config="path_style_access=true;accesskey=iMTXrp76bh6z;secretkey=vPb2qWZBSgEDGMw0kX7r0KB6Fj65h77XB;endpoint=xxxxxxxxxxxxxxxxxxxxxxxx"/>
  24. <operation type="write" ratio="100" division="none"
  25. config="cprefix=test-perf00;oprefix=4k1b;containers=c(2);objects=s(1,100000000);sizes=c(4)KB;" id="op2"/>
  26. </work>
  27. <work name="4kw3" type="normal" workers="200" interval="5"
  28. division="none" runtime="0" rampup="0" rampdown="0"
  29. afr="200000" totalOps="1000000" totalBytes="0"
  30. driver="driver3" config="">
  31. <auth type="none"/>
  32. <storage type="s3" config="path_style_access=true;accesskey=iMTXrp76bh6z;secretkey=vPb2qWZBSgEDGMw0kX7r0KB6Fj65h77XB;endpoint=xxxxxxxxxxxxxxxxxxxxxxxx"/>
  33. <operation type="write" ratio="100" division="none"
  34. config="cprefix=test-perf00;oprefix=4k1c;containers=c(3);objects=s(1,100000000);sizes=c(4)KB;" id="op3"/>
  35. </work>
  36. </workstage>
  37. </workflow>
  38. </workload>

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/241116
推荐阅读
相关标签
  

闽ICP备14008679号