之前写的使用COSBench工具对ceph s3接口进行压力测试是入门,在实际使用是,配置内容各不一样,下面列出

压力脚本是xml格式的,套用UserGuide文档说明,如下

有很多模板的例子,在conf目录下,如librados-config-sample.xml、s3-config-sample.xml

这里只有s3的,所以目前只关注s3的相关配置

S3的配置在页面上选择时没有显示出来,所以我们就进行手工配置

第一级workload,格式如下:

<workload name=”demo” description=”demo benchmark with mock storage” />

属性

类型

默认值

备注

Name

String

名字,随便取

Descriptipion

String

描述

对应s3就用storage参数,格式如下:

<storage type="s3" config="accesskey=<accesskey>;secretkey=<scretkey>;endpoint=<endpoint>; proxyhost=<proxyhost>;proxyport=<proxyport>" />

属性

类型

默认值

备注

Timeout

Int

30,000

毫秒

Accesskey

String

S3 的accesskey

Secretkey

String

S3的secretkey

Endpoint

String

默认为亚马逊地址

Proxyhost

String

代理地址

Proxyport

Int

代理端口

第二级workstorage,格式如下

<workstage name="<name>" ></workstage>

属性

类型

默认值

备注

Name

String

名字,随便取

对应使用work参数,格式如下

<work name="main" type="normal" workers="128" interval="5" division="none" runtime="60" rampup="0" rampdown="0" totalOps="0" totalBytes="0" afr=”200000” config="" > . . . </work>

属性

类型

默认值

备注

Name

String

名字,随便取

Type

String

“normal”

工作类型,下面有介绍

Workers

Int

并发工作数

Interval

Int

5

间隔时间

Division

Str

“none”

划分数据方式,为container时,通过bucket划分数据,为ojbect,以对像数据划分数据,”none”时,所以的bucket都 有ojbect数据

Runtime

Int

0

运行时长

Rampup

Int

0

多长时间启动完所有的压力

Rampdown

Int

0

结束数,不能与runtime同时配

totalOps

Int

0

操作数

totalBytes

Int

0

多大bytes将传输

Driver

Str

哪个driver将执行工作,默认的话,所有的drivers将参与工作,平分

Afr

Int

200,000 – normal

0 – special work

可接受错误速率,毫秒级别

Work type支持
init(创建bucket)

格式<work type=”init” workers=”4” config=”containers=r(1,100)” />

参数

类型

默认值

说明

Containers

String

Bucket选项表达式,比如c(1),r(1,100)

Cprefix

String

Mycontainers_

Bucket前缀

Csuffix

String

<null>

后缀

prepare(在bucket中插入特定的对像)

格式

<work type=”perpare” work=”4” config=”containers-=r(1,10);objects=r(1,100);sizes=c(64)KB”/>

参数

类型

默认值

说明

Containers

String

Bucket选项表达式,比如c(1),r(1,100)

Cprefix

String

Mycontainers_

Bucket前缀

Csuffix

String

<null>

后缀

Ojbects

String

Object选择表达式,如c(1),u(1,100)

Oprefix

String

Myobjects_

对像前缀

Osuffix

String

<null>

对像后缀

Sizes

String

大小,单位可以为(B/KB/MG/GB)

Chuncked

Boolean

False

校验上传的数据

Content

String

“random”(默认)

“zero”

上传数据内容,默认为随机字符号

Createcontainer

Boolean

False

如果bucket不存在就创建对赢的bucket

hashCheck

Boolean

False

Hash检查

Cleanup(删除文件)

格式:<work type=”cleanup” workers=”4” config=”containers=r(1,5)”;objects=r(1,100)” />

参数

类型

默认值

说明

Containers

String

Bucket选项表达式,比如c(1),r(1,100)

Cprefix

String

Mycontainers_

Bucket前缀

Csuffix

String

<null>

后缀

Ojbects

String

Object选择表达式,如c(1),u(1,100)

Oprefix

String

Myobjects_

对像前缀

Osuffix

String

<null>

对像后缀

Deletecontainer

Boolean

False

存在相关的bucket则删除bucket

Dispolse(删除bucket)

格式 <work type=”dispose” workers=”4” config=”containers=r(1,100)” />

参数

类型

默认值

说明

Containers

String

Bucket选项表达式,比如c(1),r(1,100)

Cprefix

String

Mycontainers_

Bucket前缀

Csuffix

String

<null>

后缀

Delay(延迟)

用的少,不写了

Operation支持:

格式<operation type=”read|write|delete” ratio=”<1-100> config=”<key>=<value>;….” />

参数

类型

默认值

说明

Type

String

操作类型,只有read write delete list

Ratio

Int

比例

Division

Int

Config

String

参数列表

read

格式<operation type=”read” ratio=”79” config=”containers=c(1);objects=u(1,100)” />

参数

类型

默认值

说明

Containers

String

Bucket选项表达式,比如c(1),r(1,100)

Cprefix

String

Mycontainers_

Bucket前缀

Csuffix

String

<null>

后缀

Ojbects

String

对像表达式如u(1,100)

Oprefix

String

Myobjects_

对像前缀

Osuffix

String

<null>

对像后缀

Hascheck

Boolean

False

是否校验

write

格式:

<operation type=”write” ratio=”20” config=”containers=c(2);objects=u(1,10);size=c(2)MB”/>

参数

类型

默认值

说明

Containers

String

Bucket选项表达式,比如c(1),r(1,100)

Cprefix

String

Mycontainers_

Bucket前缀

Csuffix

String

<null>

后缀

objects

String

对像表达式如u(1,100)

Oprefix

String

Myobjects_

对像前缀

Osuffix

String

<null>

对像后缀

Sizes

String

大小

Chunked

Boolean

False

上传数据是否分片

Content

String

“radom”(默认值)

“zero”

默认是随机字符填充

Hascheck

Boolean

False

是否校验

filewrite(文件上传)

格式:

<operation type=”filewrite” ratio=”20” config=”containers=c(2);fileselection=s;files=/tmp”/>

参数

类型

默认值

说明

Containers

String

Bucket选项表达式,比如c(1),r(1,100)

Cprefix

String

Mycontainers_

Bucket前缀

Csuffix

String

<null>

后缀

Fileselection

String

上传文件选择方式,如s

Files

String

目录

Chunked

Boolean

False

上传数据是否分片

Hascheck

Boolean

False

是否校验

delete

格式<operation type=”delete” ratio=”10” config=”containers=c(2);ojbects=u(1,100)” />

参数

类型

默认值

说明

Containers

String

Bucket选项表达式,比如c(1),r(1,100)

Cprefix

String

Mycontainers_

Bucket前缀

Csuffix

String

<null>

后缀

objects

String

对像表达式如u(1,100)

Oprefix

String

Myobjects_

对像前缀

Osuffix

String

<null>

对像后缀

list(用的少)

在填写参数时,还需要注意各种选择器的使用,如下

Expression

格式

备注

Constant(不变的)

C(number)

固定在一个数值

Uniform(随机)

U(min,max)

从[min,max]中随机选择一个数

Range

R(min,max)

同python里的range函数

更常用在(init,prepare,cleanup,dispose)里,不建议用在operation

sequential

S(min,max)

也是增加函数,常用于operation操作中

Histogram

H(min1|max1|weight1,…..)

用在文件大小的不同比重中,实际使用少,不解释

常见的xml:

初始化bucket,将会创建二个bucket

<?xml version="1.0" encoding="UTF-8" ?>
- <workload name="initBucket" description="sample benchmark for s3"><storage type="s3" config="accesskey=V02TU7BTTHYSVINSRB7P;secretkey=b2u6ZgiNVlnfsDUpBigEbZKX9Na7kvM7UWEMrtPN;endpoint=http://xxx.xxx.xxx/" />
- <workflow>
- <workstage name="init_create_bucket"><work type="init" workers="1" config="cprefix=test;containers=r(1,2)" /> </workstage></workflow></workload>

View Code

上传特定大小的文件

在test1 bucket中上传100个4M的文件,并发25

<?xml version="1.0" encoding="UTF-8" ?>
- <workload name="put-100Workers-4MB" description="sample benchmark for s3"><storage type="s3" config="accesskey=V02TU7BTTHYSVINSRB7P;secretkey=b2u6ZgiNVlnfsDUpBigEbZKX9Na7kvM7UWEMrtPN;endpoint=http://xxx.xxx.xxx.xxx/" />
- <workflow>
- <workstage name="put 4MB data with 100 workers">
- <work name="Put64KBData1" workers="25" totalOps="200" driver="sv40"><operation type="write" ratio="100" config="cprefix=test;oprefix=100wks_64k;containers=c(1);objects=s(1,100);sizes=c(4)MB" /> </work></workstage></workflow></workload>

View Code

读写1:1

  <?xml version="1.0" encoding="UTF-8" ?>
- <workload name="read&write" description="sample benchmark for s3"><storage type="s3" config="accesskey=7FRWOW451AM5N1BDGWG6;secretkey=Xb9YEC5ia4KbCR1M7fZgR67RFXi1ARPrOfxa9Bjx;endpoint=http://xxx.xxx.xx.xx/" />
- <workflow>
- <workstage name="read &write">
- <work name="read write" workers="25" totalOps="100"><operation type="write" ratio="50" config="cprefix=test;oprefix=100wks_64k;containers=c(1);objects=s(1,10);sizes=c(50)KB" /> <operation type="read" ratio="50" config="cprefix=test-;oprefix=100wks_64kr;containers=c(1);objects=s(1,10);sizes=c(50)KB" /> </work></workstage></workflow></workload>

View Code

转载于:https://www.cnblogs.com/landhu/p/5896829.html

使用COSBench工具对ceph s3接口进行压力测试--续相关推荐

  1. 【总结】个人推荐的接口测试工具和接口性能/压力测试工具

    一般接口有2种测试,现在很多是模糊了这个,但是如果细分.一般还要写<接口测试用例>和<接口性能测试用例>.同样,也分接口测试报告和接口性能测试报告. 接口的本质及其工作原理 接 ...

  2. NHibernate+WCF项目实战(四)使用WAS对Webservices接口进行压力测试

    NHibernate+WCF项目实战 第一篇.项目介绍与搭建: 第二篇.使用NHibernate实现数据访问并进行单元测试: 第三篇.使用WCF对外提供Webservices接口并进行单元测试: 第四 ...

  3. 如何使用Jmeter对HTTP接口进行压力测试?

    我们不应该仅仅局限于某一种工具,性能测试能使用的工具非常多,选择适合的就是最好的.笔者已经使用Loadrunner进行多年的项目性能测试实战经验,也算略有小成,任何性能测试(如压力测试.负载测试.疲劳 ...

  4. 支付系统接口性能压力测试TPS优化之路

    支付系统接口性能压力测试TPS优化之路 郭柏雅 本文案例是我们品课学院在银行系统性能测试第一个案例,由发生至解决,通过对业务逻辑的认知.测试环境的了解.测试脚本的开发.服务的监控分析优化.操作系统的监 ...

  5. 软件压力测试工具有哪些 企业如何做好压力测试工作?

    随着人们对软件质量要求越来越重视,在软件项目正式交付之前都需要做软件压力测试,目的就是为了测试系统能够承载多大的压力,能承担多少的并发.如果不做软件压力测试工作,一旦出现大的访问量的时候,系统或者程序 ...

  6. 使用 WRK 压力测试工具对 ASP.NET Core 的接口进行压力测试

    0. 简要介绍 WRK 是一款轻量且易用的 HTTP 压力测试工具,通过该工具我们可以方便地对我们所开发的 WebAPI 项目进行压力测试,并且针对测试的情况返回结果. PS:Wrk 并不能针对测试的 ...

  7. 后端开发都应该了解点接口的压力测试(Apache Bench版)

    背景 小A:小B,最近调你的接口老是超时呀,8秒都还没返回结果,是不是有性能问题呀! 小B :我看看~~ 类似这样的对话,在现实中是时有发生的,不是特别严重的话,往往大家也不会去重视这个事. 尤其是在 ...

  8. Jmeter做接口的压力测试

    章节一压力测试课程介绍 1.2018年亿级流量压测系列之Jmeter4.0课程介绍和效果演示 简介: 讲解课程安排,使用的Jmeter版本 讲课风格:涉及的组件,操作配置多,不会一次性讲解,会先讲部分 ...

  9. mysql 带宽测试工具_MySQL自带的性能压力测试工具mysqlslap详解

    使用语法如下: # MySQLslap [options] 常用参数 [options] 详细说明: --auto-generate-sql, -a 自动生成测试表和数据,表示用mysqlslap工具 ...

最新文章

  1. java f反射_java反射机制[基础学习]
  2. 【Android 属性动画】属性动画 Property Animation 工作原理 ( 线性插值动画 | 非线性插值动画 | 动画计算 | 经过分数 | 插值分数 | 类型估值器)
  3. 软件学院学习体验之三
  4. master节点重置后添加node报错_超强教程!在树莓派上构建多节点K8S集群!
  5. 多校 HDU 6313 Hack It——构造
  6. JavaEE——Mybatis(6)--association的分步查询与延迟加载 以及Collection和鉴别器discriminator...
  7. salesforce 零基础学习(三十二)通过Streams和DOM方式读写XML
  8. lvgl 笔记(3)-中文字库的制作和使用(windows模拟和esp32)
  9. 8086汇编语言(一) 汇编语言源程序
  10. 计算机学院毕业设计题库,计算机信息工程学院毕业设计课题审题表
  11. 前端如何将静态页面部署到服务器,并可以通过公网ip访问。
  12. 计算机管理员 职称业绩登记,任现职前主要专业技术职务工作业绩登记完整版(30页)-原创力文档...
  13. 七月算法机器学习笔记5 -- 特征工程
  14. 关于编码(二):ASCII和Unicode
  15. 分享一个非常实用的视频剪辑技巧
  16. Latex 参考文献
  17. 独秀日记:咱朋友圈的微商大佬比怨妇多,总是更好一点的,对吧
  18. FastStone Capture—截图处理
  19. 合作案例 | 慧通差旅助力中核集团,打造智能化差旅平台
  20. 一、CTF-Web-信息泄露(记录CTF学习)

热门文章

  1. python install pip 区别_python conda、pip区别,python 下 faiss 安装
  2. python怎么接收前端参数_Python常驻任务实现接收外界参数代码解析
  3. [UE4]解析json数据
  4. ★教师工资为什么这么低?
  5. Oracle脚本笔记
  6. 前端工作面试问题(下)
  7. Oracle 11g 新特性 -- 自动诊断资料档案库(ADR) 说明
  8. 自动提醒IE6访客升级浏览器,
  9. Python疑难杂症:SyntaxError: Non-ASCII character Python中文处理问题
  10. CyAPI.lib(CyAPI.obj) : error LNK2019: 无法解析的外部符号...