FIO(Flexible I/O Tester) 是一款由 Jens Axboe 开发的用于测评和压力/硬件验证的自由开源的软件,支持 19 种不同类型的 I/O 引擎 (sync、mmap、libaio、posixaio、SG v3、splice、null、network、 syslet、guasi、solarisaio,以及更多), I/O 优先级(针对较新的 Linux 内核),I/O 速度,fork 的任务或线程任务等等。它能够在块设备和文件上工作。是测试IOPS的非常好的工具,用来对硬件进行压力测试和验证。磁盘IO是检查磁盘性能的重要指标,可以按照负载情况分成照顺序读写,随机读写两大类。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
| # 100%随机,100%读, 4K
$ fio -filename=/dev/emcpowerb \
-direct=1 \
-iodepth 1 \
-thread \
-rw=randread \
-ioengine=psync \
-bs=4k \
-size=1000G \
-numjobs=50 \
-runtime=180 \
-group_reporting \
-name=rand_100read_4k
# 100%随机,100%写, 4K
$ fio -filename=/dev/emcpowerb \
-direct=1 \
-iodepth 1 \
-thread \
-rw=randwrite \
-ioengine=psync \
-bs=4k \
-size=1000G \
-numjobs=50 \
-runtime=180 \
-group_reporting \
-name=rand_100write_4k
#100%顺序,100%读 ,4K
$ fio \
-filename=/dev/emcpowerb \
-direct=1 \
-iodepth 1 \
-thread \
-rw=read \
-ioengine=psync \
-bs=4k \
-size=1000G \
-numjobs=50 \
-runtime=180 \
-group_reporting \
-name=sqe_100read_4k
# 100%顺序,100%写 ,4K
$ fio \
-filename=/dev/emcpowerb \
-direct=1 \
-iodepth 1 \
-thread \
-rw=write \
-ioengine=psync \
-bs=4k \
-size=1000G \
-numjobs=50 \
-runtime=180 \
-group_reporting \
-name=sqe_100write_4k
# 100%随机,70%读,30%写 4K
$ fio \
-filename=/dev/emcpowerb \
-direct=1 \
-iodepth 1 \
-thread \
-rw=randrw \
-rwmixread=70 \
-ioengine=psync \
-bs=4k \
-size=1000G \
-numjobs=50 \
-runtime=180 \
-group_reporting \
-name=randrw_70read_4k \
-write_bw_log=fio-test \
-write_iops_log=fio-test \
-write_lat_log=fio-test
#
$ fio \
-ioengine=psync \
-filename=${TestFile} \
-bs=$bs \
-fdatasync=0 \
-rw=write \
-size=1g \
-runtime=60 \
-name="$TEST_FILE-write-$bs"
|