使用dd命令测试主机IO性能

一般来说,我们这评测主机的时候,一般要测试三方面的性能,分别是CPU、带宽和磁盘IO。前几天给大家介绍过speedtest-cli带宽测速工具,今天给大家介绍以下dd命令。

我们经常用两个指标来评测磁盘的性能:IOPS和吞吐量(throughput)。IOPS是Input/Output Operations Per Second的缩写,就是每秒能读写多少次;吞吐量就是每秒能读写多少数据,就是我们说的磁盘速度。

dd命令不能作为精准的磁盘吞吐量测试工具,不同的块大小,测试的结果可能会不一样,可以用来当作简单、快速的测试工具使用。

dd命令基本语法解释

if=/dev/zero:用来设置dd命令读取的输入文件。

of=/tmp/wker:用来设置dd命令写入文件。

bs=1M:bs=block-size,设置dd命令读取的块的大小。单位可以是K、M和G,如果不设置单位,默认是字节。

count=1024:dd命令读取的块的个数。

oflag=dsync:使用同步I/O,这个选项能够帮助你去除缓存的影响,可以获得精准的结果。

使用dd命令测试IO性能

测试读取性能:

dd if=/dev/vda1 of=/dev/null bs=64k count=16000 oflag=dsync

我们可以利用df命令查看磁盘,确定输入的文件。/dev/null是一个伪设备,写入到该文件不会对IO产生影响。

测试写入性能:

dd if=/dev/zero of=/tmp/wker bs=64k count=16000 oflag=dsync

/dev/zero也是一个伪设备,只产生空字符流,读取该文件不会对IO产生影响。

下图是一台阿里云轻量服务器的IO性能测试结果:

阿里云轻量服务器dd测试结果

下图是一台Vultr 2.5美金的机器的IO测试结果:

Vultr主机dd测试结果

发表评论

电子邮件地址不会被公开。 必填项已用*标注

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>