文档介绍:硬盘 IO 性能估算入门
莫晓东 do
一、硬盘 IO 的类型
IO是输入输出指令,操作系统向存储控制器下发一个读或者写数据的操作指令,
控制器下发地址和数据给存储设备,并返回结果给存储控制器,最后到达操传输的数据数量,传输包括读
和写的总和。对于大文件或者流媒体的应用,拥有大量顺序读写,则更关注数据
吞吐量。数据吞吐量还受到存储设备接口速度限制,比如 IDE、SATA、SAS、FC,
SSD 使用 PCIENvme 接口最佳,但同时期推出的接口都大于存储设备吞吐量上
限。三、硬盘监控指标
通过 iostat 等工具观察存储设备状况,我们一般关注下面指标。
1、r/s、w/s,每秒读写 IO 次数。 IOPS=r/s+w/s 。读和写的能力,在不同设
备中实际是有差异的,但是我们经常简化差异,混合称为 IOPS。
2、avgrq-sz,每次 IO 请求的平均大小 如果平均小于 32K 认为随机存取为主,
大于 32K 则是顺序存储为主。
3、avgqu-sz,等待执行的 IO 队列长度 IO 请求数超出存储设备处理能力,待
执行队列就会加长,该值应该小于 2.
4、await,等待执行的 IO 耗时 等待耗时取决 svctm 以及 IO 队列长度,该值
应该接近 svctm。
5、svctm,IO 服务时间 处理 IO 请求的耗时,比如机械硬盘耗时,由寻道时间、
旋转延迟和传输时间组成。
6、uitl,存储设备 IO 利用率 存储设备的资源利用情况,队列争用程度成越高
值越大。
四、存储性能
1、机械硬盘的性能计算 对机械硬盘来说,IOPS=1000/( 寻道时间 + 旋转延
时 + 传输时间)。a、寻道时间,磁头移动到对应磁道上的耗时。Sata7200RPM ,
平均寻道时间是 9ms。Sas10000RPM ,平均寻道时间是 6ms。Sas15000RPM ,
平均寻道时间是 4ms。 b、旋转延时,盘片旋转至需要的扇区移至磁头下方
耗时。 平均为磁盘旋转一周所需时间的一半,60*1000/7200/2 。 Sata
7200RPM,旋转延时 60*1000/7200/2= 。 Sas10000RPM ,旋转延
时 3ms。 Sas15000RPM ,旋转延时约 2ms。 c、传输时间,传输读写数据耗时。
平均数据大小除以接口传输率,耗时很小粗略计算可以忽略。 Sata,
300~600MB/s。 Sas,3Gbit/s。 FC,2~4Gbit/s。 NVME,32Gbit/s。 根据
上述信息,我们常用的 Sas15000RPM ,My