存储压测工具— — Cosbench教程

存储压测工具— — Cosbench教程

Cosbench是Intel团队基于java开发,对云存储的测试工具,全称是Cloud object Storage Bench,本文主要针对的是支持aws-s3协议的存储服务进行测试,包括seaweedfs、以及华为云存储。

1 安装

github地址:https://github.com/intel-cloud/cosbench
本文讲解的是0.4.2.c4版本,大家可以根据自己的需求去下载github上的相应的release版本。

  • 本文所说的cosbench的下载地址: https://github.com/intel-cloud/cosbench/releases/download/v0.4.2.c4/0.4.2.c4.zip

注意:

cosbench是基于java开发的,因此本地需要有java环境

# 安装 curl
yum install -y curl
# 安装 nc
yum install -y nmap-ncat
# 安装 openjdk
yum install -y java-1.8.0-openjdk

下载后解压:

脚本功能说明:

  • start-all.sh\stop-all.sh:在当前节点上启动\停止contronller、driver
  • start-controller.sh\stop-controller.sh:在当前节点上启动\停止contronller
  • start-driver.sh\stop-driver.sh:在当前节点上启动\停止driver
  • cli.sh:命令行客户端

在这里插入图片描述

2 运行

2.1 单节点运行

直接启动目录下的start-all.sh会在当前节点同时运行driver和controller,并通过如下命令检测是否已经启动。

$ netstat -an |grep LISTEN| grep 19088
tcp 0 0 :::19088 :::* LISTEN
$ netstat -an |grep LISTEN| grep 18088
tcp 0 0 :::18088 :::* LISTEN

在这里插入图片描述
运行成功之后直接在浏览器上输入:

http://localhost:19088/controller/index.html

即可访问到页面

2.2 多driver运行

controller 的配置文件为 conf/controller.conf,主要内容如下:

[controller]
drivers = 1
concurrency = 4
log_level = INFO
log_file = log/system.log
archive_dir = archive
 
[driver1]
name = driver1
url = http://driver_url:driver_port/driver

其中 controller下drivers指定driver的数目,concurrency指定可以同时运行的任务个数
[driver << n >>]是driver的设置信息,其中n为递增整数,driver配置时必须要是这种格式,否则不会生效
在controller中配置好driver信息后,在对应的机器上启动driver即可,driver启动命令如下:
start-driver.sh < driver个数 > < ip > <起始端口>,例如: start-driver.sh 4 10.252.1.111 18088
其中若有多个worker时,woker的监听端口没以100为单元递增,driver启动后再启动controller整个系统即启动完成

3 XML文件编写

3.1 标准格式

<?xml version="1.0" encoding="UTF-8" ?>
<workload name="s3-sample" description="sample benchmark for s3">
    <!--s3服务地址及认证信息配置ak、sk、endpoint等-->
    <storage type="s3" config="accesskey=<accesskey>;secretkey=<scretkey>;proxyhost=<proxyhost>;proxyport=<proxyport>;endpoint=<endpoint>" />
    <workflow>
        <workstage name="init">
        <!--init 任务阶段 创建一个bucket两个bucket,桶名前缀为s3testqwer-->
        <work type="init" workers="1" config="cprefix=s3testqwer;containers=r(1,2)" />
        </workstage>

        <workstage name="prepare">
            <!--prepare 任务阶段 在init创建的桶里创建10个object 大小为64kb-->
            <work type="prepare" workers="1" config="cprefix=s3testqwer;containers=r(1,2);objects=r(1,10);sizes=c(64)KB" />
        </workstage>

        <workstage name="main">
        <!--main 任务执行阶段执行mainwork runtime:多长时间后执行任务 workers: 同时执行任务的worker数-->
            <work name="main" workers="8" runtime="30">
                <!--operation为执行的具体操作 ratio为该操作占用总操作的比例-->
                <operation type="read" ratio="80" config="cprefix=s3testqwer;containers=u(1,2);objects=u(1,10)" />
                <operation type="write" ratio="20" config="cprefix=s3testqwer;containers=u(1,2);objects=u(11,20);sizes=c(64)KB" />
            </work>
        </workstage>

        <workstage name="cleanup">
        <!--cleanup 任务阶段 删除任务执行时创建的object-->
            <work type="cleanup" workers="1" config="cprefix=s3testqwer;containers=r(1,2);objects=r(1,20)" />
        </workstage>

        <workstage name="dispose">
        <!--dispose 任务阶段 清理调为该任务创建的桶-->
            <work type="dispose" workers="1" config="cprefix=s3testqwer;containers=r(1,2)" />
        </workstage>
    </workflow>
</workload>

3.2 造数据

如果我们是通过cosbench造数据,那么可以省略掉后面的main、cleanup、dispose等步骤

例如:给30.16.13.137:8060环境下造两个桶,桶名prefix为s3testqwer
objects=r(1,10);sizes=c(64)KB

  • 指定桶里对象有10个,文件大小为64KB
<?xml version="1.0" encoding="UTF-8" ?>
<workload name="s3-sample" description="sample benchmark for s3">
    <storage type="s3" config="accesskey=9fadssca999fadsfvzx;secretkey=99kfasodu0321r203safdsfa9;endpoint=http://30.16.13.137:8060" />
    <workflow>
        <workstage name="init">
        <work type="init" workers="1" config="cprefix=s3testqwer;containers=r(1,2)" />
        </workstage>

        <workstage name="prepare">
            <work type="prepare" workers="1" config="cprefix=s3testqwer;containers=r(1,2);objects=r(1,10);sizes=c(64)KB" />
        </workstage>
    </workflow>
</workload>

4 提交任务

执行sh cli.sh submit conf/s3-config-sample.xml或者在controller页面手动上传任务配置

http://127.0.0.1:18088/driver/index.html可以查看到所有的任务及对应状态,界面如下:
在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Cypcute平台配置工具是一款方便用户进行平台配置的工具软件,下面是使用教程: 1. 首先,打开Cypcute平台配置工具软件。在电脑上双击打开软件图标,等待软件加载完毕。 2. 进入软件后,选择“新建配置文件”选项。这个选项将帮助你创建一个新的配置文件,用于存储你的平台配置信息。 3. 在新建配置文件界面,填写相关信息。包括配置文件名称、作者、版本号等。这些信息将在你的配置文件中显示出来,方便你进行管理和识别。 4. 在配置文件创建完成后,你可以选择“打开配置文件”选项,进入配置文件编辑界面。 5. 在配置文件编辑界面,你可以添加、删除和编辑各种配置项。例如,你可以添加一个新的网络配置项,设置网络连接的参数和地址。你也可以添加一个新的硬件配置项,设置硬件设备的参数和连接方式。 6. 在配置项编辑界面,你可以根据需要进行参数设置和调整。例如,你可以选择网络配置项,然后设置IP地址、子网掩码和网关等网络参数。 7. 点击“保存配置”按钮,将你的配置文件保存下来。 8. 如果你需要导出配置文件,可以选择“导出配置文件”选项,选择保存路径,然后点击“导出”按钮。 9. 当你想要编辑已有的配置文件时,可以选择“打开配置文件”,然后浏览到你想要编辑的配置文件路径,点击“打开”。 10. 最后,如果你想要删除配置文件,可以选择“删除配置文件”,然后选择你想要删除的配置文件,点击“删除”。 以上就是Cypcute平台配置工具的使用教程,希望对你有所帮助。如果还有其它问题,请随时向我提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值