测试磁盘速度
dd命令
首先了解两个特殊设备
/dev/null 伪设备,回收站.写该文件不会产生IO
/dev/zero 伪设备,会产生空字符流,对它不会产生IO
测试磁盘读速度
time dd if=uiroot.tgz of=./test.dbf bs=8k count=30000
测试磁盘写速度
time dd if=/dev/zero of=/test.disk bs=8k count=300000
fio命令
随机读性能 8k
fio -filename=/home/test -iodepth=64 -ioengine=libaio -direct=1 -rw=randread -bs=8k -size=2G -numjobs=64 -runtime=20 -group_reporting -name=test-rand-read
顺序读性能 8k
fio --filename=/home/test -iodepth=64 -ioengine=libaio --direct=1 --rw=read --bs=8k --size=2g --numjobs=4 --runtime=10 --group_reporting --name=test-read
随机写性能 8k
fio -filename=/home/test -iodepth=64 -ioengine=libaio -direct=1 -rw=randwrite -bs=8k -size=2G -numjobs=64 -runtime=20 -group_reporting -name=test-rand-write
顺序写性能 8k
fio -filename=/home/test -iodepth=64 -ioengine=libaio -direct=1 -rw=write -bs=8k -size=2g -numjobs=4 -runtime=20 -group_reporting -name=test-write
参数说明
filename=/dev/emcpowerb 支持文件系统或者裸设备,-filename=/dev/sda2或-filename=/dev/sdb
direct=1 测试过程绕过机器自带的buffer,使测试结果更真实
rw=randwread 测试随机读的I/O
rw=randwrite 测试随机写的I/O
rw=randrw 测试随机混合写和读的I/O
rw=read 测试顺序读的I/O
rw=write 测试顺序写的I/O
rw=rw 测试顺序混合写和读的I/O
bs=4k 单次io的块文件大小为4k
bsrange=512-2048 同上,提定数据块的大小范围
size=5g 本次的测试文件大小为5g,以每次4k的io进行测试
numjobs=30 本次的测试线程为30
runtime=1000 测试时间为1000秒,如果不写则一直将5g文件分4k每次写完为止
ioengine=psync io引擎使用pync方式,如果要使用libaio引擎,需要yum install libaio-devel包
rwmixwrite=30 在混合读写的模式下,写占30%
group_reporting 关于显示结果的,汇总每个进程的信息
此外
lockmem=1g 只使用1g内存进行测试
zero_buffers 用0初始化系统buffer
nrfiles=8 每个进程生成文件的数量
测试结果
io=执行了多少M的IO
bw=平均IO带宽
iops=IOPS
runt=线程运行时间
slat=提交延迟
clat=完成延迟
lat=响应时间
bw=带宽
cpu=利用率
IO depths=io队列
IO submit=单个IO提交要提交的IO数
IO complete=Like the above submit number, but for completions instead.
IO issued=The number of read/write requests issued, and how many of them were short.
IO latencies=IO完延迟的分布
io=总共执行了多少size的IO
aggrb=group总带宽
minb=最小.平均带宽.
maxb=最大平均带宽.
mint=group中线程的最短运行时间.
maxt=group中线程的最长运行时间.
ios=所有group总共执行的IO数.
merge=总共发生的IO合并数.
ticks=Number of ticks we kept the disk busy.
io_queue=花费在队列上的总共时间.
util=磁盘利用率
测试磁盘速度
https://www.hechunyu.com/archives/ce-shi-ci-pan-su-du