磁盘I/O性能测试

硬盘性能指标

顺序读写 (吞吐量,常用单位为MB/s):文件在硬盘上存储位置是连续的。

适用场景:大文件拷贝(比如视频音乐)。速度即使很高,对数据库性能也没有参考价值。

4K随机读写 (IOPS,常用单位为次):在硬盘上随机位置读写数据,每次4KB。

适用场景:操作系统运行、软件运行、数据库。

以下是使用通用I/O测试工具“fio”,并在指定数据块大小“4K、512K”、队列深度为“128”的条件下,对“UHost标准版机型”以及“UHost高性能SSD机型”这两种机型磁盘进行的I/O基准性能测试所得出的测试数据。

测试结果

测试1. 顺序读/写512K

image

测试2. 随机读/写 4K

image

测试详情

工具:fio
官方网站:
http://freecode.com/projects/fio
http://brick.kernel.dk/snaps/

注意: 性能测试建议直接通过写裸盘的方式进行测试,会得到较为真实的数据。但直接测试裸盘会破坏文件系统结构,导致数据丢失,请在测试前确认磁盘中数据已备份。

块大小:4kb / 512kb

队列深度:128

fio.conf配置:

[global]
ioengine=libaio
iodepth=128
time_based
direct=1
thread=1
group_reporting
randrepeat=0
norandommap
numjobs=32
timeout=6000
runtime=120
 
[randread-4k]
rw=randread
bs=4k
filename=/dev/sdb   注:/dev/sdb是目标测试磁盘的设备名称
rwmixread=100
stonewall
 
[randwrite-4k]
rw=randwrite
bs=4k
filename=/dev/sdb
stonewall
 
[read-512k]
rw=read
bs=512k
filename=/dev/sdb
stonewall
 
[write-512k]
rw=write
bs=512k
filename=/dev/sdb
stonewall

使用方法:shell$> fio fio.conf

如有疑问请联系 技术支持