机械硬盘


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 


为方便大家,笔者在此提供一个网站供大家参考使用,里面包括RAID、备份、虚拟化、IP等多种计算工具,http://wintelguy.com/raidperf.pl。


Ceph的IOPS经验公式


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


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


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


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



©著作权归作者所有:来自51CTO博客作者mob604756fa4732的原创作品,如需转载,请注明出处,否则将追究法律责任

更多相关文章

  1. 基于Go编写的恶意软件数量激增2000%
  2. Rust、Erlang 并发数量比较
  3. Linux- 监控工具netdata配置安装 (系统:centos)
  4. 苹果Mac硬盘余量告急,GrandPerspective 帮你轻松锁定“罪魁祸首”
  5. 购物车功能:全选与取消,自动计算----0412
  6. Ceph Octopus版本Dashboard新增硬盘闪灯等功能
  7. 大华NVR监控恢复案例
  8. 云硬盘(Elastic Volume Service,EVS)
  9. IDE、SATA、SCSI、SAS、FC、SSD 硬盘类型

随机推荐

  1. 51CTO学员PMP学习心得
  2. 2017年文章汇总 - Python数据之道
  3. 程序员如何优雅的排版公众号的内容
  4. 也谈谈我的github之路-写在Github成立十
  5. 浅析Redis 4.0新特性之LazyFree
  6. 一文读懂 TKE 及 Kubernetes 访问权限控
  7. 关于新版Anaconda(v5.1.0)安装后可能出现的
  8. Python英语-Issue09
  9. Python英语-Issue01
  10. Pandas小册子:日期数据处理 - 如何按日期