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)将数据作为对象 ...
随机推荐
- week_one-python用户登录
作业:编写登陆接口 输入用户名密码认证成功后显示欢迎信息输错三次后锁定 1.先创建锁文件account_lock.txt,内容可以为空2.再创建用户密码信息文件account.txteg.wo 123 ...
- Docker Weave 应用部署
Docker Weave 应用条件 官方文档:https://www.weave.works/docs/net/latest/install/installing-weave 使用前提: 1. 确保L ...
- DataFrame数据转为list,再逐行写入Excel
首先使用np.array()函数把DataFrame转化为np.ndarray(), 再利用tolist()函数把np.ndarray()转为list, 示例代码如下: # -*- coding:ut ...
- overture不同行的音符应该如何连线?
钢琴初学者在使用overture的时候,碰到不同行中的音符想要将其连线,肯定会疑惑如何来完成这个操作.Overture作为一款钢琴爱好者喜爱的钢琴打谱作曲软件,有着十分强大的功能,下面,我们来看看如何 ...
- CSS层叠样式表--使用
一.颜色属性 二.字体属性三.背景属性四.文本属性五.边框属性六.列表属性七.display属性八.内外边距九.float属性十.定位十一.margin定位 一.颜色属性 (1)英文单词 <p ...
- 【SQL Server 问题记录】A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible.
本文涉及的相关问题,如果你的问题或需求有与下面所述相似之处,请阅读本文 A network-related or instance-specific error occurred while esta ...
- 第 8 章 容器网络 - 068 - 分析 Calico 的网络结构
分析 Calico 的网络结构 在 host1 中运行容器 bbox1 并连接到 cal_net1: docker container run --network cal_net1 --name bb ...
- http与rfc
超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议.所有的WWW文件都必须遵守这个标准.设计HTTP最初的目的是为了提供一种发布和接 ...
- 『Python CoolBook』使用ctypes访问C代码_上_用法讲解
一.动态库文件生成 源文件hello.c #include "hello.h" #include <stdio.h> void hello(const char *na ...
- android:Internet(volley)
public void getStringFromCloud(View view) { /*创建请求队列*/ RequestQueue queue = Volley.newRequestQueue(t ...