磁盤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 命令查看。