玩转ceph性能测试---对象存储(一)
笔者最近在工作中需要测试ceph的rgw,于是边测试边学习。
首先工具采用的intel的一个开源工具cosbench,这也是业界主流的对象存储测试工具。
1、cosbench的安装,启动
下载最新的cosbench包
wget https://github.com/intel-cloud/cosbench/releases/download/v0.4.2.c4/0.4.2.c4.zip
解压
unzip 0.4.2.c4.zip
安装相关工具包
yum install java-1.7.0-openjdk nmap-ncat
给所有的sh脚本加执行权限
chmod +x *.sh
取消http代理
unset http_proxy
如果是controller节点,执行start-all.sh
如果是driver节点,执行start-driver.sh
我的环境里面是1个controller+3个driver,controller和其中1个driver共用一个节点
修改conf/controller.conf
修改各个节点的conf/driver.conf
controller 执行start-all.sh
driver节点执行start-driver.sh
http://controllerip:19088/controller/
登陆controller web页面
3个driver节点都ok
2、在conf目录下有各个配置文件
3、ceph的对象存储支持S3和swift两种接口,本篇先讨论S3
测试S3, 可以根据s3-config-sample.xml修改
<?xml version="1.0" encoding="UTF-8" ?>
<workload name="s3-sample" description="sample benchmark for s3">
<storage type="s3" config="accesskey=dbce6f1739494a87b8d6770b0c831d8d;secretkey=72b3205f558c475daac7b3bc756a63bc;endpoint=http://rgwip:8080" />
-----认证信息 accesskey secretkey endpoiont 去自己的ceph环境中获取
<workflow>
<workstage name="init"><work type="init" workers="1" config="cprefix=s3testqwer;containers=r(1,32)" />
</workstage>
----init阶段,主要是创建bucket,上述配置为创建s3testqwer为前缀的32个bucket
<workstage name="prepare">
<work type="prepare" workers="1" config="cprefix=s3testqwer;containers=r(1,32);objects=r(1,100);sizes=c(64)KB" />
</workstage>
----prepare阶段,主要是创建bucket里面的object,上述为在每个bucket创建64k的object 100个,64k可配范围,预先创建好数据库可以供下面的读测试使用
<workstage name="main">
<work name="main" workers="8" runtime="300">
<operation type="read" ratio="100" config="cprefix=s3testqwer;containers=u(1,32);objects=u(1,100)" />
<operation type="write" ratio="0" config="cprefix=s3testqwer;containers=u(1,32);objects=u(1,100);sizes=c(64)KB" />
</work>
</workstage>
----main,执行阶段,ratio是执行百分比,workers是并发数,runtime是执行时间
<workstage name="cleanup">
<work type="cleanup" workers="1" config="cprefix=s3testqwer;containers=r(1,32);objects=r(1,100)" />
</workstage>
----cleanup,清理object
<workstage name="dispose">
<work type="dispose" workers="1" config="cprefix=s3testqwer;containers=r(1,32)" />
</workstage>
-----dispose,清理bucket
</workflow>
</workload>
同一个workstage里面的work是并发执行的,比如你有多个driver,就会分配到多个driver去执行,每一个work里面的worker又是并发,worker也是负载到多个driver去的,多个workstage是顺序执行
导入写好的workstage脚本
然后submit
依次执行init-prepare-main-cleanup-dispose
执行结果
上图中各个类别说明:
Op-type - 操作类型
Op-Count - 操作总数
Byte-Count - byte总数
Avg-ResTime - 响应时间,是数据传输时间和处理时间的总和
Avg-ProceTime - 读写操作的时间
Throughput - 吞吐量,每秒操作数
Bandwidth - 带宽
Succ-Ratio - 操作的成功率
图标可以看整个数据的波动 整体还算平稳
有33条错误
可以在cosbench的log目录下找到错误log
查看对应mission的log
这是java启动的一个错误:
1、stop-all.sh 停止 cosbench 进程(controller, drivers)
2、编辑 cosbench-start.sh 文件,找到java启动命令行参数, 增加"-Dcom.amazonaws.services.s3.disableGetObjectMD5Validation=true" 关闭S3的MD5校验功能
3、start-all.sh 启动
修改后再次执行workload,不再报错,可以根据自己的配置调整脚本,比如只想测试write并且又想保留数据,就可以不写cleanup和dispose,当然也可以自定义work
附加一个swift接口测试的xml
转载于:https://blog.51cto.com/14009921/2311191
玩转ceph性能测试---对象存储(一)相关推荐
- Ceph入门到精通-Ceph之对象存储网关RADOS Gateway(RGW)
一.Ceph整体架构及RGW在Ceph中的位置 1.Ceph的整体架构 Ceph是一个统一的.分布式的的存储系统,具有优秀的性能.可靠性和可扩展性.Ceph支持对象存储(RADOSGW).块存储(RB ...
- java s3 与ceph的关系,ceph S3 对象存储的使用
ceph 对象存储兼容两种接口(协议)S3 和 swift. S3 最常用, 这里仅介绍如何连接(使用)S3存储接口. 访问 S3, 你需要 S3 的:用户密钥,包含:access_id 和 secr ...
- 【大咖专栏】如何配置CEPH RGW对象存储与公有云同步
新钛云服已为您服务1280天 容灾 (Disaster Recovery),即容灾备份或灾备,是业务连续性系统的一个子集,用于保障 IT 系统在遭受自然灾害.人为操作失误或蓄意破坏后的数据还原和业务恢 ...
- 使用ceph的对象存储
Ceph 对象存储 Ceph 对象存储使用 Ceph 对象网关守护进程( radosgw ),它是个与 Ceph 存储集群交互的 FastCGI 模块.因为它提供了与 OpenStack Swift ...
- python通过librados库通过底层的rados操作ceph的对象存储和块存储
使用python语言调用原生接口(调用librados库来操作rados) 也就是下图中几种方式中的一种,就是图中的红色部分: 首先来说明一下:这个就相当于在客户端上操作ceph集群的底层对象存储ra ...
- ceph的数据存储之路(10) -----ceph对象存储的ls命令实现及思考
2019独角兽企业重金招聘Python工程师标准>>> 更新:2016-10-19--------------------------------------- 前面更新的内容可能略 ...
- 应用ceph对象存储(ceph-13.2.10)
记录:335 场景:在CentOS 7.9操作系统上,部署ceph-13.2.10集群.应用ceph对象存储(ceph object store):主要是创建对象存储客户端.使用s3cmd操作对象存储 ...
- Ceph 认证授权和RBD块存储、对象存储使用(三)
RBD块存储 RBD介绍 1.RBD是Ceph分布式集群中最常用的存储类型 2.块是一个有序字节,普通的一个块大小为512字节,基于块的存储是最常见的存储方式,比如常见的硬盘.软盘和CD光盘等,都是存 ...
- 【存储】块存储、文件存储和对象存储的区别?
目录 简单说明 详细解释 存储分类 01 块存储(提供虚拟磁盘) 02 文件存储 03 对象存储 04 三种存储的区别和对比 分布式块存储.文件存储.对象存储的区别 理解Ceph的三种存储接口:块设备 ...
最新文章
- iOS蓝牙4.0开发例子
- Silverlight 2 Beta 1, IE 8 Beta 1, ASP.NET MVC 预览版2 可以下载了 - 思归呓语 - 博客堂
- wcf高并发 mysql_使用nginx搭建高可用,高并发的wcf集群
- 安检X光机下的春运归家图 宛如一幅幅水彩画
- ios找不到信任证书_iOS 11 中可用的受信任根证书列表
- gc:C语言的垃圾回收库-英文
- 使用Kalibr进行IMU+相机的标定
- c#等待所有子线程执行完毕方法
- jQuery动画二级下拉菜单
- 将页面强制保持在所属框架中
- pytorch版crnn网络框架
- Centos7下WebLogic安装部署
- rar压缩包的打开密码破解
- 使用WebDriver 登录163邮箱
- Java后端工程师面试自我介绍
- 从零到一,美芽的技术实战
- vue怎么给pc端浏览器设置一个最小屏幕_图文讲解uni-app的PC宽屏适配方案
- zookeeper和kafka的SASL认证以及生产实践
- ScrollView的属性(纵向的用HorizontalScrollView)
- C++11标准模板(STL)- 算法(std::nth_element)