ceph存储集群测试方案
--测试目的
测试ceph集群的读写性能,根据测试数据了解整个ceph集群的性能情况。
--测试环境
1、8节点ceph集群环境,1台虚拟机(cpu 8核,内存8G),8k的块大小,时长2小时
2、8节点ceph集群环境,5台虚拟机(cpu 8核,内存8G),8k的块大小,时长2小时
--测试情景
1、Ceph集群无故障的性能指标
2、Ceph集群移除节点的性能指标
[ceph集群无故障状态测试]
--测试方法:
1、从ceph集群中创建一个1T的块设备空间,将分出的磁盘空间挂载到虚拟机。
A、利用fio工具测试挂载设备的读写速度
B、利用zabbix监控得到虚拟机的系统使用情况(CPU、内存等)
C、利用ceph服务器的ceph命令得到SSD盘和SATA盘的使用情况,利用ceph集群监控页面查看集群的CPU、内存等使用情况
l fio测试
fio --name=test --output=8krw --thread --rw=randwrite --bs=8k --ioengine=libaio --iodepth=64 --numjobs=1 --filename=/dev/sdb1 --direct=1 --time_based --runtime=7200 --allow_mounted_write=1 --group_reporting
[块设备随机写操作]
|
bw(MB/s) |
Iops(每秒的读写速度) |
|
|
randwrite |
74.25 |
9503 |
[块设备随机读操作]
|
bw(MB/s) |
Iops(每秒的读写速度) |
|
|
randread |
107.83 |
13802 |
客户端的系统使用情况
[CPU使用情况(idle)]
随机写:

随机读:

[内存使用情况]
随机写:

随机读:

测试结果分析:业务服务器的cpu消耗在10%到25%之间,内存最大达到7G(内存8G)左右,网络最大达到35Kbps(几乎对客户端网络影响不大)
l 服务端的系统使用情况
[固态盘使用情况]
初始ssd的使用率7%,随机写的过程中17%,随机写操作完成ssd使用率下降到10%
[SATA盘的使用情况]
初始使用率是28.61%,随机写操作完成之后使用率是28.61%
[CPU变化情况]
ceph服务器CPU变化图(随机写):

随机读:

[内存利用率]
ceph服务器内存变化图(随机写):

随机读:

测试结果分析:ssd在整个磁盘中只是做缓存,数据不是永久在上面,最终的数据都会写到SATA盘中。服务端的CPU消耗对于网关服务器来说最高达到80%左右,其他服务器最大达到70%左右。服务端的内存基本没消耗。
2、从ceph集群中创建5个1T的块设备空间,将分出的磁盘空间挂载到5个不同物理机创建的虚拟机
A、利用fio工具测试挂载设备的读写速度
B、利用zabbix监控得到虚拟机的系统使用情况(CPU、内存等)
C、利用ceph服务器的ceph命令得到SSD盘和SATA盘的使用情况,利用ceph集群监控页面查看集群的CPU、内存等使用情况
--对照组:1台虚拟机和5台虚拟机性能对照
--读写方式:随机IO
l fio测试
[块设备随机写操作]
|
bw(MB/s) |
Iops(每秒的读写速度) |
|
|
randwrite |
35.96 |
4602 |
[块设备随机读操作]
|
bw(MB/s) |
Iops(每秒的读写速度) |
|
|
randread |
102.33 |
13098 |
测试结论分析:
l 客户端的系统使用情况
[CPU使用情况]
随机写

[内存使用情况]
随机写

测试结论分析:五台客户端服务器的cpu消耗最大达到50%;内存最大达到7.5G左右;网络最大达60Kbps左右。
l 服务端的系统使用情况
[固态盘使用情况]
2%-74%
[SATA盘的使用情况]
28.61%-31.48%
[CPU变化情况]
网关服务器会比其他服务器的cpu使用率更高

[内存利用率]

测试结果分析:ssd在整个磁盘中只是做缓存,数据不是永久在上面,最终的数据都会写到SATA盘中。服务端的CPU消耗对于网关服务器来说最高达到80%左右,其他服务器最大达到70%左右。服务端的内存基本没消耗。
[ceph集群移除节点状态测试]
--测试方法:
1、从ceph集群中创建一个1T的块设备,将该设备挂载到虚拟机,移除集群中的一个节点(移除04节点)
A、利用fio工具测试挂载设备的读写速度
B、利用zabbix监控得到虚拟机的系统使用情况(CPU、内存等)
C、 利用ceph服务器的ceph命令得到SSD盘和SATA盘的使用情况,利用ceph集群监控页面查看集群的CPU、内存等使用情况
l fio测试
[块设备随机写操作]
|
bw(MB/s) |
Iops(每秒的读写速度) |
|
|
randwrite |
38.35 |
4909 |
[块设备随机读操作]
|
bw(MB/s) |
Iops(每秒的读写速度) |
|
|
randread |
91 |
11648 |
测试结论分析:一个节点移除,随机写性能会下降50%左右,随机读性能下降16左右。
l 客户端的系统使用情况
[CPU使用情况]

[内存使用情况]

测试结论分析:客户端CPU最高达到17%;内存会在瞬间上升,之后恢复到之前的低消耗;客户端的网络几乎没什么消耗。
l 服务端的系统使用情况
[固态盘使用情况]
52%
[SATA盘的使用情况]
32.01%
[CPU变化情况]

[内存利用率]

测试结论分析:服务端的CPU利用率最高到达52.96%,内存利用率几乎没什么消耗。
ceph存储集群测试方案的更多相关文章
- Ceph 存储集群
Ceph 存储集群 Ceph 作为软件定义存储的代表之一,最近几年其发展势头很猛,也出现了不少公司在测试和生产系统中使用 Ceph 的案例,尽管与此同时许多人对它的抱怨也一直存在.本文试着整理作者了解 ...
- Ceph 存储集群5-数据归置
一.数据归置概览 Ceph 通过 RADOS 集群动态地存储.复制和重新均衡数据对象.很多不同用户因不同目的把对象存储在不同的存储池里,而它们都坐落于无数的 OSD 之上,所以 Ceph 的运营需要些 ...
- Ceph 存储集群1-配置:硬盘和文件系统、配置 Ceph、网络选项、认证选项和监控器选项
所有 Ceph 部署都始于 Ceph 存储集群.基于 RADOS 的 Ceph 对象存储集群包括两类守护进程: 1.对象存储守护进程( OSD )把存储节点上的数据存储为对象: 2.Ceph 监视器( ...
- 002.RHCS-配置Ceph存储集群
一 前期准备 [kiosk@foundation0 ~]$ ssh ceph@serverc #登录Ceph集群节点 [ceph@serverc ~]$ ceph health #确保集群状态正常 H ...
- Ceph 存储集群 - 搭建存储集群
目录 一.准备机器 二.ceph节点安装 三.搭建集群 四.扩展集群(扩容) 一.准备机器 本文描述如何在 CentOS 7 下搭建 Ceph 存储集群(STORAGE CLUSTER). 一共4 ...
- Ceph 存储集群搭建
前言 Ceph 分布式存储系统,在企业中应用面较广 初步了解并学会使用很有必要 一.简介 Ceph 是一个开源的分布式存储系统,包括对象存储.块设备.文件系统.它具有高可靠性.安装方便.管理简便.能够 ...
- Ceph 存储集群4-高级运维:
一.高级运维 高级集群操作主要包括用 ceph 服务管理脚本启动.停止.重启集群,和集群健康状态检查.监控和操作集群. 操纵集群 运行 Ceph 每次用命令启动.重启.停止Ceph 守护进程(或整个集 ...
- ceph存储集群的应用
1.ceph存储集群的访问接口 1.1ceph块设备接口(RBD) ceph块设备,也称为RADOS块设备(简称RBD),是一种基于RADOS存储系统支持超配(thin-provisioned). ...
- Ceph 存储集群第一部分:配置和部署
内容来源于官方,经过个人实践操作整理,官方地址:http://docs.ceph.org.cn/rados/ 所有 Ceph 部署都始于 Ceph 存储集群. 基于 RADOS 的 Ceph 对象存储 ...
随机推荐
- Redis学习-hash数据类型
hash 类型是string类型的field和value的映射表,或者说是一个string集合,适合存储对象,相比较而言,将一个对象类型存储在hash类型里要比存储在string类型里占用更少的内存空 ...
- java的四大特性
java的四大特性是:封装.继承.多态,抽象.
- [LspTrace]ReadAccConfig returns false! QT
当qt运行出现以下信息时 [LspTrace]ReadAccConfig returns false! [LspTrace]FindMatchingProvider: inInfo is one of ...
- Python3 tkinter基础 Menu add_radiobutton 单选的下拉菜单
Python : 3.7.0 OS : Ubuntu 18.04.1 LTS IDE : PyCharm 2018.2.4 Conda ...
- 关于vim的折叠
参考: http://www.cnblogs.com/fakis/archive/2011/04/14/2016213.html 和 这篇文章: https://blog.csdn.net/benda ...
- 再谈git和github-深入理解-3
git tag -a 和 -m的区别? -a是 注解 是单词 "annotate"的意思 , 表示 "给标签一个名字, 标签名 -m 是创建标签时的消息备注 git ta ...
- 20175312 2018-2019-2 《Java程序设计》第4周学习总结
20175312 2018-2019-2 <Java程序设计>第4周学习总结 教材学习内容总结 已依照蓝墨云班课的要求完成了第五章的学习,主要的学习渠道是PPT,和书的课后习题. 总结如下 ...
- 数组toString()方法,数组常用操作
int[] arr ={1,2,3,4,5}; String arrString = Arrays.toString(arr); //输出[I@7150bd4d System.out.println( ...
- 关于ios 11 的问题
https://segmentfault.com/a/1190000011444121
- (免费电影)苹果手机合并.ts视频
代码教程:https://mp.weixin.qq.com/s/6Oo8TOruePUxotC11zp0ag