--测试目的

测试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存储集群测试方案的更多相关文章

  1. Ceph 存储集群

    Ceph 存储集群 Ceph 作为软件定义存储的代表之一,最近几年其发展势头很猛,也出现了不少公司在测试和生产系统中使用 Ceph 的案例,尽管与此同时许多人对它的抱怨也一直存在.本文试着整理作者了解 ...

  2. Ceph 存储集群5-数据归置

    一.数据归置概览 Ceph 通过 RADOS 集群动态地存储.复制和重新均衡数据对象.很多不同用户因不同目的把对象存储在不同的存储池里,而它们都坐落于无数的 OSD 之上,所以 Ceph 的运营需要些 ...

  3. Ceph 存储集群1-配置:硬盘和文件系统、配置 Ceph、网络选项、认证选项和监控器选项

    所有 Ceph 部署都始于 Ceph 存储集群.基于 RADOS 的 Ceph 对象存储集群包括两类守护进程: 1.对象存储守护进程( OSD )把存储节点上的数据存储为对象: 2.Ceph 监视器( ...

  4. 002.RHCS-配置Ceph存储集群

    一 前期准备 [kiosk@foundation0 ~]$ ssh ceph@serverc #登录Ceph集群节点 [ceph@serverc ~]$ ceph health #确保集群状态正常 H ...

  5. Ceph 存储集群 - 搭建存储集群

    目录 一.准备机器 二.ceph节点安装 三.搭建集群 四.扩展集群(扩容)   一.准备机器 本文描述如何在 CentOS 7 下搭建 Ceph 存储集群(STORAGE CLUSTER). 一共4 ...

  6. Ceph 存储集群搭建

    前言 Ceph 分布式存储系统,在企业中应用面较广 初步了解并学会使用很有必要 一.简介 Ceph 是一个开源的分布式存储系统,包括对象存储.块设备.文件系统.它具有高可靠性.安装方便.管理简便.能够 ...

  7. Ceph 存储集群4-高级运维:

    一.高级运维 高级集群操作主要包括用 ceph 服务管理脚本启动.停止.重启集群,和集群健康状态检查.监控和操作集群. 操纵集群 运行 Ceph 每次用命令启动.重启.停止Ceph 守护进程(或整个集 ...

  8. ceph存储集群的应用

    1.ceph存储集群的访问接口   1.1ceph块设备接口(RBD) ceph块设备,也称为RADOS块设备(简称RBD),是一种基于RADOS存储系统支持超配(thin-provisioned). ...

  9. Ceph 存储集群第一部分:配置和部署

    内容来源于官方,经过个人实践操作整理,官方地址:http://docs.ceph.org.cn/rados/ 所有 Ceph 部署都始于 Ceph 存储集群. 基于 RADOS 的 Ceph 对象存储 ...

随机推荐

  1. 新手如何学习python(python学习路线图)

    现在互联网巨头,都已经转投到人工智能领域,而人工智能最好的编程语言就是python,未来前景显而易见.这是小编给大家整理的python学习路线图,按照此教程一步步的学习来,肯定会对python有更深刻 ...

  2. 2.0JAVA基础复习——JAVA语言的基础组成关键字和标识符

    JAVA语言的基础组成有: 1.关键字:被赋予特殊含义的单词. 2.标识符:用来标识的符号. 3.注释:用来注释说明程序的文字. 4.常量和变量:内存存储区域的表示. 5.运算符:程序中用来运算的符号 ...

  3. Guitar Pro里的编谱方式怎么用?

    今天来教大家如何使用Guitar Pro中的编谱方式来让我们的乐谱更加美观整齐耐看,我们一起get起来吧! 相信我们每一个人在使用Guitar Pro进行编曲创作时,都会碰到这种情况,在乐谱上,会看到 ...

  4. AJAX缓存清理

    Ajax页面缓存是ajax处理数据时对一些重复相同数据进行一个缓存操作,这样从另一个层面对于我们来讲是非常的不错了,但有时我们并不希望它缓存要如何处理呢?下面我们一起来看看关于页面缓存问题分析与解决, ...

  5. DDD之BoundedContext

    原文 BoundedContext Bounded Context is a central pattern in Domain-Driven Design. It is the focus of D ...

  6. Learning-Python【9】:Python文件操作

    1.什么是文件 文件是操作系统提供给用户或应用程序的一种虚拟单位,该虚拟单位直接映射的是硬盘空间.通俗点说,文件就是存放数据的地方 2.为何要处理文件 用户或应用程序直接操作文件(读/写)就被操作系统 ...

  7. PHP钩子的简单介绍

    <?php /** * 钩子类 */ class Hook { static public function execute($type, $model='') { if($model == ' ...

  8. 封装axios在vue-cli项目中便捷使用

    首先创建一个vue-cli搭建起来的vue项目这个不用多说了. 安装axios,使用npm install axios --save命令安装依赖,这时候项目的package.json文件中的" ...

  9. (16)线程---定时器Timer

    # ### 定时器:指定时间执行任务 from threading import Timer def func(): print("目前正在执行任务") t = Timer(5,f ...

  10. Android测试(一)——Apk文件结构以及Android组件介绍

    APK文件结构: assests目录:一般存放的是不会被编译处理的文件,一般是资源性质的文件或者配置文件: libs目录:程序依赖的native库,包含针对特定处理器软件层的编译代码: res目录:存 ...