1 组网
操作系统:RedhatLinux 6.2 (64bit)
文件系统:ext4
IO分为直接IO和非直接IO。所谓直接IO是指读写文件不利用的文件系统高速缓存,直接从磁盘读取/存储数据。在调用open函数时,支持位O_DIRECT即直接IO。反之,读写文件要经过文件高速缓存的操作成为非直接IO,OS默认是这种操作方式。在进行测试的同时,利用iosat –xk命令查看IOPS,以及处理每个IO需要的时间。
2 测试结果
|
C1 Raid10 -4磁盘 -1线程 |
C2 Raid10 -4磁盘 -4线程 |
C3 Raid5 -4磁盘 -1线程 |
C4 Raid5 -4磁盘 -4线程 |
C5 noRaid -1磁盘 -1线程 |
C6 noRaid -1磁盘 -4线程 |
C7 Raid10 -8磁盘 -1线程 |
C8 Raid10 -8磁盘 -4线程 |
C9 Raid5 -8磁盘 -1线程 |
C10 Raid5 -8磁盘 -4线程 |
R1 顺序写10个10G文件 第一行MB/S |
140 |
230 |
40 |
40 |
70 |
70 |
180 |
260 |
20 |
50 |
892 |
2348 |
279 |
432 |
516 |
817 |
1132 |
2606 |
128 |
584 |
|
1.54 |
6.28 |
6.23 |
25.88 |
3.18 |
14.10 |
1.20 |
6.00 |
15.22 |
20.52 |
|
R2 随机写,blocksize=4k 第一行blocks/s |
500 |
1200 |
110 |
110 |
290 |
290 |
590 |
1560 |
25 |
120 |
2011 |
3486 |
464 |
314 |
1172 |
776 |
2362 |
4321 |
86 |
315 |
|
0.61 |
0.86 |
2.46 |
10.40 |
0.98 |
4.16 |
0.51 |
0.67 |
13.32 |
10.28 |
|
R3 随机读blocksize=4k 第一行blocks/s |
200 |
600 |
160 |
610 |
200 |
250 |
260 |
830 |
300 |
820 |
205 |
575 |
159 |
603 |
190 |
242 |
249 |
808 |
272 |
796 |
|
4.85 |
7.08 |
6.22 |
6.62 |
5.21 |
16.54 |
3.99 |
5.14 |
3.63 |
5.03 |
|
R4 随机读blocksize=1M 第一行blocks/s |
50 |
80 |
50 |
70 |
70 |
50 |
70 |
130 |
50 |
100 |
481 |
806 |
420 |
545 |
630 |
490 |
650 |
1296 |
433 |
839 |
|
3.67 |
9.90 |
3.80 |
13.06 |
2.71 |
17.91 |
2.63 |
6.12 |
4.21 |
8.29 |
|
R5(直接IO) 顺序写10个10G文件 第一行MB/S |
240 |
260 |
40 |
40 |
70 |
70 |
240 |
260 |
100 |
50 |
1215 |
1105 |
209 |
158 |
336 |
305 |
2395 |
1089 |
479 |
222 |
|
1.25 |
2.99 |
6.84 |
21.82 |
4.40 |
11.43 |
0.51 |
3.44 |
3.00 |
15.46 |
|
R6(直接IO) 随机写,blocksize=4k 第一行blocks/s |
600 |
1250 |
120 |
120 |
290 |
280 |
600 |
1500 |
120 |
120 |
2384, |
3498 |
469 |
316, |
1171 |
751 |
2388 |
4181 |
471 |
317 |
|
0.51 |
0.82 |
2.45 |
9.59 |
0.98 |
4.00 |
0.51 |
0.67 |
2.44 |
9.54 |
|
R7(直接IO) 随机读,blocksize=4k 第一行blocks/s |
210 |
630 |
250 |
590 |
220 |
240 |
240 |
780 |
270 |
800 |
210 |
634 |
246 |
592 |
214 |
240 |
244 |
780 |
272 |
799 |
|
4.71 |
6.28 |
4.01 |
6.72 |
4.61 |
16.63 |
4.05 |
5.10 |
3.62 |
4.98 |
|
R8(直接IO) 随机读,blocksize=1M 第一行blocks/s |
50 |
140 |
100 |
140 |
80 |
90 |
70 |
170 |
110 |
200 |
106 |
285 |
205 |
281 |
155 |
186 |
132 |
341 |
225 |
406 |
|
18.18 |
27.26 |
9.15 |
25.90 |
11.09 |
41.16 |
14.54 |
22.84 |
7.83 |
18.65 |
注:红色部分利用IOPS(即iostat命令输出的r/s+w/s)。蓝色部分是处理每个IO花费的时间,这个时间包括了排队时间以及磁盘处理时间(即iostat命令输出的await)。
R1:非直接IO。顺序写10个10G文件,每次写1M。
R2:非直接IO。随机写,每次写一个block,每个block大写为4K。
R3:非直接IO。随机读,每次读一个block,每个block大写为4K。
R4:非直接IO。随机读,每次读一个block,每个block大写为1M。
R5:直接IO。顺序写10个10G文件,每次写1M。
R6:直接IO。随机写,每次写一个block,每个block大写为4K。
R7:直接IO。随机读,每次读一个block,每个block大写为4K。
R8:直接IO。随机读,每次读一个block,每个block大写为1M。