机械硬盘html
7200硬盘IOPS = 1000/(3 + 1000*(7200/60)/2) = 140
10k硬盘IOPS = 1000/(3 + 60000/10000/2) = 167
15k硬盘IOPS = 1000/(3 + 60000/15000/2) = 200linux
其中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的经验公式:htm
IOPS = 硬盘IOPS * 硬盘数量 * 0.88 / 副本数量
其中0.88为4-8k随机读操做占比(88%),若是OSD不是以硬盘为单位而是RAID组,则替换公式中对应参数。
关于Ceph的IOPS计算仅供参考,计算结果可能会跟物理环境实测有较大误差。
做者介绍:云技术社区专家 蒋迪 (微信公众号:云技术实践)
蒋迪,资深虚拟化基础设施工程师,《KVM私有云架构设计与实践》做者,云技术社区专家,擅长KVM云平台架构解析与虚拟化POC,具备一线开发与交付经验。