Linux 如何使用FIO和Ioping测试Disk的性能

来源:互联网 发布:linux程序权限 编辑:程序博客网 时间:2024/06/07 01:11

RW Performance

第一个测试是用于测量随机读/写性能。 在终端中,执行以下命令:

fio --randrepeat=1 --ioengine=libaio --direct=1 --gtod_reduce=1 --name=test --filename=random_read_write.fio --bs=4k --iodepth=64 --size=4G --readwrite=randrw --rwmixread=75

test: (g=0): rw=randrw, bs=4K-4K/4K-4K/4K-4K, ioengine=libaio,
iodepth=64

fio-2.2.8

Starting 1 process

test: Laying out IO file(s) (1 file(s) / 4096MB)

Jobs: 1 (f=1): [m(1)] [0.1% done] [447KB/131KB/0KB /s] [111/32/0 iops] [eta 01h:
Jobs: 1 (f=1): [m(1)] [0.1% done] [383KB/147KB/0KB /s] [95/36/0 iops] [eta 01h:4
Jobs: 1 (f=1): [m(1)] [0.1% done] [456KB/184KB/0KB /s] [114/46/0 iops] [eta 01h:
Jobs: 1 (f=1): [m(1)] [0.1% done] [624KB/188KB/0KB /s] [156/47/0 iops] [eta 01h:
Jobs: 1 (f=1): [m(1)] [0.1% done] [443KB/115KB/0KB /s] [110/28/0 iops] [eta 01h:
Jobs: 1 (f=1): [m(1)] [0.1% done] [515KB/95KB/0KB /s] [128/23/0 iops] [eta 01h:4
Jobs: 1 (f=1): [m(1)] [0.1% done] [475KB/163KB/0KB /s] [118/40/0 iops] [eta 01h:
Jobs: 1 (f=1): [m(1)] [0.2% done] [451KB/127KB/0KB /s] [112/31/0 iops]

因此,该程序将创建一个4GB文件(–size =4G),并且对于每个写入比率(75%/ 25%,如选项-rwmixread = 75指定)执行4KB读取和写入, 该文件,一次运行64个操作。 可以调整RW比率以模拟各种使用场景。
最后会显示最终结果:

test: (groupid=0, jobs=1): err= 0: pid=4760: Thu Mar 2 13:23:28 2017

read : io=7884.0KB, bw=864925B/s, iops=211, runt= 9334msec

write: io=2356.0KB, bw=258468B/s, iops=63, runt= 9334msec

cpu : usr=0.46%, sys=2.35%, ctx=2289, majf=0, minf=29

IO depths : 1=0.1%, 2=0.1%, 4=0.2%, 8=0.3%, 16=0.6%, 32=1.2%,=64=97.5%

submit : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%,=64=0.0%

complete : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.1%,=64=0.0%

issued : total=r=1971/w=589/d=0, short=r=0/w=0/d=0,drop=r=0/w=0/d=0

latency : target=0, window=0, percentile=100.00%, depth=64

Run status group 0 (all jobs):

READ: io=7884KB, aggrb=844KB/s, minb=844KB/s, maxb=844KB/s,
mint=9334msec, maxt=9334msec

WRITE: io=2356KB, aggrb=252KB/s, minb=252KB/s, maxb=252KB/s,
mint=9334msec, maxt=9334msec

Disk stats (read/write):

dm-2: ios=1971/589, merge=0/0, ticks=454568/120101, in_queue=581406,
util=98.44%, aggrios=1788/574, aggrmerge=182/15, aggrticks=425947/119120, aggrin_queue=545252, aggrutil=98.48%

sda: ios=1788/574, merge=182/15, ticks=425947/119120,in_queue=545252, util=98.48%

Random read performance

fio --randrepeat=1 --ioengine=libaio --direct=1 --gtod_reduce=1 --name=test --filename=random_read.fio --bs=4k --iodepth=64 --size=4G --readwrite=randread

Random write performance

fio --randrepeat=1 --ioengine=libaio --direct=1 --gtod_reduce=1 --name=test --filename=random_write.fio --bs=4k --iodepth=64 --size=4G --readwrite=randwrite

Latency measures with IOPing

先安装ioping

yum install ioping

然后执行命令:

ioping -c 100

-c 100选项是ioping将要编号的请求。 该程序也作为文件和/或设备检查的参数。 在这种情况下,实际的工作目录。 程序输出为:

4 KiB <<< . (xfs /dev/dm-2): request=1 time=16.3 ms (warmup)
4 KiB <<< . (xfs /dev/dm-2): request=2 time=253.3 us
4 KiB <<< . (xfs /dev/dm-2): request=3 time=284.0 ms
… 4 KiB <<< . (xfs /dev/dm-2): request=96 time=175.6 us (fast)
4 KiB <<< . (xfs /dev/dm-2): request=97 time=258.7 us (fast
4 KiB <<< . (xfs /dev/dm-2): request=98 time=277.6 us (fast)
4 KiB <<< . (xfs /dev/dm-2): request=99 time=242.3 us (fast)
4 KiB <<< . (xfs /dev/dm-2): request=100 time=36.1 ms (fast)
— . (xfs /dev/dm-2) ioping statistics —

99个请求在3.99秒完成,396 KiB读取,24 iops,99.3 KiB / s
在1.65分钟,400 KiB,1 iops,4.04 KiB / s中产生100个请求
min / avg / max / mdev = 163.5 us / 40.3ms / 760.0ms / 118.5ms

原创粉丝点击