Feature #11131
opencosbench integration with CBT
0%
Description
Enable COSBench as a CBT Object storage plugin, Integrate COSBench into CBT as the object(rgw) workload generator.
1. Let the end user to deploy COSBench
2. Add a plugin model in CBT to extract the COSBench related parameters and translate it to COSBench XML files
3. Use the plugin to kick off COSBench to generate the load and get the data, post-processing to show as the format as CBT result data.
Updated by Chendi Xue about 9 years ago
Finished cbt yaml to cosbench xml works
configure in cosbench yaml
benchmarks:
cosbench:
auth:
config: username=cosbench:operator;password=intel2012;url=http://10.4.9.105/auth/v1.0;retry=9
obj_size: [128KB]
template: [default]
mode: [read, write, mix]
ratio: [100]
rampup: 30
runtime: 300
rampdown: 90
workers: [20]
containers: ["u(1,100)"]
objects: ["u(1,100)"]
translate to cosbench xml
Write xml conf to cbt/conf/cosbench/read_u(1,100)con_u(1,100)obj_128KB_20w.xml
Write xml conf to cbt/conf/cosbench/write_u(1,100)con_u(1,100)obj_128KB_20w.xml
Write xml conf to cbt/conf/cosbench/mix_u(1,100)con_u(1,100)obj_128KB_20w.xml
[root@cceph01 plugin]# cat cbt/conf/cosbench/read_u\(1\,100\)con_u\(1\,100\)obj_128KB_20w.xml
<workload description="read" name="read_u(1,100)con_u(1,100)obj_128KB_20w">
<workflow>
<workstage name="main">
<work name="128KB" workers="20" rampup="30" rampdown="90" runtime="300">
<operation ratio="100" config="containers=u(1,100);objects=u(1,100);cprefix=128KB-read" type="read"/>
</work>
</workstage>
</workflow>
<storage config="timeout=300000" type="swift"/>
<auth config="username=cosbench:operator;password=intel2012;url=http://10.4.9.105/auth/v1.0;retry=9" type="swauth"/>
</workload>