如何计算硬盘、RAID组与Ceph的IOPS!!!

简介:

机械硬盘

7200硬盘IOPS = 1000/(3 + 1000*(7200/60)/2) = 140

10k硬盘IOPS = 1000/(3 + 60000/10000/2) = 167

15k硬盘IOPS = 1000/(3 + 60000/15000/2) = 200

其中3为寻道延迟,7200/10k/15k为转速(rpm),1000*(7200/60)/2为旋转延迟(旋转延迟一般用转一圈所需时间的1/2表示),结果为理论峰值,实际还会有系统延迟导致测得IOPS一般低于此值。

RAID组

由于RAID组需要校验以提供恢复功能,所以会存在一定写惩罚(一个业务写操作对应实际硬盘的I/O操作,可以参考https://community.emc.com/docs/DOC-26624),这个系数如下:

RAID0: 1

RAID1: 2

RAID5: 4

RAID6: 6

RAID1-0: 2

所以RAID组IOPS = 硬盘写IOPS*硬盘数量*写操作百分比/写惩罚系数 + 硬盘读IOPS*硬盘数量*读操作百分比。

以4块IOPS为180的SAS硬盘组RAID 6然后百分百随机写操作为例:

IOPS = 180*4/6 = 120

Ceph的IOPS经验公式

由于Ceph存储结构不同于物理硬件,所以影响其IOPS的因素主要有网络、副本数量、日志、OSD(硬盘)数量、OSD服务器数量、OSD IOPS等,这里给出一个来自Mirantis的经验公式:

IOPS = 硬盘IOPS * 硬盘数量 * 0.88 / 副本数量

其中0.88为4-8k随机读操作占比(88%),如果OSD不是以硬盘为单位而是RAID组,则替换公式中对应参数。

关于Ceph的IOPS计算仅供参考,计算结果可能会跟物理环境实测有较大偏差。

作者:蒋迪

来源:51CTO

目录
相关文章
|
算法 固态存储 关系型数据库
|
1月前
|
存储 固态存储 Java
文件系统使用固态硬盘(SSD)
【10月更文挑战第8天】
61 2
|
存储 机器学习/深度学习 缓存
RAID介绍及RAID5配置实例
RAID介绍及RAID5配置实例
RAID介绍及RAID5配置实例
|
机器学习/深度学习 Shell 内存技术
|
Linux Windows
服务器存在多个数据盘的情况下挂载点和磁盘对应关系
如果均为不可卸载的磁盘,控制台挂载点和磁盘是对应的,但是如果多个磁盘(大小一致)都可卸载,控制台和磁盘挂载点对应关系可能并不正确。 下文就是讲如何在服务器内判断磁盘和控制台ID对应关系。
786 0
下一篇
无影云桌面