一、 cosbench简介
cosbench - Cloud Object Storage Beachmark,是Intel开发的一个对象存储基准性能测试工具,支持OpenStack* Swift, Amazon* S3, Amplidata v2.3, 2.5 and 3.1, Scality*, Ceph, CDMI,Google* Cloud Storage, Aliyun OSS对象存储。
cosbench可以联机测试,主要有以下两个关键组件:
- driver
cosbench负载生成器,主要负责工作负载生成,发布针对云对象存储的操作和收集性能统计信息;可以通过http://{driver-ip}:18088/driver地址访问。 - controller
cosbench控制器,主要负责协调负载生成器共同执行工作负载,收集来自负载生成器的基准性能测试结果;可以通过http://{controller-ip}:19088/controller地址访问。
注:controller和driver角色可以部署在同一个节点上。
二、 cosbench安装
1. 环境准备
Cosbench安装需要有java环境,并且需要curl,centos直接yum install jre和yum install curl即可。
确认测试机cosbench包中sh文件有可执行权限,没有的话加上chomd +x *.sh。
2. 程序启动
- 单台测试客户端:
单台测试客户端测试时,只需在客户端执行 sh start-all.sh。
访问http://{controller-ip}:19088/controller,即可看到cosbench界面,在web界面上可操作执行测试及查看测试结果。 - 多客户端:
多客户端时需要首先确定controller主机,修改controller主机上的配置文件:conf/controller.conf,修改为:
[controller]
drivers = [总测试客户端个数]
log_level = INFO
log_file = log/system.log
archive_dir = archive
[driver1]
name = driver1
url = http://127.0.0.1:18088/driver
[driver2]
name = driver2
url = http://[客户端ip地址]:18088/driver
[driver3]
name = driver3
url = http://[客户端ip地址]:18088/driver
……
在各个driver主机上执行sh start-driver.sh,在controller主机上执行sh start-all.sh,访问http://{controller-ip}:19088/controller,即可看到cosbench界面,在web界面上可以看到各个driver信息及状态,并可操作执行测试及查看测试结果。
三、 cosbench使用
1. 测试用例
- s3:
<?xml version="1.0" encoding="UTF-8" ?>
<workload name="s3-sample" description="sample benchmark for s3">
<