RAID5 performance bedroevend met Ghost op A8R32-MVP Deluxe

Pagina: 1
Acties:
  • 190 views sinds 30-01-2008
  • Reageer

  • RAMeijer
  • Registratie: Februari 2000
  • Laatst online: 10-02 13:39
Ik heb een Asus A8R32-MVP Deluxe machine met een 500GB schijf met Windows XP SP2 erop.

Nu heb ik 3 Raptors van 150GB :9~ en die wil ik als RAID5 installeren en mijn Windows-installatie daarop overzetten.

Dat ging allemaal prima (het aanmaken van de RAID5 enzo), maar, toen ik probeerde om met programma's als Ghost, Drive Image e.d. mijn 500GB schijf naar de RAID5 te kopieren, bleek dat de performance van de RAID5 echt bedroevend was: 20MB per minuut!

Op die manier zou het 80 uur duren om mijn 100GB systeemschijf te kopieren 8)7

Heeft iemand enig idee hoe ik dit beter en sneller kan doen? :?

Ik heb geen zin om mijn machine ruim 4 dagen te laten pruttelen en ook een verse Windows-installatie zie ik niet zitten :')

  • _Dune_
  • Registratie: September 2003
  • Laatst online: 24-02 21:46

_Dune_

Moderator Harde Waren

RAID is geen BACKUP

Is je RAID5 set al volledig "gebuild"? Wanneer je een RAID5 set aanmaakt is deze direct klaar voor gebruik, maar op de achtergrond wordt nog hard gewerkt om de pariteitgegevens aan te maken. (ja, ook bij lege schijven) Zo heb ik een RAIDcore BC4852 PCI-X S-ATA RAID5 controller welke 6 tot 7 uur bezig is met alleen al een rebuild, nadat er een schijf is toegevoegd. Met 4 schijven duurt een complete nieuwe set aanmaken ook ongeveer een uur of 7 a 8. Bij mij wordt de pariteit berekend dor twee Athlon MP 2800+ processoren. (Dual Athlon Systeempje).

Onboard RAID5 controllers zoals jij die hebt zijn een stuk minder kwa performance dan bijvoorbeeld de controller die ik heb, dat mag ook wel want mijn controller kost nu nog zo'n €370,- en dat betaal je niet eens voor een compleet moederbord zoals jij die hebt. :)

Sinds 1999@Tweakers | Bij IT-ers gaat alles automatisch, maar niets vanzelf. | https://www.go-euc.com/


  • RAMeijer
  • Registratie: Februari 2000
  • Laatst online: 10-02 13:39
Interessant; niet op gelet en aan gedacht eigenlijk...

Ik zal morgenochtend nogmaals de RAID5 aanmaken en dan een paar uur laten staan...

  • _Dune_
  • Registratie: September 2003
  • Laatst online: 24-02 21:46

_Dune_

Moderator Harde Waren

RAID is geen BACKUP

Overigens zal de pariteit berekeningen bij jou niet echt het probleem moeten zijn met een Athlon 64 x2 4800+, maar zoals gezegd is de performance van een dergelijke onboard controller vaak een stuk lager dan een nette PCI-X/e insteekkaart. Ik verwacht wel dat je systeempje langer bezig is dan een "paar" uur. ;) Als het goed is wordt de status door de bijgeleverde software ook wel getoond of mogelijk in het RAID BIOS.

[ Voor 27% gewijzigd door _Dune_ op 24-11-2006 13:59 ]

Sinds 1999@Tweakers | Bij IT-ers gaat alles automatisch, maar niets vanzelf. | https://www.go-euc.com/


  • _Arthur
  • Registratie: Juli 2001
  • Laatst online: 20:49

_Arthur

blub

Mogelijk kan je de prioriteit van het rebuilden verhogen. Doorgaans staat die op 'low' aangegeven zodat het weinig cpu-power vergt. Mischien is verhogen naar 'medium' of 'high' een optie zodat de rebuild sneller klaar is.

(Indien het rebuilden een probleem is).

  • RAMeijer
  • Registratie: Februari 2000
  • Laatst online: 10-02 13:39
Hm, het vreemde is dat ik nergens kan zien wat de status is van de RAID5 Array en of ie al klaar is met (re)builden :{

Ik heb gisteren een nieuwe RAID5 Array aangemaakt en de machine 6 uur lang aan laten staan zonder dat ie verder iets deed, maar daarna ging Ghost nog steeds met 20MB/min. 8)7

Het probleem is dat ik de PC niet dag en nacht aan kan laten staan want hij staat in mijn slaapkamer op het moment...

Iemand een idee wat er nou aan de hand is?? :?

  • Abbadon
  • Registratie: Februari 2000
  • Laatst online: 18:39
Ik snap serieus niet waarom je van die dure Raptors in een RAID5 array hangt aan je onboard controller en daar ook nog eens het OS op wilt zetten. Met zo'n setup haal je echt álle snelheid uit je Raptors :X Een mirror van twee 300GB 7200rpm HDD's levert net zoveel nuttige ruimte op, minstens even goede redundancy, is stukken goedkoper en in combinatie met zo'n controller nog eens sneller ook! :)

RAID5 moet je niet voor je OS gebruiken maar voor grote hoeveelheden data. En als je snelheid wilt moet je dat combineren met een echte hardwarematige controller met véél cache.

Just pick a dead end and chill out 'till you die.


Verwijderd

Hij kan ze beter in RAID0 zetten en een backup schijf van 320GB kopen (vaak hoef/wil je niet *alles* backuppen), en dan elke week al dan niet geautomatiseerd een backup maken van zn raptor array. Nu is het inderdaad wel zonde van de centen.

En met 'domme' RAID5 implementaties heb je ook erg onvoordelige random en sequential writes.

  • RAMeijer
  • Registratie: Februari 2000
  • Laatst online: 10-02 13:39
Kijk, dat is interessante informatie! :)

Dan ga ik morgen wel een RAID0 bouwen en daar alles op gooien. En een backup-schijf heb ik al, dus dat is ook geregeld.

Eens kijken of RAID0 beter werkt want die RAID5-implementatie lijkt nergens op :')

Bedankt allen! :)

  • RAMeijer
  • Registratie: Februari 2000
  • Laatst online: 10-02 13:39
Update: gisteravond een RAID0 aangemaakt in het BIOS, daarna met Ghost de 500GB partitie gekopieerd naar de 300GB RAID0 Array en daarvan geboot.

De computer voelt een stuk sneller aan nu en alles draait prima.

En Ghost kopieerde mijn data met 1600MB/min, dus zo'n 80x zo snel als met de RAID5 Array 8)7

Conclusie: RAID5 op dit moederbord is waardeloos, en RAID0 werkt prima :*)

-edit-

Wat mij betreft kan dit topic nu op slot.

[ Voor 6% gewijzigd door RAMeijer op 28-11-2006 10:29 ]


  • RAMeijer
  • Registratie: Februari 2000
  • Laatst online: 10-02 13:39
Abbadon schreef op zondag 26 november 2006 @ 13:18:
Ik snap serieus niet waarom je van die dure Raptors in een RAID5 array hangt aan je onboard controller en daar ook nog eens het OS op wilt zetten. Met zo'n setup haal je echt álle snelheid uit je Raptors :X Een mirror van twee 300GB 7200rpm HDD's levert net zoveel nuttige ruimte op, minstens even goede redundancy, is stukken goedkoper en in combinatie met zo'n controller nog eens sneller ook! :)

RAID5 moet je niet voor je OS gebruiken maar voor grote hoeveelheden data. En als je snelheid wilt moet je dat combineren met een echte hardwarematige controller met véél cache.
-kick- O-)

Aan wat voor controller moet ik denken dan? Is dit wat? :?

Veel meer dan EUR 100-150 wil ik er niet aan uitgeven...en die schijven kan ik ook wel anders inzetten (RAID0, wat ik nu heb, of RAID1, of stand-alone).

Of beginnen de goede controllers pas bij EUR 400 ofzo?

Verwijderd

RAMeijer schreef op dinsdag 09 januari 2007 @ 11:58:
[...]


-kick- O-)

Aan wat voor controller moet ik denken dan? Is dit wat? :?
Nee :)
Veel meer dan EUR 100-150 wil ik er niet aan uitgeven...en die schijven kan ik ook wel anders inzetten (RAID0, wat ik nu heb, of RAID1, of stand-alone).

Of beginnen de goede controllers pas bij EUR 400 ofzo?
Ja. Alhoewel 300 euro je ook al een Areca heb geloof ik; maar daarvoor heb je wel een geschikt moederbord nodig die PCIe x8 biedt waarop geen videokaart hoeft te draaien.

Maar eerst was je gelukkig met je opstelling waarbij je backups gebruikte? Waarom wil je nu weer terug naar RAID5?

  • RAMeijer
  • Registratie: Februari 2000
  • Laatst online: 10-02 13:39
Duidelijk :D
[...]

Ja. Alhoewel 300 euro je ook al een Areca heb geloof ik; maar daarvoor heb je wel een geschikt moederbord nodig die PCIe x8 biedt waarop geen videokaart hoeft te draaien.
Hmm...dat wordt dan toch prijzig...
Maar eerst was je gelukkig met je opstelling waarbij je backups gebruikte? Waarom wil je nu weer terug naar RAID5?
Omdat ik die ene Raptor nu niet gebruik... :X Ik heb nu namelijk een RAID0 van twee Raptors en maak twee keer per dag een backup naar een 750GB Seagate die ik ook gebruik als dataschijf...

Hm, misschien kan ik die derde Raptor beter gebruiken als backupschijf en de Seagate alleen als dataschijf...dilemma's >:)

Verwijderd

Nee is misschien kort door de bocht. Maar je kunt grofweg hardware controllers onderscheiden in diegene die drivers gebruiken om de berekeningen te doen en diegene die een eigen I/O processor hebben, zoals Areca en andere "echte" hardware controllers. Je kunt vaak al zien aan de kaart zelf in welke categorie hij valt, en tevens aan de prijs. Kaartjes die op drivers leunen voor het zware werk kun je beter vermijden; bovendien draaien die vaak op PCI wat niet echt ideaal is. Dan kun je nog beter voor een softwarematige oplossing gaan.
Omdat ik die ene Raptor nu niet gebruik... :X Ik heb nu namelijk een RAID0 van twee Raptors en maak twee keer per dag een backup naar een 750GB Seagate die ik ook gebruik als dataschijf...

Hm, misschien kan ik die derde Raptor beter gebruiken als backupschijf en de Seagate alleen als dataschijf...dilemma's >:)
Raptor als backupschijf? Dat lijkt me erg zonde; zoveel ruimte heeft een raptor niet; de schijf is vooral bedoeld om snel te zijn en niet veel gegevens te herbergen. Waarom maak je geen RAID0 array met 3 raptors dan? Zijn het dezelfde types? Ik denk dat je die Seagate juist als backup schijf moet gebruiken.

Verwijderd

wat dacht je van raid 0 met 3 raptor schijven?

  • Shaggy_NL
  • Registratie: Juli 2003
  • Laatst online: 08-02 23:46
Of misschien de Raptor er los in te hangen, met daarop het Wisselbestand. Eventueel daar nog een paar spellen op (want ik neem aan dat je wel een enkel spel speelt, anders zou je niet zo maar "effe" drie nieuwe Raptor's hebben liggen ;) ).

Verwijderd

Shaggy_NL schreef op woensdag 10 januari 2007 @ 09:14:
Of misschien de Raptor er los in te hangen, met daarop het Wisselbestand. Eventueel daar nog een paar spellen op (want ik neem aan dat je wel een enkel spel speelt, anders zou je niet zo maar "effe" drie nieuwe Raptor's hebben liggen ;) ).
Aangenomen dat er niet geswapt wordt heb je daar natuurlijk niet veel aan. Als er daadwerkelijk geswapt wordt naar de hardeschijf heb je sowieso al een slechte performance; swappen is noodzakelijk kwaad (als je te weinig geheugen hebt).

Maar inderdaad; als je 3 raptors hebt, heb je daar toch wel een reden voor; om er eentje in de kast te laten liggen of als backup schijf te gebruiken zou ik erg zonde vinden in elk geval.

  • RAMeijer
  • Registratie: Februari 2000
  • Laatst online: 10-02 13:39
Okay...ik hoop binnenkort te kunnen upgraden naar een ASUS Striker Extreme met C2D en daar wil ik dan Vista op gaan zetten...op een RAID0 van 3 Raptors :)

Wederom bedankt voor jullie input ;)

-edit-

1 Raptor gebruiken voor swap heeft weinig zin: 4GB RAM...

[ Voor 15% gewijzigd door RAMeijer op 11-01-2007 08:07 ]


  • NNF
  • Registratie: November 2003
  • Laatst online: 29-11-2024

NNF

Verwijderd schreef op woensdag 10 januari 2007 @ 09:26:
Als er daadwerkelijk geswapt wordt naar de hardeschijf heb je sowieso al een slechte performance; swappen is noodzakelijk kwaad (als je te weinig geheugen hebt).
Nee, voor de zoveelste keer: Windows "swapt" (paged) altijd, om te voorkomen dat je RAM-geheugen volloopt met nutteloze dingen die je op dat moment niet nodig hebt. Dat heet virtual memory en dat gebruiken alle moderne OS-en, ook het door jou zo geliefde FreeBSD. Zie ook hier.

[ Voor 3% gewijzigd door NNF op 11-01-2007 12:56 ]


Verwijderd

NNF schreef op donderdag 11 januari 2007 @ 12:56:
Nee, voor de zoveelste keer: Windows "swapt" (paged) altijd, om te voorkomen dat je RAM-geheugen volloopt met nutteloze dingen die je op dat moment niet nodig hebt. Dat heet virtual memory en dat gebruiken alle moderne OS-en, ook het door jou zo geliefde FreeBSD. Zie ook hier.
Virtual Memory is niet hetzelfde als swapping; en BSD (en volgens mij ook linux) swappen absoluut niet tenzij het nodig is (conclusie: te weinig geheugen). Tenzij 'top' tegen me liegt:

Mem: 215M Active, 366M Inact, 69M Wired, 25M Cache, 85M Buf, 28M Free
Swap: 257M Total, 257M Free

Dat betekent niet dat FreeBSD geen virtual memory gebruikt; alleen dat er geen swapping plaatsvindt. Dat laatste dient namelijk alleen te gebeuren als er een tekort aan geheugen is. Nu gaat Windows daar dus wel anders mee om dan zeg FreeBSD; dus daar kan ik weinig over zeggen. Dus als Windows toch gaat swappen tijdens dat jij aan het werk bent of I/O nodig hebt; dan heeft het misschien wel zin om de swapfile op een eigen volume te plaatsen. Maar dat blijf ik kansloos vinden. Hardeschijf dient nooit als geheugen (RAM) gebruikt te worden, tenzij absoluut nodig.

[ Voor 3% gewijzigd door Verwijderd op 11-01-2007 14:14 ]


  • NNF
  • Registratie: November 2003
  • Laatst online: 29-11-2024

NNF

Dat laatste dient namelijk alleen te gebeuren als er een tekort aan geheugen is.
Let op dat paging en swapping twee verschillende dingen zijn! Vroeger, toen we ook nog daadwerkelijk een swapfile hádden (tegenwoordig heet dat niet eens meer zo), werkte het op de manier die jij stelt: RAM geheugen vol, verder gaan op harde schijf. Paging echter volgt een ander principe, en één die hartstikke logisch is: spul dat je niet gebruikt of niet direct nodig hebt hoeft niet per se in het RAM geheugen te staan. Denk daarbij bijvoorbeeld aan initialisatiecode voor een programma, of andere code en data die je niet direct nodig hebt maar wel beschikbaar moet zijn voor je OS; het is zeer inefficient om dat soort zaken je snelle RAM-geheugen in beslag te laten nemen. RAM-geheugen is gelimiteerd, terwijl er van schijfruimte veel meer voorhanden is.

Je moet gewoon het ouderwetse concept van 'swappen' vergeten. Dat is iets uit de Windows 9x dagen.

[ Voor 10% gewijzigd door NNF op 11-01-2007 15:10 ]


Verwijderd

NNF schreef op donderdag 11 januari 2007 @ 15:01:
[...]


Let op dat paging en swapping twee verschillende dingen zijn! Vroeger, toen we ook nog daadwerkelijk een swapfile hádden (tegenwoordig heet dat niet eens meer zo), werkte het op de manier die jij stelt: RAM geheugen vol, verder gaan op harde schijf. Paging echter volgt een ander principe, en één die hartstikke logisch is: spul dat je niet gebruikt of niet direct nodig hebt hoeft niet per se in het RAM geheugen te staan. Denk daarbij bijvoorbeeld aan initialisatiecode voor een programma, of andere code en data die je niet direct nodig hebt maar wel beschikbaar moet zijn voor je OS; het is zeer inefficient om dat soort zaken je snelle RAM-geheugen in beslag te laten nemen. RAM-geheugen is gelimiteerd, terwijl er van schijfruimte veel meer voorhanden is.
Wat jij beschrijft is paging; en correct me if i'm wrong maar paging betekent niet automatisch swapping. Het hele virtueel geheugen-idee is gewoon een efficienter geheugengebruik; dat heeft nog niet direct met swapping te maken. Mee eens?

FreeBSD en waarschijnlijk ook Linux swappen alleen als dat nodig is; dwz geheugen tekort en filecache is al bijna weggedonderd, dan swappen we een aantal inactieve processen daadwerkelijk naar hardeschijf. Dat betekent dus performanceverlies: het swappen zelf kost tijd en zodra je de geswapte processen weer wilt gebruiken moeten ze weer van HDD gehaald worden. Dit is gewoon een gevolg van te weinig geheugen. Heb je bij BSD genoeg geheugen wordt er in principe niet geswapt (alhoewel ik soms 16KB zie; maar dat kan natuurlijk ook metainfo zijn oid). Zie je dat je swap file echt gebruikt wordt, dan is dat een indicatie van dat je te weinig geheugen hebt of in het verleden een proces veel geheugen gebruikte; in die gevallen kun je ook 200MB vrij RAM hebben maar toch swap in gebruik.
En nogmaals, alle moderne OS'en doen dit, je moet gewoon het ouderwetse concept van 'swappen' vergeten. Dat is iets uit de Windows 9x dagen, en zowel Windows 2000/XP als UNIX/BSD-achtigen zijn een stuk slimmer geworden wat betreft memory management. :)
Ik snap ook wel dat virtueel geheugen niet perse betekent dat er geswapt wordt. Maar in dat geval heb je dus ook geen aparte schijf voor de pagefile nodig; omdat er alleen in uiterste gevallen geswapt wordt. Bij windows werkt dat volgens mij wel anders en is veel agressiever met swapping. Dat vind ik zelf wel jammer want ik ben niet erg gecharmeerd van onnodige swapping; het kost je gewoon performance.

  • TD-er
  • Registratie: Januari 2000
  • Laatst online: 16-02 22:16
@TS:
Nog even terug naar je huidige setup.
Je hebt 3 van de snelste hdd's, die elk zo'n 60 - 70 MB/s moeten kunnen halen.
Nu heb je een raid0 aangemaakt met 2 schijven en dan haalt Ghost maar 1600 MB/min (dus zo'n 26 MB/s) bij het kopieren van de ene schijf (die zeer waarschijnlijk ook al zo'n 35 - 50 MB/s kan halen met lezen) naar de raid-array.
Voor je OS-partitie/schijf kun je het beste geen raid toepassen, zelfs geen raid0, of het moet (zoals ook eerder al aangegeven) een controller zijn die zelf alles regelt.
Je hebt nu nog een 3e Raptor schijf los liggen, dus ik zou zeggen test eens met een installatie op die schijf. Voor de C-partitie heb je toch niet echt veel meer ruimte nodig, dus wat dat betreft is 1 Raptor groot genoeg.
Ik gok dat je dan een veel sneller systeem krijgt, dan nu.

Voor opslag kan Raid handig zijn, maar dat hangt ook erg af van je toepassing. Als je bijvoorbeeld films gaat monteren kan het gebruik van 2 losse schijven aanzienlijk sneller werken dan een raid-0 station van dezelfde schijven en netto opslag-ruimte.

Een goedkope voeding is als een lot in de loterij, je maakt kans op een paar tientjes korting, maar meestal betaal je de hoofdprijs. mijn posts (nodig wegens nieuwe layout)


Verwijderd

TD-er schreef op donderdag 11 januari 2007 @ 15:34:
@TS:
Nog even terug naar je huidige setup.
Je hebt 3 van de snelste hdd's, die elk zo'n 60 - 70 MB/s moeten kunnen halen.
Nu heb je een raid0 aangemaakt met 2 schijven en dan haalt Ghost maar 1600 MB/min (dus zo'n 26 MB/s) bij het kopieren van de ene schijf (die zeer waarschijnlijk ook al zo'n 35 - 50 MB/s kan halen met lezen) naar de raid-array.
Rewrite performance is niet hetzelfde als de STR gedeeld door twee! Die kan significant lager uitvallen.
Voor je OS-partitie/schijf kun je het beste geen raid toepassen, zelfs geen raid0, of het moet (zoals ook eerder al aangegeven) een controller zijn die zelf alles regelt.
Welke argumentatie heb je daarvoor?
Voor opslag kan Raid handig zijn, maar dat hangt ook erg af van je toepassing. Als je bijvoorbeeld films gaat monteren kan het gebruik van 2 losse schijven aanzienlijk sneller werken dan een raid-0 station van dezelfde schijven en netto opslag-ruimte.
Dat is ook logisch; je verandert dan namelijk van rewrite-access naar sequentiele access.

  • TD-er
  • Registratie: Januari 2000
  • Laatst online: 16-02 22:16
Verwijderd schreef op donderdag 11 januari 2007 @ 16:16:
[...]

Rewrite performance is niet hetzelfde als de STR gedeeld door twee! Die kan significant lager uitvallen.
Klopt, maar in dit geval is het puur het gedrag van 1 grote file kopieren van 1 schijf naar het Raid-station, dus zou in het meest optimale geval beperkt moeten worden door de leessnelheid van de schijf waarvan je leest en daar slaat dat getal op.
Die raptors kunnen namelijk per stuk al veel sneller schrijven dan de andere schijf kan lezen.
Verwijderd schreef op donderdag 11 januari 2007 @ 16:16:
[...]

Welke argumentatie heb je daarvoor?
Het patroon waarmee je OS de files benaderd is vaak zeer onregelmatig, dus zeer ongunstig in raid-5 gebruik.
Raid-0 zal in de praktijk ook niet echt een voordeel bieden voor de files die het OS benaderd. Gemiddelde file-size (> 98% van de files is < 1 MB) is namelijk kleiner dan de hoeveelheid data die je in 1 rotatie leest (10'000 rpm met zo'n 80 MB/s, oftewel 166 omw/sec, dus zo'n 500kB/omw.) Dus met Raid0 krijg je dan dat je toch vrijwel altijd loopt te wachten op de latency van de schijf en die neemt met raid0 niet af.
Nu kun je raid0 optimaliseren op 2 manieren: Data parallel uitlezen, of per blok verdelen over een andere schijf. Dit laatste zal wel wat winst kunnen geven in de latency, maar in de praktijk zal NCQ van de schijf al minstens net zoveel winst bieden.
Verder is in diverse manuals over (software) raid te lezen dat ze altijd waarschuwen je OS niet op de raid-partitie moet zetten als je max. performance wilt.
Verwijderd schreef op donderdag 11 januari 2007 @ 16:16:
[...]
Dat is ook logisch; je verandert dan namelijk van rewrite-access naar sequentiele access.
Het was ook alleen maar om aan te geven dat het lang niet altijd nuttig is om schijven in Raid te zetten.

Een goedkope voeding is als een lot in de loterij, je maakt kans op een paar tientjes korting, maar meestal betaal je de hoofdprijs. mijn posts (nodig wegens nieuwe layout)


Verwijderd

TD-er schreef op donderdag 11 januari 2007 @ 18:20:
Klopt, maar in dit geval is het puur het gedrag van 1 grote file kopieren van 1 schijf naar het Raid-station, dus zou in het meest optimale geval beperkt moeten worden door de leessnelheid van de schijf waarvan je leest en daar slaat dat getal op.
Ah ok. Maar is het niet zo dat een ghost image files leest op het FS, in plaats van een complete binary image? Als dat zo is dan leest hij dus alle files via windows API en is de disk access opzeker niet sequentieel.
Het patroon waarmee je OS de files benaderd is vaak zeer onregelmatig, dus zeer ongunstig in raid-5 gebruik.
RAID5 is niet goed in random write nee, maar we hadden het over RAID0, toch?
Raid-0 zal in de praktijk ook niet echt een voordeel bieden voor de files die het OS benaderd. Gemiddelde file-size (> 98% van de files is < 1 MB) is namelijk kleiner dan de hoeveelheid data die je in 1 rotatie leest (10'000 rpm met zo'n 80 MB/s, oftewel 166 omw/sec, dus zo'n 500kB/omw.) Dus met Raid0 krijg je dan dat je toch vrijwel altijd loopt te wachten op de latency van de schijf en die neemt met raid0 niet af.
Je bedoelt te zeggen dat RAID0 alleen helpt bij sequentiele toegang en niet voor random I/O? Dat is een foutieve aanname in elk geval (wel een hardnekkige). Misschien dat ik je kan overtuigen met de volgende benchmarks:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Single drive (ad8)
concurrency     Performance in I/O's per sec.   average
1               106     106     107             106
4               106     106     106             106
16              116     116     116             116
32              127     125     126             126
128             151     151     150             150
256             156     156     157             156

gstripe 4xad - 128KB stripe - FM off
concurrency     Performance in I/O's per sec.   average
1               173     173     173             173
4               270     270     270             270
16              338     338     338             338
32              370     370     370             370
128             444     434     434             437
256             465     465     465             465


Dit is een random I/O benchmark; hij doet 50% read en 50% write I/O's door elkaar waarbij de transfersize (grootte van een enkele I/O request) varieert van 16KB tot 128KB; vrij sterke random I/O dus. Te zien is dat RAID0 (welliswaar met 4 disks) een duidelijk performancevoordeel biedt tegenover een enkele schijf.
Nu kun je raid0 optimaliseren op 2 manieren: Data parallel uitlezen, of per blok verdelen over een andere schijf.
Het enige wat je kunt 'optimaliseren' op RAID0-niveau is de stripesize. En door de stripe interleave zul je dus parallellisatie krijgen; dat is immers het fundamentele voordeel dat RAID0 je kan bieden; en dat geldt voor andere RAID-levels ook. Het effect van stripesize wordt vaak onderschat; omdat de meesten alleen naar sequentiele toegang kijken. Kijk je echter naar random I/O dan zie je het volgende verschil:

code:
1
2
3
4
5
6
7
8
gstripe 4xad - 16KB stripe - FM off
concurrency     Performance in I/O's per sec.   average
1               129     129     129             129
4               151     150     151             150
16              173     173     172             172
32              188     188     190             188
128             222     222     222             222
256             232     229     229             230


Je ziet dat de random I/O performance gekeldert is. De reden hiervoor is dat je in mindere mate gebruik kunt maken van parallellisatie. Omdat een stripeblock nu 16KB is, zullen I/O requests groter dan 16KB (of met een andere offset) dus twee of meer schijven 'raken'. Simpel voorbeeld: je leest van het begin van de volume 64KB. Om dit te bereiken zal de RAID-driver dus 4-stripe blocks moeten uitlezen, immers: 64KB / 16KB = 4. Dat betekent dus dat alle schijven een leesactie zullen moeten verrichten. Bevindt zich nu een andere I/O request in de queue, dan zal die moeten wachten tot de huidige request voltooid is.

Had je nu een grotere stripesize dan waren 2 of 3 schijven 'vrij' en hadden die gebruikt kunnen worden om de request af te handelen. Mijn advies is dus bij RAID0 om een grote stripesize te gebruiken. 64KB betekent dat je gemiddeld 50% een stripe overlap hebt. En een vaakvoorkomend probleem is een stripe block misalignment door een afwijkende offset. Dat is iets te ingewikkeld om hier uit te leggen maar dat zorgt er ook voor dat een enkele I/O request twee of meer schijven zal 'raken' waardoor je minder voordeel uit je RAID0-volume haalt dan mogelijk is.
Dit laatste zal wel wat winst kunnen geven in de latency, maar in de praktijk zal NCQ van de schijf al minstens net zoveel winst bieden.
Latency is niet zo belangrijk; throughput wel, dus IO's per second. Analoog met de snelweg: liever een 4-baans weg waar de auto's 50km/h rijden dan een enkelbaansweg waarbij de auto's 100km/h rijden. In het laatste geval heb je een half zo lage latency maar wel een twee maal lagere throughput. Latency is bij disk I/O helemaal niet zo belangrijk; en bij write requests al helemaal niet.
Verder is in diverse manuals over (software) raid te lezen dat ze altijd waarschuwen je OS niet op de raid-partitie moet zetten als je max. performance wilt.
Zonder een goede argumentatie te geven kan ik die 'waarschuwing' niet op waarde schatten. Ik lees wel meer onzin in die boekjes in een avondje getikt door een taiwanees die een beetje engels kan. ;)
Het was ook alleen maar om aan te geven dat het lang niet altijd nuttig is om schijven in Raid te zetten.
Dat heeft an sich niets met RAID te maken met de vraag hoeveel volumes je het beste kunt nemen. Bij kopieeracties of vergelijkbare I/O kun je dat natuurlijk veel beter spreiden over meerdere volumes. Sommigen zullen zeggen dat je om die reden je OS beter op een apart volume kunt plaatsen, maar zelf zet ik daar vraagtekens bij aangezien de bestanden van je OS voornamelijk bij het booten gelezen worden en tijdens gamen of andere applicaties n iet veel I/O zou moeten gebeuren door je OS zelf.

  • TD-er
  • Registratie: Januari 2000
  • Laatst online: 16-02 22:16
Verwijderd schreef op donderdag 11 januari 2007 @ 19:15:
[...]

Ah ok. Maar is het niet zo dat een ghost image files leest op het FS, in plaats van een complete binary image? Als dat zo is dan leest hij dus alle files via windows API en is de disk access opzeker niet sequentieel.
Dat zou kunnen als Ghost inderdaad de data per file inleest kan dat inderdaad schelen in de lees-performance.
Verwijderd schreef op donderdag 11 januari 2007 @ 19:15:
[...]

RAID5 is niet goed in random write nee, maar we hadden het over RAID0, toch?
In eerste instantie was er sprake van Raid5, kleine vergissing bij het typen. Maar ook Raid0 gaat er volgens mij met random-IO niet echt op vooruit, maar goed, daar schreef je zonet nog een (interessant) stuk over.
Verwijderd schreef op donderdag 11 januari 2007 @ 19:15:
[...]

Je bedoelt te zeggen dat RAID0 alleen helpt bij sequentiele toegang en niet voor random I/O? Dat is een foutieve aanname in elk geval (wel een hardnekkige). Misschien dat ik je kan overtuigen met de volgende benchmarks:
[...]
Dit is een random I/O benchmark; hij doet 50% read en 50% write I/O's door elkaar waarbij de transfersize (grootte van een enkele I/O request) varieert van 16KB tot 128KB; vrij sterke random I/O dus. Te zien is dat RAID0 (welliswaar met 4 disks) een duidelijk performancevoordeel biedt tegenover een enkele schijf.
Dit zijn benchmarks met globaal afwisselend lezen en schrijven. Volgens mij is dat niet helemaal vergelijkbaar met het gedrag bij het benaderen van de files van je OS. Daarbij schrijf je niet zo vaak. Kortom is het performance-verschil ook zo duidelijk bij random-lees-IO of met een kleiner aandeel schrijf-acties?
Verwijderd schreef op donderdag 11 januari 2007 @ 19:15:
[...]

Het enige wat je kunt 'optimaliseren' op RAID0-niveau is de stripesize. En door de stripe interleave zul je dus parallellisatie krijgen; dat is immers het fundamentele voordeel dat RAID0 je kan bieden; en dat geldt voor andere RAID-levels ook. Het effect van stripesize wordt vaak onderschat; omdat de meesten alleen naar sequentiele toegang kijken. Kijk je echter naar random I/O dan zie je het volgende verschil:
[...]
Je ziet dat de random I/O performance gekeldert is. De reden hiervoor is dat je in mindere mate gebruik kunt maken van parallellisatie. [...]
OK, duidelijk.
Verwijderd schreef op donderdag 11 januari 2007 @ 19:15:
[...]

Latency is niet zo belangrijk; throughput wel, dus IO's per second. Analoog met de snelweg: liever een 4-baans weg waar de auto's 50km/h rijden dan een enkelbaansweg waarbij de auto's 100km/h rijden. In het laatste geval heb je een half zo lage latency maar wel een twee maal lagere throughput. Latency is bij disk I/O helemaal niet zo belangrijk; en bij write requests al helemaal niet.
Waarom is latency niet belangrijk?
De latency is ongeveer omgekeerd evenredig met het aantal I/O operaties per sec. (mits per I/O minder dan 500 kB ingelezen wordt, wat precies 1 omwenteling is, en de gevraagde data niet in de cache van de schijf zit)
Goed gebruik van NCQ kan de gemiddelde latency van een schijf behoorlijk verlagen.
Ik had ergens gelezen (test hier @tweakers mischien) dat NCQ bij Raid-toepassingen vrijwel geen voordeel te bieden had, maar of dat op Raid-1 of 5 sloeg, of ook op 0, weet ik niet meer.
Verwijderd schreef op donderdag 11 januari 2007 @ 19:15:
[...]

Zonder een goede argumentatie te geven kan ik die 'waarschuwing' niet op waarde schatten. Ik lees wel meer onzin in die boekjes in een avondje getikt door een taiwanees die een beetje engels kan. ;)
Ik zal zometeen nog even zoeken of ik nog wat van dergelijke context kan vinden.
Verwijderd schreef op donderdag 11 januari 2007 @ 19:15:
[...]

Dat heeft an sich niets met RAID te maken met de vraag hoeveel volumes je het beste kunt nemen. Bij kopieeracties of vergelijkbare I/O kun je dat natuurlijk veel beter spreiden over meerdere volumes. Sommigen zullen zeggen dat je om die reden je OS beter op een apart volume kunt plaatsen, maar zelf zet ik daar vraagtekens bij aangezien de bestanden van je OS voornamelijk bij het booten gelezen worden en tijdens gamen of andere applicaties n iet veel I/O zou moeten gebeuren door je OS zelf.
Ik heb mijn D- en C-partitie beide op dezelfde 160 GB 8 Mb cache schijf staan.
Als ik met grote files bezig ben op de D-partitie, reageren andere programma's in Windows erg traag. Je staat ervan te kijken hoe vaak Windows nog files van de C-schijf nodig heeft.
Bijvoorbeeld een nieuwe tab openen in je browser etc.

Een goedkope voeding is als een lot in de loterij, je maakt kans op een paar tientjes korting, maar meestal betaal je de hoofdprijs. mijn posts (nodig wegens nieuwe layout)


  • Dj-sannieboy
  • Registratie: Augustus 2004
  • Niet online

Dj-sannieboy

Nee.... beter!

Nu ik dit zo ff heb gelezen vraag ik me af of RAID0 wil zinvol is?
Ik heb zelf 2 Seagate Barracuda's (7200.7) in RAID0 hangen en het draait prima allemaal. Hij zit aangesloten op mijn onboard controller. (Promise van A8V Deluxe) Maar zouden 2 losse schijven sneller zijn voor algemeen gebruik? (Office, Internet, Winrar, Par, Leechen en Gamen)

  • Moffin
  • Registratie: Augustus 2003
  • Laatst online: 15-02 19:49
Ik weet niet of 3 harde schijven sneller worden dan 2 harde schijven. Kijk mijn benchmark maar eens.
Specs staan onderaan de pagina.

[ pvoutput | 5760 wp @ O 45° - Z 10° - W 45°]


Verwijderd

TD-er schreef op donderdag 11 januari 2007 @ 22:03:
Dat zou kunnen als Ghost inderdaad de data per file inleest kan dat inderdaad schelen in de lees-performance.
Ik denk het wel. Op die manier kan Ghost de ghost-image namelijk kleiner maken door de vrije ruimte niet op te slaan; alleen de files zelf. Anders zou je echt een 1:1 kopie hebben ofwel een raw image inclusief alle NTFS metadata.
In eerste instantie was er sprake van Raid5, kleine vergissing bij het typen. Maar ook Raid0 gaat er volgens mij met random-IO niet echt op vooruit, maar goed, daar schreef je zonet nog een (interessant) stuk over.
Ik heb aardig wat benchmarks gedaan en kan je vertellen dat RAID0 wel degelijk random I/O performance verbetert. :)
Maar het performance voordeel kan behoorlijk gecasteerd worden als er een stripe block misalignment plaatsvindt of de stripesize te klein wordt ingesteld. In beide gevallen verlies je het voordeel van parallellisatie.
Dit zijn benchmarks met globaal afwisselend lezen en schrijven. Volgens mij is dat niet helemaal vergelijkbaar met het gedrag bij het benaderen van de files van je OS. Daarbij schrijf je niet zo vaak. Kortom is het performance-verschil ook zo duidelijk bij random-lees-IO of met een kleiner aandeel schrijf-acties?
Ik zie niet waarom write anders zou zijn dan read; alleen bij parity RAID zal dat anders zijn omdat bij schrijfacties daarbij pariteit moet worden berekend; en RAID5 ook een zogenaamde 'write hole' heeft. Bij RAID0 geldt dit niet en kost schrijven evenveel 'moeite' als lezen. Dus ja: ook bij 100% random read heb je een vergelijkbaar performancevoordeel bij RAID0. Eventueel kan ik nog wat extra benches draaien voor je om dit te bevestigen.
Waarom is latency niet belangrijk?
De latency is ongeveer omgekeerd evenredig met het aantal I/O operaties per sec. (mits per I/O minder dan 500 kB ingelezen wordt, wat precies 1 omwenteling is, en de gevraagde data niet in de cache van de schijf zit)
Latency is een beetje een apart begrip. In principe is het alleen belangrijk hoeveel gegevens je kunt verstoken naar je schijf / RAID array. Dat meet je dan in I/O operaties per seconde (IOps) of MB/s (die twee zijn uit te rekenen, <grootte van I/O> * IOps = MB/s).

Latency is de tijd die het kost eer een I/O request voltooid is. Bij een enkele schijf is dat de tijd die het kost voor een seekactie en het sequentieel uitlezen; dat laatste gaat met 60MB/s+ erg snel; dat eerste kan wel veel tijd kosten. Stel je leest 1MB contigious (dat betekent: aaneensluitend; niet verspreid over de disk maar achter elkaar dus) dan kost dat bijvoorbeeld 12ms seektime (het opzoeken van de beginsector) en 1/60=16,7ms transfertime, plus de tijd dat de I/O interface (controller e.d.) nodig hebben. 12+16,7 = 28,7ms dus zeg dat je met 30ms klaar bent. Dat is de latency van deze I/O actie.

De vraag is: wat maakt het uit als de latency hoger is en het dus langer duurt eer een request terugkomt? Het gebruik van RAID of een andere 'storagelaag' (zoals via ethernet) kan de latency verhogen, maar de throughput kan gelijk blijven. Bij ethernet storage kan het zijn dat het langer duurt eer de data 'aankomt' maar je wel 100MB/s kan halen ofzo. Welk nadeel biedt een hogere latency dan? Dat hangt erg van je applicatie af; soms maakt het niets uit zoals bij kopieeracties en is alleen de throughput van belang. Maar soms zal een applicatie moeten 'wachten' op een I/O request. Bijvoorbeeld als een applicatie een configuratiebestand uitleest. Dan zal het wachten tot deze binnen is en pas op basis van de inhoud daarvan verdere I/O ondernemen. In dat geval kan de latency een belangrijke rol spelen. Maar over het algemeen is de latency niet belangrijk; en al helemaal niet voor schrijf acties aangezien de applicatie daar niet op hoeft te wachten, die schrijft een bepaalde I/O en kijkt er niet meer naar om.

Dan de vraag in hoeverre latency en throughput met elkaar verbonden zijn. En ja je hebt gelijk: met een enkele disk is die inderdaad (bijna) omgekeerd evenredig met de throughput, mits we de seeks buiten beschouwing laten. Maar dat mag eigenlijk geen latency heten aangezien dat de totale tijd is die een I/O request duurt dus ook de seekacties, ook de behandeling door de controller, de interface, etc. Maar nu hebben we het over een enkele hardeschijf. Wat nu als je 4 schijven in RAID0 hebt? De schijven zijn identiek dus ze kennen dezelfde latency; toch kun je met 4 schijven theoretisch een vier maal hogere throughput halen. De latency wordt daar niet lager van, maar de uiteindelijke IOps wel hoger! Om weer terug te komen op de autosnelweg: als je auto's 100km/h rijd dan is de latency om 100 kilometer te rijden dus een uur. Heb je nou 4 auto's rijden dan wordt de latency daar niet minder van, maar de throughput wel vier maal hoger.

Zelf denk ik dat je latency moet vergeten; het is in feite alleen belangrijk als een applicatie een leesactie uitvoert waar het echt op moet wachten; dat maakt de 'performance' wat ingewikkeld uit te rekenen en te meten. In principe is alleen IOps en dus MB/s belangrijk (de throughput). Bij geheugen (RAM) is latency overigens wel enorm belangrijk, mogelijk nog belangrijker dan throughput. Dit omdat de CPU dus enorm vaak op het relatief trage geheugen moet wachten en die tijd dus verloren gaat.
Goed gebruik van NCQ kan de gemiddelde latency van een schijf behoorlijk verlagen.
Ik had ergens gelezen (test hier @tweakers mischien) dat NCQ bij Raid-toepassingen vrijwel geen voordeel te bieden had, maar of dat op Raid-1 of 5 sloeg, of ook op 0, weet ik niet meer.
Volgens mij heb je een iets te rooskleurig beeld van NCQ. Ik ben er niet zo van onder de indruk in elk geval. Sowieso heb je er alleen baat bij als je multiconcurrency (zeg maar multiuser) access patroon hebt. Bijvoorbeeld bij database servers; daarbij kan NCQ voor een leuke (gratis) winst zorgen. Voor een windows desktop? Mwah; nee niet echt. Ik zie ook niet precies in waarom NCQ minder nuttig zou zijn in combinatie met RAID0. Oke, door de parallellisatie zal een andere disk worden ingezet om de I/O afvallige request te behandelen dus NCQ zal minder vaak 'nodig' zijn hierdoor. In feite heb je 4 (of hoeveel schijven je ook hebt) disks die kunnen seeken en dus zal NCQ minder hard nodig zijn. NCQ kan voor single user overigens ook performanceverlies betekenen. Tevens verschilt het erg per hardeschijf-model of NCQ goed geimplementeerd is en dus nuttig kan zijn. Bij de raptors was dit niet echt het geval, kan ik me vaag herinneren.
Ik heb mijn D- en C-partitie beide op dezelfde 160 GB 8 Mb cache schijf staan.
Als ik met grote files bezig ben op de D-partitie, reageren andere programma's in Windows erg traag. Je staat ervan te kijken hoe vaak Windows nog files van de C-schijf nodig heeft.
Bijvoorbeeld een nieuwe tab openen in je browser etc.
Ik gebruik zelf eigenlijk geen windows meer. Bij het openen van een nieuwe tab zou er geen I/O hoeven plaats te vinden. Zelf ben ik voorstander van het minimaliseren van I/O tot een absoluut minimum. Derhalve ben ik ook fel tegenstander van swapping. In feite zijn alle oude 'trage' PCs traag omdat ze swappen. Soms kan dat niet anders, ok. Maar de traagheid die jij beschrijft zou je juist mooi kunnen opvangen met parallellisatie (RAID0) of nog leuker een Areca RAID controller, dat werkt al helemaal super. :)

Verwijderd

Dj-sannieboy schreef op donderdag 11 januari 2007 @ 22:10:
Nu ik dit zo ff heb gelezen vraag ik me af of RAID0 wil zinvol is?
Ik heb zelf 2 Seagate Barracuda's (7200.7) in RAID0 hangen en het draait prima allemaal. Hij zit aangesloten op mijn onboard controller. (Promise van A8V Deluxe) Maar zouden 2 losse schijven sneller zijn voor algemeen gebruik? (Office, Internet, Winrar, Par, Leechen en Gamen)
Alleen als je dingen als kopieren zou doen. Dus van A naar B. Doe je dat op hetzelfde volume; dan wordt het geen sequentiele toegang maar 'rewrite'. RAR zou dat kunnen zijn; mits je de compressie laag instelt of je een heel snelle processor hebt. Voor office, gaming, internet etc. zal RAID0 sneller zijn. Tenzij je bijvoorbeeld op de achtergrond WinRAR hebt lopen en je tegelijk een spel gaat opstarten, dan zal het sneller zijn als je WinRAR op een andere schijf laat draaien dan waar het spel staat. Maar over het algemeen komt dit niet zo vaak voor. Wat mij betreft biedt RAID0 dus zeker voordelen voor "algemeen gebruik".
Moffin schreef op donderdag 11 januari 2007 @ 22:23:
Ik weet niet of 3 harde schijven sneller worden dan 2 harde schijven. Kijk mijn benchmark maar eens.
Specs staan onderaan de pagina.
Daarbij test je alleen sequentiele performance; met een wel erg basale benchmark. Probeer SiSoftware Sandra eens. Of een andere (vaak heelaas commerciele) benchmarksuite die veel realistischere (random-achtige) I/O test.

Het feit dat jouw RAID-array qua sequentiele transfer rate (STR) niet opschaalt kan te maken hebben met driver, controller, bus en benchmark-methode. De nForce4-controller die ik zelf uitvoerig heb gebenchmarkt onder FreeBSD heeft hier in elk geval geen last van en 400MB/s haal ik dan ook gewoon met 8 schijven (RAID0).
Pagina: 1