PCYOPCYO

山上有座庙

Centos测试IO读写性能

1. 测试磁盘写速度

time dd if=/dev/zero of=test.dd  bs=1M count=2000

2. 测试磁盘读速度

time dd if=test.dd of=/dev/null bs=1M


$ yum install fio

0x02 命令

随机读:

$ fio -filename=/dev/sda1 -direct=1 -iodepth 1 -thread -rw=randread -ioengine=psync -bs=4k -size=60G -numjobs=64 -runtime=10 -group_reporting -name=file

顺序读:

$ fio -filename=/dev/sda1 -direct=1 -iodepth 1 -thread -rw=read -ioengine=psync -bs=4k -size=60G -numjobs=64 -runtime=10 -group_reporting -name=file

随机写:

$ fio -filename=/dev/sda1 -direct=1 -iodepth 1 -thread -rw=randwrite -ioengine=psync -bs=4k -size=60G -numjobs=64 -runtime=10 -group_reporting -name=file

顺序读:

$ fio -filename=/dev/sda1 -direct=1 -iodepth 1 -thread -rw=write -ioengine=psync -bs=4k -size=60G -numjobs=64 -runtime=10 -group_reporting -name=file

混合随机读写:

$ fio -filename=/dev/sda1 -direct=1 -iodepth 1 -thread -rw=randrw -rwmixread=30 -ioengine=psync -bs=4k -size=60G -numjobs=64 -runtime=10 -group_reporting -name=file -ioscheduler=noop

解释

filename=/dev/sda1:测试文件名称,通常选择需要测试的盘的data目录
direct=1:测试过程绕过机器自带的buffer。使测试结果更真实
rw=randwrite:测试随机写的I/O
rw=randrw:测试随机写和读的I/O
rw=randread:测试随机读的I/O
bs=4k:单次io的块文件大小为4k
bsrange=512-2048:同上,提定数据块的大小范围
size=60g:本次的测试文件大小为60g,以每次4k的io进行测试
numjobs=64:本次的测试线程为64
runtime=10:测试时间为10秒,如果不写则一直将5g文件分4k每次写完为止
ioengine=psync:io引擎使用pync方式
rwmixwrite=30:在混合读写的模式下,写占30%
group_reporting:关于显示结果的,汇总每个进程的信息。
此外
lockmem=1g:只使用1g内存进行测试
zero_buffers:用0初始化系统buffer
nrfiles=8:每个进程生成文件的数量。

实例测试

此例是测试随机读,文中bw=1532.2KB/s, iops=383即是测试出的iops

本原创文章未经允许不得转载 | 当前页面:PCYO » Centos测试IO读写性能

评论