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。