磁盘IO的性能单位:
bps (byte/s) 每秒钟 byte 数
kbps = bps / 1024
mbps = kbps / 1024
相关计算可以参考下面代码: https://github.com/johnsto/speedtest/blob/master/io.go
使用 iostat 可以看到的数据 如下图:
这里我们用了两个参数
- -k 以 KB 为单位显示
- -m 以 M 为单位显示
- 如果不带这些参数的话, 则会用 Blk。 Blk列是512字节块。
下图是阿里云上一台服务器的 磁盘IO写的 数据 峰值是 304644096 bps = 297504 kbps = 290mbps 。
不同硬盘的读写速度可以参考:
阿里云给的数据:
https://help.aliyun.com/knowledge_detail/6524412.html?pos=1
- 普通云盘 500随机IOPS、20MB/s-40MB/s吞吐量,访问时延5-10ms
- SSD 云盘 每GB可获得30随机读写IOPS,单盘最高20000IOPS、256MB/S吞吐性能,访问时延0.5-2ms
- 高效云盘 I/O性能:最高提供3000随机读写IOPS、80MBps的吞吐性能;起步1000随机IOPS、50MBps吞吐性能,每GB增加6个IOPS、0.1MBps吞吐性能,最大3000随机读写IOPS、80MBps吞吐性能;例如:200GB的高效云盘,拥有2200随机读写IOPS、70MBps的读写吞吐性能
- 本地SSD盘 数据盘:本地SSD盘相比普通云盘有10~20倍的性能提升,4KB I/O块大小时随机读写IOPS高达12000、512KB I/O块大小时顺序读写吞吐量高达300MB/s。
系统盘:本地SSD盘作为系统盘时,4KB I/O块大小时的随机读写IOPS上限为3000、顺序读写吞吐量上限为80MB/s。
如果要细化到看那个进程的 io 消耗大, 可以用 iotop 命令查看。