Dat is een fabeltje. Het hangt namelijk ook heel erg van de software af of je data nog altijd consistent is. Een RAID controller werkt op blokniveau, niet op file system niveau.
Een writeback cache voorziet in een prestatieverhoging van writes omdat het de writes kan cachen. Het gevaar is dat die cache nog niet is weggeschreven naar disk op het moment dat er een stroomonderbreking plaatsvindt. Dat wordt dan opgelost met een battery die de write cache voor een beperkte periode bewaart om ze alsnog later weg te schrijven.
Tot zover de theorie, nu de praktijk:
Mensen vergeten vaak om de filesystem cache van de kernel uit te zetten waardoor je alsnog veel in de write queue kwijt bent. Verschil is echter dat het filesystem cache veel slimmer is en dingen afweet op filesystem niveau. Metadata als laatste enzovoorts. Dat maakt een groot verschil in de consistentheid van je data, de mate waarin je kan recoveren naar een consistente staat bedoel ik dan. Je allerlaatste last-minute write vlak voor de power down krijg je er niet mee terug - met een BBU-writecache waarschijnlijk wel, mits goed geconfigureerd.
BBU's gaan ook kapot, ook terwijl je systeem runt. Heb het nu al eens meegemaakt dat er data juist corrupt is gegaan door een falende battery. Bij elke reboot van het systeem waren er weer nieuwe filesystem errors...
Dan nog applicatieniveau:
Voor specifiek MySQL performance en reliability maakt het nogal uit welke engine je gebruikt. Bij InnoDB werk je met transactielogs (fixed size, sequentieel) en je ibdata files (groeiend, random access). Als je dat goed tweakt, de juiste filesystems/hdd's/ssd's kiest en MySQL's caching ook goed zet dan heeft dat grote invloed op je performance.
[
Voor 9% gewijzigd door
gertvdijk op 22-01-2012 21:33
]
Kia e-Niro 2021 64kWh DynamicPlusLine. 3x Victron MP-II op 15kWh US5000 3f thuisbatterij met 3x25A→3x40A PowerAssist, Victron EVCS, 3200Wp HoyMiles zp. my GitHub, my blog