目录

磁盘速度测试

概述

作为服务端编程的程序员,尤其是大量用到存储,或者是存储系统的管理人员,应该要对服务器的磁盘保持关于性能的最基本的思考和测试的习惯。

操作

下面是一些测试磁盘性能的比较简单的方法,假设 /tmp/tempfile 创建在本地磁盘,/var/lib/longhorn/tempfile 创建在网络磁盘,通过下面的方法观察一下具体的速度。

1
2
3
4
5
6
7
8
sync; dd if=/dev/zero of=/tmp/tempfile bs=1M count=1024; sync
dd if=/tmp/tempfile of=/dev/null bs=1M count=1024

sync; dd if=/dev/zero of=/var/lib/longhorn/tempfile bs=1M count=1024; sync
dd if=/var/lib/longhorn/tempfile of=/dev/null bs=1M count=1024

rm -rf /var/lib/longhorn/tempfile
rm -rf /tmp/tempfile

iotop

1
2
# 安装iotop
yum install -y iotop

下面是一些具体选项的含义。

1
2
3
4
5
6
7
-o: 只显示有io操作的进程
-b: 批量显示,无交互,主要用作记录到文件。
-n NUM: 显示NUM次,主要用于非交互式模式。
-d SEC: 间隔SEC秒显示一次。
-p PID: 监控的进程pid。
-u USER: 监控的进程用户。
-k: 使用千字节而不是人类友好单位

测试几个选项。

1
2
iotop -oPa
iotop -ok

iostat

1
2
# 安装iostat
yum install -y sysstat

测试命令。

1
iostat -x 1

参考资料

  1. How to install and use iostat
警告
本文最后更新于 2017年2月1日,文中内容可能已过时,请谨慎参考。