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 对象存储 ...
随机推荐
- 新手如何学习python(python学习路线图)
现在互联网巨头,都已经转投到人工智能领域,而人工智能最好的编程语言就是python,未来前景显而易见.这是小编给大家整理的python学习路线图,按照此教程一步步的学习来,肯定会对python有更深刻 ...
- 2.0JAVA基础复习——JAVA语言的基础组成关键字和标识符
JAVA语言的基础组成有: 1.关键字:被赋予特殊含义的单词. 2.标识符:用来标识的符号. 3.注释:用来注释说明程序的文字. 4.常量和变量:内存存储区域的表示. 5.运算符:程序中用来运算的符号 ...
- Guitar Pro里的编谱方式怎么用?
今天来教大家如何使用Guitar Pro中的编谱方式来让我们的乐谱更加美观整齐耐看,我们一起get起来吧! 相信我们每一个人在使用Guitar Pro进行编曲创作时,都会碰到这种情况,在乐谱上,会看到 ...
- AJAX缓存清理
Ajax页面缓存是ajax处理数据时对一些重复相同数据进行一个缓存操作,这样从另一个层面对于我们来讲是非常的不错了,但有时我们并不希望它缓存要如何处理呢?下面我们一起来看看关于页面缓存问题分析与解决, ...
- DDD之BoundedContext
原文 BoundedContext Bounded Context is a central pattern in Domain-Driven Design. It is the focus of D ...
- Learning-Python【9】:Python文件操作
1.什么是文件 文件是操作系统提供给用户或应用程序的一种虚拟单位,该虚拟单位直接映射的是硬盘空间.通俗点说,文件就是存放数据的地方 2.为何要处理文件 用户或应用程序直接操作文件(读/写)就被操作系统 ...
- PHP钩子的简单介绍
<?php /** * 钩子类 */ class Hook { static public function execute($type, $model='') { if($model == ' ...
- 封装axios在vue-cli项目中便捷使用
首先创建一个vue-cli搭建起来的vue项目这个不用多说了. 安装axios,使用npm install axios --save命令安装依赖,这时候项目的package.json文件中的" ...
- (16)线程---定时器Timer
# ### 定时器:指定时间执行任务 from threading import Timer def func(): print("目前正在执行任务") t = Timer(5,f ...
- Android测试(一)——Apk文件结构以及Android组件介绍
APK文件结构: assests目录:一般存放的是不会被编译处理的文件,一般是资源性质的文件或者配置文件: libs目录:程序依赖的native库,包含针对特定处理器软件层的编译代码: res目录:存 ...