美文网首页
COSBench 基础使用

COSBench 基础使用

作者: wayyyy | 来源:发表于2023-04-18 22:31 被阅读0次

COSBench 是一个用于测试对象存储系统的分布式基准测试工具。主要由两个组件组成:

  • Driver(Load Generator)
    负责生成工作负载,向目标云对象存储发出操作;性能统计,可通过 http://:18088/driver/index.html 访问

  • Controller
    负责协调drivers集体执行工作,收集和汇总聚合来自driver实例的运行时状态或基准测试结果,可通过 http://:19088/controller/index.html访问

两个组件可以混合部署在一个节点上,也可以分开来部署。

启动和部署

启动执行 ./start-all.sh 脚本

启动后,可通过执行 sh cli.sh info 来查看启动结果:


停止执行 ./stop-all.sh 脚本。

driver 可以部署单个,也可以部署多个。如果需要部署多个,那么需要修改 conf/controller.conf 配置文件:

[controller]
drivers = 3
log_level = INFO
log_file = log/system.log
archive_dir = archive

[driver1]
name = driver1
url = http://192.168.1.51:18088/driver

[driver2]
name = driver2
url = http://192.168.1.51:18188/driver

[driver3]
name = driver3
url = http://192.168.1.51:18288/driver

日志在可以查看。

测试模板文件介绍
<?xml version="1.0" encoding="UTF-8" ?>
<workload name="s3-test1" description="10-100-4kb-test">

  <storage type="s3" config="accesskey=123;secretkey=123;endpoint=http://192.168.1.51:7480" />

  <workflow>
    <workstage name="init">
      <work type="init" workers="1" config="cprefix=cosbench;containers=r(1,1)" />
    </workstage>

    <workstage name="prepare">
      <work type="prepare" workers="1" config="cprefix=cosbench;containers=r(1,1);objects=r(1,100);sizes=c(4)KB" />
    </workstage>

    <workstage name="main">
      <work name="main" workers="8" runtime="30">
        <operation type="read" ratio="80" config="cprefix=cosbench;containers=u(1,1);objects=u(1,100)" />
        <operation type="write" ratio="20" config="cprefix=cosbench;containers=u(1,1);objects=u(100,200);sizes=c(4)KB" />
      </work>
    </workstage>

    <workstage name="cleanup">
      <work type="cleanup" workers="1" config="cprefix=cosbench;containers=r(1,1);objects=r(1,200)" />
    </workstage>

    <workstage name="dispose">
      <work type="dispose" workers="1" config="cprefix=cosbench;containers=r(1,1)" />
    </workstage>

  </workflow>
</workload>

参数说明:

  • workload name: 任务名称,这里可以自行定义

  • description : 描述信息,这里可以自己定义,示例写的是(10并发写100个4kb文件)

  • storage type: 存储类型,这里配置为s3即可,config: 连接信息配置,accesskey和secretkey填写使用用户的key,endpoint填写rgw的访问地址

  • workstage name: 执行的任务事项,cosbench是分阶段按顺序执行

    • init: 初始化阶段,主要是进行bucket的创建。

      • workers: 表示执行该阶段的时候开启多少个工作线程。
      • 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: 表示运行的时间,时间默认为秒。
    • operation type: 操作类型,可以是read、write、delete等。
    • ratio: 表示该操作所占有操作的比例,例如上面的例子中测试读写read的比例为80%,write的比例为20%。
    • config: 配置bucket的前缀后缀信息。
  • cleanup: 环境清理阶段,主要是删除bucket中的对象。

  • dispose: 这个阶段是删除bucket。

执行:

# sh cli.sh submit conf/s3-config-test.xml

查看当前执行的任务:

# 

相关文章

网友评论

      本文标题:COSBench 基础使用

      本文链接:https://www.haomeiwen.com/subject/bcykjdtx.html