cosbench操作文档

#安装

上传Cosbench-0.4.2.c3.zip到各个节点,执行解压到/home

#修改配置文件

以下操作须在需要启动cosbench的各个节点操作。

  1. 进入到/home/cosbench-0.4.2.c3/conf目录

    image-20200414153035017

  2. 修改controller.conf

    在该文件中按以下格式增添需要添加的cosbench driver 信息。

    image-20200414103051258

  3. 修改driver.conf

    各个节点的driver.conf均按下图配置。

    image-20200414103236800

#启动cosbench

  1. 启动driver

    以下操作须在需要启动cosbench的各个节点操作。

    1. 关闭 http_proxy代理

      unset http_proxy

    2. 关闭防火墙

      为保证后续任务正常执行,建议关闭各个节点的防火墙

      systemctl stop firewalld

    3. 启动driver

      操作目录: /home/cosbench-0.4.2.c3

      执行命令: bash start-driver.sh

      image-20200414103643694

      出现上图所示结果则表示driver启动成功。

  2. 启动controller

    启动contoller只需在上述配置过的节点中任选一个

    操作目录: /home/cosbench-0.4.2.c3

    执行命令: bash start-controller.sh

    image-20200414104033219

    出现上图所示结果则表示controller启动成功。

  3. 访问controller管理界面

    http://启动controller节点ip:19088/controller/index.html

    image-20200414104517216

    出现如图界面则表示cosbench启动成功。

    操作过程中若新添加过driver,需要重启controller,新添加的driver才可在列表中。

#配置负载文件

cosbench负载任务的以xml文件的文件进行提交。

#顺序写配置

<?xml version="1.0" encoding="UTF-8" ?>

<!-- name: 负载任务的名称
     description: 对于负载任务的简单描述
 -->
<workload name="s3-sample" description="sample benchmark for s3">

<!-- type: 指定访问的方式
     condig: 访问对象存储的认证参数 格式: accesskey=用户ak;secretkey=ak对应的sk;endpoint=访问的存储REST地址
 -->
  <storage type="s3" config="accesskey=123456;secretkey=123456;endpoint=http://10.0.20.144:7480" />

<!-- workflow包含负载任务各个流程的子动作,可包含多个自动在,cosbench将按顺序执行 -->
  <workflow>

<!-- name: 自定义的操作名称 -->
    <workstage name="creatbutct">

<!-- 创建化桶操作:cprefix-桶名前缀;containers-需要生成的桶数量,可自行修改r(1,1)中的数字 -->
      <work type="init" workers="1" config="cprefix=bucket12;containers=r(1,1)" />
    </workstage>

    <workstage name="putobject">
<!-- 上传对象操作:workers-并发数;runtime-任务执行时长;driver-指定driver执行任务,去掉该参数则所有driver平分任务负载 -->
      <work name="putobject" workers="20" runtime="600" >
<!-- 操作任务描述:type-write上传对象操作,read为下载对象操作; ratio:单独下载或上传时,该参数值保持为100;cprefix:创建桶操作时指定的cprefix;containers:创建桶操作时指定的containers;oprefix-对象前缀;objects-被操作的对象的选择表达式 s(1, 10)表示任务会操作10个对象; sizes-对象的大小 c(1)GB表示固定1G大小 -->
        <operation type="write" ratio="100" config="cprefix=bucket12;containers=r(1,1);oprefix=objects;objects=s(1,10);sizes=c(1)GB" />
      </work>
    </workstage>

  </workflow>

</workload>

#顺序读配置

<?xml version="1.0" encoding="UTF-8" ?>

<!-- name: 负载任务的名称
     description: 对于负载任务的简单描述
 -->
<workload name="s3-sample" description="sample benchmark for s3">

<!-- type: 指定访问的方式
     condig: 访问对象存储的认证参数 格式: accesskey=用户ak;secretkey=ak对应的sk;endpoint=访问的存储REST地址
 -->
  <storage type="s3" config="accesskey=123456;secretkey=123456;endpoint=http://10.0.20.144:7480" />

<!-- workflow包含负载任务各个流程的子动作,可包含多个自动在,cosbench将按顺序执行 -->
  <workflow>

<!-- name: 自定义的操作名称 -->
    <workstage name="creatbutct">

<!-- 创建化桶操作:cprefix-桶名前缀;containers-需要生成的桶数量,可自行修改r(1,1)中的数字 -->
      <work type="init" workers="1" config="cprefix=bucket12;containers=r(1,1)" />
    </workstage>

     <workstage name="prepare">
      <work type="prepare" workers="10" config="cprefix=bucket12;containers=r(1,1);objects=r(1,10);sizes=c(1)KB" />
    </workstage>
  
    <workstage name="readobject">
<!-- 下载对象操作:workers-并发数;runtime-任务执行时长;driver-指定driver执行任务,去掉该参数则所有driver平分任务负载 -->
      <work name="readobject" workers="20" runtime="600" >
<!-- 操作任务描述:type-write上传对象操作,read为下载对象操作; ratio:单独下载或上传时,该参数值保持为100;cprefix:创建桶操作时指定的cprefix;containers:创建桶操作时指定的containers;oprefix-对象前缀;objects-被操作的对象的选择表达式 s(1, 10)表示任务会操作10个对象; sizes-对象的大小 c(1)GB表示固定1G大小 -->
        <operation type="read" ratio="100" config="cprefix=bucket12;containers=r(1,1);oprefix=objects-;objects=s(1,10);sizes=c(1)GB" />
      </work>
    </workstage>

  </workflow>

</workload>

#执行任务

  1. 访问controller管理界面

  2. 添加workload

    image-20200414140315998

    选择需要提交的负载文件,确认后点击submit提交任务。

    image-20200414143227774

  3. 查看任务执行情况

    点击上图中的 view detail查看详情

    image-20200414152910133

#关闭cosbench

结束任务后需要在所有cosbench节点后台手动停止cosbench服务。

操作目录: /home/cosbench-0.4.2.c3

执行命令: bash stop-all.sh

若出现停止cosbench-controller失败,可查看controller进程号手动kill。

updatedupdated2021-06-302021-06-30
:bug: 删除重复文件