Om te beginnen, mijn hardware:
Moederbord: SuperMicro X7SPA-H-D525
Geheugen: 2x 2GB DDR3
Harddisk: 1x Patriot 32GB SSD (Voor OS: Ubuntu 11.04), 1x 320GB, 4x 2TB Samsung HD204UI
Behuizing: Chenbro ES34069
Ik heb hierop Ubuntu 11.04 Server geinstalleerd. Nu wil ik met mdadm de 4x 2TB in raid 5 zetten.
Dit gaat goed, en werkt. Maar nu ben ik wat aan het spelen en testen om een goede performance eruit te halen. Daarvoor heb ik het script van Q gebruikt met de volgende instellingen:
Dit was het resultaat:
Tijdens het runnen van de script kreeg ik de volgende meldingen op het scherm (zowel bij 512 als bij 1024):
Na wat pluiswerk kwam ik er achter dat dat niet door mdadm kwam, maar door het formateren van de array:
Als ik het resultaat in een overzicht zet, krijg ik het volgende:
Ik had Q om advies gevraagd:
Gisteravond/nacht heb ik nogmaals de test laten draaien, maar nu 10x ipv 3x:
Zo goed als dezelfde resultaten dus.
Zit nu op werk en kan alleen via mijn iPad ssh-en naar mijn bak (firewall op werk).
Heb even getest om de array met chunksize 512 aan te maken (hier kwam ik er achter dat de foutmelding niet door MDADM kwam, maar door het formateren):
Moederbord: SuperMicro X7SPA-H-D525
Geheugen: 2x 2GB DDR3
Harddisk: 1x Patriot 32GB SSD (Voor OS: Ubuntu 11.04), 1x 320GB, 4x 2TB Samsung HD204UI
Behuizing: Chenbro ES34069
Ik heb hierop Ubuntu 11.04 Server geinstalleerd. Nu wil ik met mdadm de 4x 2TB in raid 5 zetten.
Dit gaat goed, en werkt. Maar nu ben ik wat aan het spelen en testen om een goede performance eruit te halen. Daarvoor heb ik het script van Q gebruikt met de volgende instellingen:
code:
1
2
3
4
5
6
7
8
9
10
11
| DEVICES="/dev/sd[c-f]" NO_OF_DEVICES=4 ARRAY=/dev/md5 CHUNKS="4 8 16 32 64 128 256 512 1024" MOUNT=/pool LOG=/var/log/raid-test.log LOGDEBUG=/var/log/raid-test-debug.log LEVEL="5" TESTFILE=$MOUNT/test.bin TESTFILESIZE=10000 TRIES=3 |
Dit was het resultaat:
code:
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
| marcel@iServer:~$ cat /var/log/raid-test*
| CHUNKS | LEVEL | WRITE | READ |
4 5 218 149
4 5 436 297
4 5 649 446
8 5 220 83
8 5 442 164
8 5 659 244
16 5 225 82
16 5 449 166
16 5 665 249
32 5 214 112
32 5 426 223
32 5 638 337
64 5 204 142
64 5 411 297
64 5 623 445
128 5 190 178
128 5 380 357
128 5 570 535
256 5 162 204
256 5 323 406
256 5 485 610
512 5 145 261
512 5 287 524
512 5 430 787
1024 5 113 259
1024 5 229 518
1024 5 345 777
| CHUNKS | LEVEL | WRITE | READ |
4 5 216 148
8 5 219 81
16 5 221 83
32 5 212 112
64 5 207 148
128 5 190 178
256 5 161 203
512 5 143 262
1024 5 115 259
marcel@iServer:~$ |
Tijdens het runnen van de script kreeg ik de volgende meldingen op het scherm (zowel bij 512 als bij 1024):
code:
1
2
| log stripe unit (524288 bytes) is too large (maximum is 256KiB) log stripe unit adjusted to 32KiB |
Na wat pluiswerk kwam ik er achter dat dat niet door mdadm kwam, maar door het formateren van de array:
code:
1
2
3
| root@iServer:~# mkfs.xfs /dev/md5 log stripe unit (524288 bytes) is too large (maximum is 256KiB) log stripe unit adjusted to 32KiB |
Als ik het resultaat in een overzicht zet, krijg ik het volgende:
| Chunk | Level | Write | Read | |
| 4 | 5 | 216 | 148 | Beste keuze voor write performance |
| 8 | 5 | 129 | 81 | No go, te lage read |
| 16 | 5 | 221 | 83 | No go, te lage read |
| 32 | 5 | 212 | 112 | Chunksize 4 betere keuze |
| 64 | 5 | 207 | 148 | Chunksize 4 betere keuze |
| 128 | 5 | 190 | 178 | Beste gemiddelde |
| 256 | 5 | 161 | 203 | Beste keuze voor read performance |
| 512 | 5 | 143 | 262 | No go, te grote chunksize |
| 1024 | 5 | 115 | 259 | No go, te grote chunksize |
Ik had Q om advies gevraagd:
Toen Q antwoordde, wist ik nog niet dat mkfs.xfs de melding gaf en dat het niet van MDADM wasHoi,
Ik denk dat je reden hebt om een topic te starten in het IO forum want de beste writes heb je rond de 64 terwijl de reads achter blijven. Dat vind ik vreemd. 64 kb chunk geeft tot nu toe bij mij het beste resultaat.
Kijk nu naar die 512, de write is iets slechter, maar de read is vele malen beter. Hoe kan dat nou? Misschien kan er iets getweaked worden.
De test run zal wel even duren, maar afhankelijk van de hoeveelheid ram zou ik ook eens met 20 GB testen ipv 10. Dan in de range van 64 - 1024.
Theoretisch moeten die 4 disks 4x 100MB/s doen, maar met RAID 5 heb je er maar 3, dus 300 MB/s. Dan zou 260 MB/s heel redelijk zijn qua read. Write op 140 is niet eens zo slecht dan. Maar wat er nu precies met MDADM gebeurt op het moment dat je die 'ongeldige' waarde kiest, is wel interessant.
Gisteravond/nacht heb ik nogmaals de test laten draaien, maar nu 10x ipv 3x:
code:
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
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
| root@iServer:~# tail -f /var/log/raid-test-debug.log
| CHUNKS | LEVEL | WRITE | READ |
4 5 213 148
4 5 428 293
4 5 644 440
4 5 857 581
4 5 1071 720
4 5 1284 854
4 5 1501 990
4 5 1717 1126
4 5 1934 1262
4 5 2147 1404
8 5 214 80
8 5 432 155
8 5 648 226
8 5 863 297
8 5 1082 369
8 5 1302 441
8 5 1515 514
8 5 1733 587
8 5 1953 667
8 5 2173 751
16 5 217 85
16 5 439 168
16 5 660 252
16 5 882 334
16 5 1101 416
16 5 1322 498
16 5 1535 578
16 5 1751 659
16 5 1970 740
16 5 2189 824
32 5 220 108
32 5 433 221
32 5 647 327
32 5 860 437
32 5 1075 551
32 5 1291 661
32 5 1505 773
32 5 1724 884
32 5 1940 996
32 5 2155 1109
64 5 207 152
64 5 414 297
64 5 624 453
64 5 831 611
64 5 1035 769
64 5 1240 915
64 5 1449 1068
64 5 1662 1217
64 5 1866 1355
64 5 2075 1494
128 5 188 178
128 5 379 356
128 5 566 539
128 5 755 721
128 5 943 904
128 5 1132 1089
128 5 1320 1276
128 5 1509 1463
128 5 1703 1648
128 5 1892 1835
256 5 160 218
256 5 320 439
256 5 478 649
256 5 636 861
256 5 793 1047
256 5 952 1239
256 5 1110 1434
256 5 1265 1616
256 5 1420 1783
256 5 1577 1953
512 5 135 225
512 5 273 455
512 5 410 671
512 5 547 895
512 5 688 1129
512 5 828 1366
512 5 970 1598
512 5 1114 1816
512 5 1255 2049
512 5 1398 2308
1024 5 114 247
1024 5 226 494
1024 5 339 738
1024 5 451 987
1024 5 559 1212
1024 5 670 1443
1024 5 782 1679
1024 5 897 1907
1024 5 1009 2134
1024 5 1119 2365
root@iServer:~# tail -f /var/log/raid-test.log
| CHUNKS | LEVEL | WRITE | READ |
4 5 214 140
8 5 217 75
16 5 218 82
32 5 215 110
64 5 207 149
128 5 189 183
256 5 157 195
512 5 139 230
1024 5 111 236 |
Zo goed als dezelfde resultaten dus.
Zit nu op werk en kan alleen via mijn iPad ssh-en naar mijn bak (firewall op werk).
Heb even getest om de array met chunksize 512 aan te maken (hier kwam ik er achter dat de foutmelding niet door MDADM kwam, maar door het formateren):


