daschna
Goto Top

Festplatten für hohe Datenbankperformance - Datendurchsatz gegen Latenzzeit

RAID 5 mit langsamen HDDs vs. Raid 1 mit 2 schnellen HDDs

Werte Kollegen:

Um der Erweiterung unser kleinen Firma Rechnung zu tragen, soll der Server ausgetauscht und zusätzlich die Branchensoftware auf ein MS SQL Server 2005 DB aufgesetzt werden.

Dazu soll ein Server mit Dualboard für 2 Dual Core Opterons (Quad Core Opteron fähig für spätere Aufrüstung) mit 4 GB RAM gestückt angeschafft werden.

Das Budget ist leider zu begrenzt um teure SCSI320 oder SAS Festplatten und Controller zu beschaffen.

Nach Studium einschlägiger Artikel ( z.B. RAID Scaling Charts) bin ich an einem Punkt wo ich vor der Entscheidung stehe, mir ein RAID 5 Array aus 4-6 relativ günstigen "Server-Festplatten" zu schaffen (z.B. WD Caviar RE WD3200YS, ca. 70 Euro) oder ein RAID 1 Array aus 2 schnelleren "richtigen" Server Festplatten (z.B. WD Raptor 1500ADFD, ca. 170 Euro) einzusetzen.

Bei einem RAID 5 mit vielen (4-6) Platten bekomme ich eine sehr ordentliche Datendurchsatzrate aber durch die Positionierung aller Leseköpfe für das Lesen einer Datei/eines langen DBRecord relativ hohe Latenzzeiten. Die access time ist im Test bei Tom's Hardware auf bis zu 30 ms hochgegangen im Vergleich zu 4 ms für die Raptors).

back-to-topWas ist nun jetzt für meine Anwendung Performance-kritischer ergo, welche Lösung wird schneller sein?


Muss ich ev. bei der RAID 5 Lösung beim Controller nachrüsten (Wird der Datendurchsatz zu hoch?)

Hier noch ein paar Eckdaten:

Board: Dualboard für 2 Dual Core Opterons 2212 Santa Rosa
OS: Windows SBS 2003 Premium incl. SQL Server 2005
RAM: 4 GB
Onboard SATA II RAID (0,1, 0+1, 5) Controller
10 Terminal-Clients, die auf dem Server eine Instanz der Branchensoftware starten, davon 2 über VPN
Datenbank textlastig, PDF-Dokumente werden per externem Link integriert, parallele Zugriffe auf gleiche Records sehr selten, nicht transaktionskritisch


Danke jetzt schonmal für die hoffentlich weiterhelfende(n) Antwort(en).

Christoph

Content-Key: 72463

Url: https://administrator.de/contentid/72463

Printed on: April 24, 2024 at 16:04 o'clock

Member: n.o.b.o.d.y
n.o.b.o.d.y Nov 01, 2007 at 08:14:04 (UTC)
Goto Top
Moin,

beim Raid5 ist immer das kritische das schreiben der Daten, da zusätzlich zu den Rohdaten immer noch die Paritäten mit weggeschrieben werden müssen. Beim Lesen ist es dageben wieder schnell, das es die Daten von allen Platten gleichzeitig "sammeln" kann. Ein Raid1 ist so schnell wie die phyisikalische Platte selber.
Was mich nur wundert ist, Du möchtest entweder 4-6 320 GB Platte oder 2 170iger nehmen. Wie viel Plattenplatz benötigst Du denn? Denn wenn Du ein Raid5 aus 4 x 320 aufziehst, dann sind das 960 GB zu dem Raid1 mit 170 GB??
Ich würde da auf jeden Fall zu einem Raid1 tendieren, es sei denn, es käme für dich auch ein Raid10 in Frage (2 Stripesets gespiegelt) Dann hats Du die sehr hohe Performanze eines Raid0 mit der Sicherheit eines Raid1. "Verbraucht" natürlich viele Platten.

Und wenn ich das am Ende richtig rauslese, willst Du auf dem Server gleichzeitig noch TS-Sessions laufen lassen? Da würd ich mir echt überlegen, die Hardware für den DB-Server geringer zu dimensionieren und dafür eine zweiten reinen Terminalserver hinzustellen.

Ralf
Member: sysad
sysad Nov 01, 2007 at 09:02:24 (UTC)
Goto Top
Moin,

beim Raid5 ist immer das kritische das
schreiben der Daten, da zusätzlich zu
den Rohdaten immer noch die Paritäten
mit weggeschrieben werden müssen.

Auch Moin. Das mit dem 'Wegschreiben' macht doch der Controller autark, d.h. der Server wird dadurch nicht langsamer?

Denn wenn Du ein Raid5 aus 4 x 320
aufziehst, dann sind das 960 GB zu dem Raid1
mit 170 GB??

Wahrscheinlich reichen die 170GB dicke, aber da die 'NormaloHDs' inzwischen 500GB unter 100€ sind, ist es teurer, wenn man kleinere nimmt.

Ich würde da auf jeden Fall zu einem
Raid1 tendieren,

Sehe ich auch so. Wir versuchen immer mit viel RAM die gerade beanspruchten Teile der DB speicherresident zu behalten, dann ist die Latenz richtig niedrig. Mach also soviel RAM rein wie geht.

Und wenn ich das am Ende richtig rauslese,
willst Du auf dem Server gleichzeitig noch
TS-Sessions laufen lassen? Da würd ich
mir echt überlegen, die Hardware
für den DB-Server geringer zu
dimensionieren und dafür eine zweiten
reinen Terminalserver hinzustellen.

Wenn der aber nur eine DB laufen hat und die 10 TS-Clients, die die DB resourcenschonend abfragen, da rührt sich dann nicht viel. Wir haben einige solche Konfigs draussen und die sind deutlich über 90% CPU Time idle. Würde ich mal ausprobieren.

HTH
Member: Supaman
Supaman Nov 01, 2007 at 10:46:08 (UTC)
Goto Top
ich würde einen einen vernünftigen PCIe controller mit eigener CPU nehmen und NICHT den onboard controller. das ist nur ein möchte-gern controller, die arbeit macht die cpu. in frage kommen da areca, promise, etc.

die guten controller beherrschen alle raid-migration bzw änderung des raidlevels im laufenden betrieb. das hat den charme, das du bei der gestaltung deines raids auch nach der erstinstallation recht fexibel bist.

zur performance: höchste schreibraten in verbindung mit redunanz erreichst du entweder mit einem raid-10 oder einem raid-5 mit 4-6 platten. die berechnung der parity ist bei modernen controllern mit eigener cpu kein problem.

beim schreiben großer datenmengen sieht das ca so aus:
raid-10 mit 4x 7.200er sata = 2x ~65 mb -> ~130 mb/sec
raid-10 mit 4x 10.000 sata = 2x 87 mb -> ~175 mb/sec + schnellere latenzzeit

raid-5 mit 4x 7.200er sata = 3x ~65 mb -> ~195 mb/sec
raid-5 mit 6x 7.200er sata = 5x ~65 mb -> ~280 mb/sec *
raid-5 mit 4x 10.000 sata = 3x 87 mb -> ~261 mb/sec + schnellere latenzzeit
*bei ~300 mb ist das limit vom PCIe bus

wenn du es preiswert lösen willst: nehm einen promise 8-port ex8350 (~350 brutto) mit 5x 500er sata platte in 7200, 4 stück als raid-10, die 5te als hotspare.

wenns etwas mehr kosten darf: 8 port areca controller mit 5x 10.000 sata.

gruß,

supa
Member: daschna
daschna Nov 01, 2007 at 15:08:54 (UTC)
Goto Top
Vielen Dank für die schnellen Antworten

Was ich dazu noch sagen kann:

back-to-topTerminalserver und Datenbank zu trennen wird zu teuer und auch zu aufwändig in der Einrichtung und Wartung. ich glaub auch, dass das bei 10 Clients zuviel des Guten ist.

Denn wenn Du ein Raid5 aus 4 x 320 aufziehst, dann sind das 960 GB zu dem Raid1 mit 170
GB??

Wahrscheinlich reichen die 170GB dicke, aber da die 'NormaloHDs' inzwischen 500GB unter 100€
sind, ist es teurer, wenn man kleinere nimmt.

back-to-topRichtig, der Platz ist nicht das Problem.

Sehe ich auch so. Wir versuchen immer mit viel RAM die gerade beanspruchten Teile der DB
speicherresident zu behalten, dann ist die Latenz richtig niedrig. Mach also soviel RAM rein wie
geht.

back-to-topIst ein Windows SBS 2003 Premium, also 32 BIt, also 4 GB RAM Obergrenze. Ist echt nervig. Aber SBS 2008 kommt erst im Frühjahr und hat dann bestimmt auch nochmal 6 Monate Startschwierigkeiten (Treiber, Applikationen laufen nicht, Sicherheitslücken etc.)

beim schreiben großer datenmengen
sieht das ca so aus:
raid-10 mit 4x 7.200er sata = 2x ~65 mb
-> ~130 mb/sec
raid-10 mit 4x 10.000 sata = 2x 87 mb
-> ~175 mb/sec + schnellere latenzzeit

raid-5 mit 4x 7.200er sata = 3x ~65 mb
-> ~195 mb/sec
raid-5 mit 6x 7.200er sata = 5x ~65 mb
-> ~280 mb/sec *

back-to-topDie Frage ist ja aber genau: Werden große Datenmengen geschrieben. Wie gesagt, es werden nur ab und zu mal PDF Files geschickt, ansonsten ist das alles Text in Tabellen, und zwar pro Spalte selten mehr als 128 Byte.

back-to-topBei bei den "billig"- Platten ist die Variante RAID 5 mit 6 Platten die schnellste. Hier müsste ich auch nicht zwingend die gleichen Platten ins Regal legen, für den Fall eines Ausfalls sondern könnte auch eine andere Platte derselben Größe verwenden. Oder seht ihr das anders ?

back-to-topKosten: 6*70 Euro = 420 Euro, ev. 5 Platten im RAID und 2 Reserve = 490 Euro (ohne extra Controller)

raid-5 mit 4x 10.000 sata = 3x 87 mb ->
~261 mb/sec + schnellere latenzzeit
*bei ~300 mb ist das limit vom PCIe bus

back-to-topDas wären dann ca. 600 Euro (ohne extra Controller)

wenn du es preiswert lösen willst: nehm
einen promise 8-port ex8350 (~350 brutto) mit
5x 500er sata platte in 7200, 4 stück
als raid-10, die 5te als hotspare.

back-to-topWas macht die Hotspare hier genau? Im Falle eines Ausfalls muss die doch auch erst wieder mit den Daten der ausgefallen Platte beschrieben werden, oder? Ist es da nicht sinnvoller, sich die ins Regal zu legen?

wenns etwas mehr kosten darf: 8 port areca
controller mit 5x 10.000 sata.

back-to-topDas wären dann ca. 700 Euro (ohne extra Controller) . Plus Controller ist man dann bei 1000+ Euro. Ich glaub das sprengt das Budget.

Was meint ihr?
Member: Supaman
Supaman Nov 01, 2007 at 15:40:16 (UTC)
Goto Top
beim schreiben großer datenmengen sieht das ca so aus
damit möchte ich sagen, das man vergleichswerte hinsichtlicher maximalen performance nur mit großen dateien durchführen kann. bei vielen kleinen dateien sinkt die performance und die ergebnisse werden leichter verfälscht.

Was macht die Hotspare hier genau? Im Falle eines Ausfalls muss die doch auch erst wieder mit den Daten der ausgefallen Platte beschrieben werden, oder? Ist es da nicht sinnvoller, sich die ins Regal zu legen?

eine hotspare ist als ersatzplatte, die der controller automatisch zur wiederherstellung der redunanz verwendet, wenn ein platte ausfällt. das ganze läuft automatisch ab, ohne benutzereingriff. in meinen augen sinnvoller, als wenn man die platte ins regal legt.

bezüglich budget:
rechne mal durch, wie hoch die monatliche lohnsumme + fixkosten für gebäude etc ist. der unterschied zwischen der großen und kleinen lösung sind max. 250 euro, daran sollte es nicht scheitern.
Member: daschna
daschna Nov 02, 2007 at 04:40:52 (UTC)
Goto Top
Nach weiterer Suche habe ich gestern folgenden Artikel (Link 1) gefunden und war glücklich...bis ich in den Kommentaren einen Link (Link 2) zu einem fast identischen Vergleich, der 1 jahr vorher stattfand gefunden habe...und der komplett das Gegenteil behauptet...nach langem Lesen in der Diskussion zum jüngeren Artikel glaube ich aber, 2 Trends erkannt zu haben

1. Summe(Wahrheiten) = Summe(Experten) + 1 face-wink

2. Für Datenbankanwendungen scheinen wirklich noch die Raptors die bessere Wahl zu sein.


Link 1: http://www.tomshardware.com/2007/03/12/cheap_raid_ravages_wd_raptor/


Link 2: http://www.tomshardware.com/2006/02/06/wd1500ad_raptor_xtends_performan ...
Member: Supaman
Supaman Nov 02, 2007 at 21:23:38 (UTC)
Goto Top
sagen wirs mal so: ein raid mit einem gescheiten controller und 5x raptor ist schon sehr leistungsfähig und trotzdem deutlich billiger als ein scsi raid system.