测试工具
fio
以顺序读为例子,命令如下:
fio
-
name iops
-
rw
=
read
-
bs
=
4k
-
runtime
=
60
-
iodepth
32
-
filename
/
dev
/
sda6
-
ioengine libaio
-
direct
=
1
其中
rw
=
read
表示随机读,
bs
=
4k
表示每次读
4k
,
filename
指定对应的分区,这里我是/
dev
/
sda6
,
direct
=
1
表示穿越
linux
的缓存
测试
sata
硬盘,
sas
硬盘,
ssd
硬盘的顺序读,随机读,顺序写,随机写的速度
顺序读
测试命令:
fio
-
name iops
-
rw
=
read
-
bs
=
4k
-
runtime
=
60
-
iodepth
32
-
filename
/
dev
/
sda6
-
ioengine libaio
-
direct
=
1
SATA
Jobs
:
1
(
f
=
1
):
[
R
]
[
16.4
%
done
]
[
124.1M
/
0K
/
s
]
[
31.3K
/
0
iops
]
[
eta
00m
:
51s
]
SAS
Jobs
:
1
(
f
=
1
):
[
R
]
[
16.4
%
done
]
[
190M
/
0K
/
s
]
[
41.3K
/
0
iops
]
[
eta
00m
:
51s
]
SSD
Jobs
:
1
(
f
=
1
):
[
R
]
[
100.0
%
done
]
[
404M
/
0K
/
s
]
[
103K
/
0
iops
]
[
eta
00m
:
00s
]
可以看到
在对
4KB
数据包进行连续读的情况下:
SSD
其速度可以达到
404MB
/
S
,
IOPS
达到
103K
/
S
SAS
其速度可以达到
190MB
/
S
,
IOPS
达到
41K
/
S
SATA
其速度可以达到
124MB
/
S
,
IOPS
达到
31K
/
S
顺序读,
SAS
总体表现是
SATA
硬盘的
1.3
倍,
SSD
总体表现是
sata
硬盘的
4
倍。
随机读
测试命令
fio
-
name iops
-
rw
=
randread
-
bs
=
4k
-
runtime
=
60
-
iodepth
32
-
filename
/
dev
/
sda6
-
ioengine libaio
-
direct
=
1
SATA
Jobs
:
1
(
f
=
1
):
[
r
]
[
41.0
%
done
]
[
466K
/
0K
/
s
]
[
114
/
0
iops
]
[
eta
00m
:
36s
]
SAS
Jobs
:
1
(
f
=
1
):
[
r
]
[
41.0
%
done
]
[
1784K
/
0K
/
s
]
[
456
/
0
iops
]
[
eta
00m
:
36s
]
SSD
Jobs
:
1
(
f
=
1
):
[
R
]
[
100.0
%
done
]
[
505M
/
0K
/
s
]
[
129K
/
0
iops
]
[
eta
00m
:
00s
]
随机读,
SAS
总体表现是
SATA
硬盘的
4
倍,
SSD
总体表现是
sata
硬盘的一千多倍。
顺序写
测试命令:
fio
-
name iops
-
rw
=
write
-
bs
=
4k
-
runtime
=
60
-
iodepth
32
-
filename
/
dev
/
sda6
-
ioengine libaio
-
direct
=
1
SATA
Jobs
:
1
(
f
=
1
):
[
W
]
[
21.3
%
done
]
[
0K
/
124.9M
/
s
]
[
0
/
31.3K
iops
]
[
eta
00m
:
48s
]
SAS
Jobs
:
1
(
f
=
1
):
[
W
]
[
21.3
%
done
]
[
0K
/
190M
/
s
]
[
0
/
36.3K
iops
]
[
eta
00m
:
48s
]
SSD
Jobs
:
1
(
f
=
1
):
[
W
]
[
100.0
%
done
]
[
0K
/
592M
/
s
]
[
0
/
152K
iops
]
[
eta
00m
:
00s
]
同样的
4KB
数据包顺序写的情况下,
SSD
卡的成绩为
592MB
/
S
,
IOPS
为
152K
。而本地硬盘仅为
118MB
/
S
,
IOPS
仅为
30290
。
随机写
测试命令:
fio
-
name iops
-
rw
=
randwrite
-
bs
=
4k
-
runtime
=
60
-
iodepth
32
-
filename
/
dev
/
sda6
-
ioengine libaio
-
direct
=
1
SATA
Jobs
:
1
(
f
=
1
):
[
w
]
[
100.0
%
done
]
[
0K
/
548K
/
s
]
[
0
/
134
iops
]
[
eta
00m
:
00s
]
SAS
Jobs
:
1
(
f
=
1
):
[
w
]
[
100.0
%
done
]
[
0K
/
2000K
/
s
]
[
0
/
512
iops
]
[
eta
00m
:
00s
]
SSD
Jobs
:
1
(
f
=
1
):
[
W
]
[
100.0
%
done
]
[
0K
/
549M
/
s
]
[
0
/
140K
iops
]
[
eta
00m
:
00s
]
在接下来的
4KB
数据包随机写操作中,
SSD
卡再次展示了其高超的
IO
性能,高达
549MB
/
S
的随机写速率,
IOPS
高达
140K
。相比之下,本地硬盘的随机读写仅为
548KB
/
S
,
IOPS
为
134
。