ceph集群性能测试结果
对ceph存储集群(8台万兆服务器)从以下几个方面进行测试的结果
1、读写稳定性
无故障下的ceph集群性能完全满足业务对磁盘性能的需求。
测试数据结果如下表1-1,1-2
2、业务稳定性
ceph集群出现节点脱离的故障状态时,设置恢复QoS可以有效的保证业务正常运行无中断。
测试数据结果如下表2-1
3、节点故障恢复时间
节点故障的恢复时间依据故障时间段内的新增数据的大小决定,若移除或添加一个11T的节点,并且不做恢复速度限制,那么数据恢复时间大约在6到8小时。
测试数据结果如下表3-1,3-2,4-1
4、对系统资源的使用情况
ceph底层ssd盘起缓存的作用,使用率是随热数据的上升与下沉而变化(测试阶段最高达到70%);SATA盘随着数据的不断写入使用率一直上升。
5台业务服务器在进行8k块大小连续2小时并行读写操作时,集群的cpu使用率会升高到50%-80%,内存使用率46.61%基本无波动。
5台业务服务器在进行8k块大小连续2小时并行读写操作时,业务服务器资源内存消耗瞬间增长到7G(总内存8G)随后下降,CPU使用率升高到15%-25%。
测试图标如下5-1,5-2,5-3,5-4
Ceph分布式存储的物理和业务空间使用如下:
裸物理空间349.3TB 已使用的裸物理空间94.8TB
三个副本的总空间116.44T 三个副本已使用的空间31.58TB
ceph的数据存储目前基本都在15%以内,存储超过70%时,业务的性能会少量低下。
1、稳定性(ceph集群无故障)
一个业务的性能表1-1:
|
bw(MB/s) |
iops(每秒的读写次数) |
|
|
randread(磁盘分区未对齐) |
109 |
14032 |
|
randwrite(磁盘分区未对齐) |
75 |
9335 |
|
randwrite(磁盘分区对齐) |
79.71 |
10202 |
5个业务的性能表1-2:
|
bw(MB/s)x5 |
iops(每秒的读写次数)x5 |
|
|
randread(磁盘分区未对齐) |
108 |
13832 |
|
randwrite(磁盘分区未对齐) |
41 |
5190 |
|
randwrite(磁盘分区对齐) |
50.45 |
6457 |
2、业务稳定性(随机写数据为例,数据恢复速度限制,一个业务的性能测试)表2-1
|
bw(MB/s) |
iops(每秒的读写次数) |
相比正常测试值下降百分比 |
|
|
一个节点脱离集群 |
68 |
8442 |
10%-20% |
|
两个节点脱离集群 |
67 |
8281 |
10%-20% |
3、节点故障恢复时间(无业务运行状态下,一个业务性能测试)
表3-1
|
读写速度范围(MB/s) |
数据量(T) |
恢复时间(hour) |
|
|
移除一个节点 |
1100-2200 |
11 |
6 |
|
移除两个节点 |
1100-2200 |
22 |
12 |
表3-2
|
添加移除的一个节点 |
300-500 |
11 |
8 |
|
添加移除的两个节点 |
300-500 |
22 |
13 |
4、关闭数据恢复限制的状态下,5个业务的性能
表4-1
|
bw(MB/s)x5 |
iops(每秒的读写次数)x5 |
|
|
randread |
15.4 |
1969 |
|
randwrite |
7.68 |
983 |
5、系统资源使用情况
Ceph集群内存变化图5-1:

Ceph集群CPU变化图5-2:

业务服务器CPU变化图5-3:

业务服务器内存变化图5-4:

6、数据库备份运行状态下,磁盘分区对业务性能的影响
一个业务的性能2-1:
|
bw(MB/s) |
iops(每秒的读写次数) |
|
|
randwrite(磁盘分区未对齐) |
59.12 |
7567 |
|
randwrite(磁盘分区对齐) |
77.06 |
9863 |
5个业务的性能2-2:
|
bw(MB/s)x5 |
iops(每秒的读写次数)x5 |
|
|
randwrite(磁盘分区未对齐) |
41.37 |
5295 |
|
randwrite(磁盘分区对齐) |
50 |
6400 |
ceph集群性能测试结果的更多相关文章
- ceph存储集群性能测试工具步骤(初稿)
一.源码安装fio工具: #yum install libaio-devel make #wget http://brick.kernel.dk/snaps/fio-2.2.10.tar.gz #ta ...
- 最新ceph集群常用命令梳理
结合网络.官网.手动查询等多方渠道,整理ceph维护管理常用命令,并且梳理常规命令在使用过程中的逻辑顺序.另外整理期间发现ceph 集群的命令体系有点乱,详细情况各自体验. 一:ceph集群启动.重启 ...
- Ubuntu 14.04 部署 CEPH集群
注:下文的所有操作都在admin节点进行 1.准备三台虚拟机,其中一台作为admin节点,另外两台作为osd节点,并相应地用hostname命令将主机名修改为admin,osd0,osd1,最后修改/ ...
- ceph集群安装
所有 Ceph 部署都始于 Ceph 存储集群.一个 Ceph 集群可以包含数千个存储节点,最简系统至少需要一个监视器和两个 OSD 才能做到数据复制.Ceph 文件系统. Ceph 对象存储.和 C ...
- 使用虚拟机CentOS7部署CEPH集群
第1章 CEPH部署 1.1 简单介绍 Ceph的部署模式下主要包含以下几个类型的节点 Ø CephOSDs: A Ceph OSD 进程主要用来存储数据,处理数据的replication,恢复 ...
- docker创建ceph集群
背景 Ceph官方现在提供两类镜像来创建集群,一种是常规的,每一种Ceph组件是单独的一个镜像,如ceph/daemon.ceph/radosgw.ceph/mon.ceph/osd等:另外一种是最新 ...
- ceph集群搭建
CEPH 1.组成部分 1.1 monitor admin节点安装ceph-deploy工具 admin节点安装ceph-deploy 添加源信息 rm -f /etc/yum.repos.d/* w ...
- Ceph集群搭建及Kubernetes上实现动态存储(StorageClass)
集群准备 ceph集群配置说明 节点名称 IP地址 配置 作用 ceph-moni-0 10.10.3.150 centos7.5 4C,16G,200Disk 管理节点,监视器 monitor ...
- CEPH集群操作入门--配置
参考文档:CEPH官网集群操作文档 概述 Ceph存储集群是所有Ceph部署的基础. 基于RADOS,Ceph存储集群由两种类型的守护进程组成:Ceph OSD守护进程(OSD)将数据作为对象 ...
随机推荐
- (Review cs231n) Training of Neural Network2
FFDNet---matlab 调用并批处理 format compact; global sigmas; % input noise level or input noise level map a ...
- Spring整合MyBatis(简单登录Demo)
SpringMvc简单整合(登录模块) 1.1 整合思路 1.SqlSessionFactory对象应该放到spring容器中作为单例存在. 2.传统dao的开发方式中,应该从spring容器中获得s ...
- SSM项目思路整合NEW
#首先进行项目思路整体分析,具体包括哪些模块,如何实现等: 一)搭建环境 1.导包: (Spring核心包4个 + 面向切面的包4个 + SpringJDBC和事务的包各一个, SpringMVC两个 ...
- docker容器与大数据组件的冲突点
1.容器里面安装spark,外面的程序(安装spark主机的容器)会连接不上集群.理由:这个组件用的akka,连接上集群,会提示: akka.ErrorMonitor: dropping messag ...
- Python sqlalchemy orm 外键关联
创建外键关联 并通过relationship 互相调用 如图: 实现代码: import sqlalchemy # 调用链接数据库 from sqlalchemy import create_engi ...
- Jquery实现简单选项卡
<html> <head> <meta charset="UTF-8"> <title>选项卡</title> < ...
- C# 说说lock到底锁谁?(2)
摘要 今天在园子里面有园友反馈关于[C#基础]说说lock到底锁谁?文章中lock(this)的问题.后来针对文章中的例子,仔细想了一下,确实不准确,才有了这篇文章的补充,已经对文章中的demo进行修 ...
- HADOOP HA 踩坑 - 所有 namenode 都是standby
报错: 无明显报错 状况: 所有namenode都是standby,即ZK服务未生效 尝试一:手动强制转化某个namenode为active 操作:在某台namenode上,执行 hdfs haadm ...
- JQuery学习二-字典操作
1. 数组中添加map var arr = []; var key = 'Jeremy'; var value = '!!!!' arr.push({ 'key': key, 'value': val ...
- Python 条件控制
Python 条件控制 Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块. 可以通过下图来简单了解条件语句的执行过程: if 语句 Python中if语 ...