Begrijp me alvast niet verkeerd: in benchmarks heb je zeker winst (iets minder dan 2x zo veel bandbreedte). In normaal desktop-gebruik (opstarten, office, Internet, gaming) heb je geen merkbare/voelbare snelheidswinst.
De performance van een harde schijf kan je in 2 delen:
- De bandbreedte: dit is het maximaal aantal MegaBytes die de harde schijf kan versassen. Dit haal je enkel wanneer alle data die gelezen moet worden achter elkaar staat op de schijf.
- De latency: dit is de gemiddelde tijd (in milliseconden) die verloopt tussen het moment dat een lees- of schrijf-opdracht gegeven wordt aan de harde schijf en het moment dat er begonnen wordt met het uitvoeren van die opdracht.
Met RAID0 wordt de data verdeeld over 2 (of meer) harde schijven: alle even disk-adressen staan op de ene schijf, alle oneven adressen op de tweede. Als je een stuk data wil lezen van opeenvolgende adressen, dan kunnen beide schijven daar tegelijk aan werken.
Je moet dan wachten tot er begonnen wordt met het lezen (= de latency). Bij gebruik van schijven met een gelijke latency zal iedere schijf er gemiddeld even lang over doen om te beginnen lezen: de latency blijft dus gelijk.
Aangezien iedere schijf nu slechts de helft van de data moet lezen, zal er slechts half zo lang effectief gelezen moeten worden. De effectieve bandbreedte is dus verdubbeld.
RAID0 geeft dus een performance winst wanneer je grote blokken aaneensluiteinde data ineens leest. Jammer genoeg gebeurt dat niet zo vaak in desktop-gebruik. Desktop-systemen gebruiken veel eer kleinere files (<250 KB) of lezen slechts delen van grote files (zoals de textuur-files bij games). Komt daar nog eens bij dat desktop-schijven minder vaak gedefragmenteerd worden (waardoor de data niet meer zo aaneensluiteind is).
Neem het voorbeeld van een schijf met een bandbreedte van 50 MB/s en een latency van 10ms. Stel dat je 1000 data-blokken wil lezen van 4 KB, dan doet een enkele schijf er zo lang over:
Code:
1000 x (10ms + 4 KB / 50 MB/s) = 10,08s
In RAID0 kom je op een bandbreedte van 100 MB/s (in theorie dan toch):
Code:
1000 x (10ms + 4 KB / 100 MB/s) = 10,04s
... dit is een verbetering van 0,4%.