andreas7
Goto Top

Performance für RAID berechnen

Hallo, Forums-Spezialisten,

ich wüßte gerne, wie die Performance in RAID-Systemen berechnet wird. Kann mir jemand ein paar Tipps dazu geben?

Grüße
Andreas 7

Content-ID: 52037

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

Ausgedruckt am: 22.11.2024 um 17:11 Uhr

Weiricth
Weiricth 19.02.2007 um 09:26:20 Uhr
Goto Top
hi,

was meinst du mit performance. es gibt das raid dreieck und unter

http://de.wikipedia.org/wiki/RAID

gibts berechnungen. Aber die schreib und lese performance ligt daran wie gut oder schlecht dein controller ist (soft oder hardware, raid level usw.)

Grüße

TomTom
36539
36539 19.02.2007 um 09:31:00 Uhr
Goto Top
hallo,

such mal nach "HD Tach" und/oder "I/OMeter"

gruß
onegasee59
Andreas7
Andreas7 19.02.2007 um 10:20:35 Uhr
Goto Top
Schreib- u. Leseperformance hängt in erster Linie von der Zahl der Platten ab. Natürlich auch von anderen Dingen.
Ein RAID 0 aus 6 Platten ist schneller als eines aus 3 Platten, ein RAID 5 aus 6 Platten ist ebenfalls schneller als eines aus 3 Platten.
Aber wie kann man die exakte (theoretische) Geschwindigkeit berechnen? Beim RAID 0 ist das ja noch einfach. Aber wie sieht das beim RAID 5 aus?
horst98
horst98 23.02.2007 um 19:24:00 Uhr
Goto Top
Ich stehe gerade vor einem ähnlichen Problem. Allerdings glaube ich nicht, dass die theoretische Berechnung tatsächlich etwas bringen kann, da im Controller und in den Platten merkwürdige Dinge geschehen.

Ich habe es gut face-smile und auch wieder schlecht face-sad. Ich habe eine Datenbank auf maximale Transaktionsgeschwindigkeit zu tunen. Bislang läuft sie auf 4*147GB SCSI 10k 5ms Platten von IBM. Konfiguriert als RAID 0+1. D.h. ich habe unten zwei RAID 1 (Mirror) auf die ein darüber liegendes RAID 0 (Stripe) die Daten aufteilt. Die Performance ist ganz gut, aber wenn 10 User gleichzeitig die Datenbank beharken, wird es dann doch langsam. Der Adaptec 2015S SCSI Controller sitzt auf einem PCI-X Bus und die Platten sind allesamt U320 Typen. Durch meine SCA-Backplane bin ich aber auf U160 begrenzt.

Dazu liegt auf diesem Array (267GB netto) noch der ganze Fileserver für 10 User.

Also habe ich mir gedacht: Nehme ich mir weitere 4*36GB SCSI 15k 3,5ms Platten (Hitachi/IBM) und bastele mir ein zweites, schnelleres RAID 0+1 Array, auf das ich dann die Datenbank auslagere.

Jetzt habe ich mit den neuen Platten ein paar Tests mit diesen allgemein verfügbaren Tools (HD-Bench, etc.) gemacht und habe überraschende Ergebnisse erzielt:

Die einzelne Festplatte ist reichlich gut. Lesen natürlich besser als schreiben. 90 MB/s lesen und 70MB/s schreiben (Mittelwerte aus Burst, Sequential und Random).

Gehe ich auf ein RAID 0 (Stripe), so verbessert sich die Perfomance nicht wesentlich, da die Schreibperformance auf 65 sinkt. Da kann auch das bessere Lesen 95 nichts wett machen.

Ein Spiegelsatz RAID 1 reduziert dagegen die Lese- und Schreibperformance auf 80/60.

Das kombinierte RAID 0+1 bringt Lesen 70 MB/s und Schreiben 40 MB/s.

Ich habe auch einmal zum Spaß ein vierfach Stripe RAID 0 konfiguriert. Hier komme ich auf 95 lesen und 70 schreiben. Interessant ist, dass jeder Stripe beim Schreiben großer Datenmengen am Stück auf ein Limit vom 30 MB/s kommt. Irgendetwas klemmt da im Controller. Da hilft wohl auch der PCI-X Bus nichts.

In meiner Workstation habe ich einen Adaptec 2130S Controller U320 mit einem Stripe Satz aus zwei SCSI 15k 36GB Platten. Hier komme ich auf 140 MB/s beim lesen und 80 MB/s schreiben. Eine deutliche Verbesserung zur Einzelplatte.

In meinen synthetischen Tests auf dem Server hat ein RAID 1 (Spiegel) eine bessere Performance als das RAID 0+1. Soll ich tatsächlich nach den theoretischen Daten das Array konfigurieren? Schließlich gibt es noch die Zugriffszeit (Armpositionierung) und die zeigt mir beim RAID 0+1 1ms an und beim RAID 1 doppelt so große 2ms.

Am Ende erscheint es mir eine Glaubensfrage. Kann ich Adaptec vertrauen, dass sie mit ihrem RAID 0+1 einen guten Job gemacht haben? Wird die Real-Life-Performance im Vierplattenverbund besser als beim einfachen Spiegelsatz sein?

Was meint Ihr?

Ich habe mir beim Suchen nach solchen Daten im Internet die Finger wund getippt und nix gefunden. Am Ende ließt man immer, dass RAID 1 und 0+1 höchste Performance haben. Bei RAID 0+1 (bzw. RAID 10) steht dann dazu noch der Begriff ‚Transaction Processing’. Was auf eine noch höhere Performance hindeutet.

Mittlerweile glaube ich (Glaubensfrage), dass man für echte Anwendungen mehr auf die Anzahl an Spindeln bzw. Plattenarme achten sollte, als auf die blanke, theoretische RAID-Performance.

Die Platten drehen ja nicht synchron und so beginnt eine Platte eher zu antworten als die andere. Wird der Controller mit der Platte anfangen, die sich zuerst meldet? Oder wartet er immer auf seine ‚Erste’, um dann mit Verzögerung von der Zweiten, die eigentlich zuerst da war, zu lesen?

So ganz gefestigt ist mein Glauben aber nicht. Denn der Adaptec 2130S in meiner Workstation liefert auf dem Papier deutlich bessere Werte als der 2015S. Zwei Jahre Entwicklungsunterschied machen sich wohl immer noch bemerkbar.

Gruß
Horst
www.TheWhiskyStore.de

P.S.: RAID 5 (auf 4 Platten) war in Summe gar nicht so schlecht. 70 Lesen aber nur 30 Schreiben.
Andreas7
Andreas7 23.02.2007 um 22:31:56 Uhr
Goto Top
Und wie sieht's beim RAID 5 mit mehr als 5 Platten aus? Habe einige Leistungsdiagramme gefunden, nach denen ein RAID 5 aus 8 Platten (7+1) am besten abschneidet.
(Wäre auch meine Wunschkonfiguration. Ist aber ein bisschen schwierig. Bei 1.600 EUR pro Platte...)

Für die gemeinsame Nutzung von Festplatten habe ich ganz widersprüchliche Aussagen gefunden. In einem recht seriös wirkenden Buch wird folgende Nutzung vorgeschlagen:

Datenbankserver oder Exchange-Server:
- RAID 1 für System
- RAID 10 oder 5 für Datenbank
- RAID 1 für Transaktionslogs
- HotSpare

Dateiserver
- RAID 1 für System
- RAID 10 oder 5 Daten
- HotSpare

Domaincontroller oder Terminalserver oder Webserver
- RAID 1 für System und Anwendungen
- HotSpare

Keinesfalls sollten die unterschiedlichen Server den gleichen Festplattenbereich nutzen, da ein Server den anderen ausbremsen würde.

Unser Händler erzählt uns nun wieder etwas ganz Anderes. Aber das liegt wohl an der FibreChannel-Struktur und dem Controllercache mit 2 GB.

Gruß
Andreas
horst98
horst98 26.02.2007 um 18:48:23 Uhr
Goto Top
Und wie sieht's beim RAID 5 mit mehr als 5
Platten aus? Habe einige Leistungsdiagramme
gefunden, nach denen ein RAID 5 aus 8 Platten
(7+1) am besten abschneidet.
(Wäre auch meine Wunschkonfiguration.
Ist aber ein bisschen schwierig. Bei 1.600
EUR pro Platte...)
Hi,

so teure Platten kenne ich nun nicht. Kann sein, dass die großen Serverhersteller ihre Platten zu diesen Preisen verkaufen, aber wert sind sie es in der Regel nicht.

Doch zum RAID 5. Sicherlich sind diese großen RAID 5 tüchtig schnell beim lesen. Schließlich hat man eine Menge Spindeln, die parallel Daten lesen können. Das Bottleneck bei RAID5 tritt immer bem Schreiben auf, da die XOR-Information gerechnet werden muss. Das iist das Problem. Also nicht die Platten, sondern der Controller macht den Ärger.

Einfachere RAID-Level können ohne zu rechnen mit logischen Operationen die Daten auf die einzelnen Platten aufteilen. Dann ist auch der Schreibzugriff gut.

Warum dann Datenbanken mit RAID5? Weil fast alle Operationen auf Datenbanken Leseoperationen sind. Da lässt man die Leute ruhig einmal beim seltenen Schreiben (Neukunde anlegen, Artikel verbuchen) etwas warten. Wenn man dazu noch einen Cache Controller hat, dann kann man diese Daten vielleicht sogar im Cache (Write Back) ablegen und die Platte schreibt das irgendwann magnetisch weg.

Um die Sicherheit zu erhöhen, hat man in der Vergangenheit immer Hot-Spares mitlaufen lassen. Wenn also eine Platte ausfiel, dann ersetzte der Controller die Platte selbstständig durch die Hotspare und man konnte sich beruhigt Zeit bis zum Wochenende lassen, um den Austausch zu machen.

Dann ist einer auf die gloreiche Idee gekommen, diese Hotspare gleich mit einzubinden, um die Leseleistung weiter zu erhöhen (RAID 5EE) Man muss die Sache aber so organisieren, dass im Betrieb wirklich zwei Platten ausfallen dürfen und das System immer noch vernünftig läuft. Das ist die Attraktivität dieser Vielplatten-Arrays.

Ich habe mich letztendlich für das RAID 0+1 entschieden. Wenn ich in ein paar Monaten durch die Verfügbarkeit der Terrabyte Platten mehr Platz in meinem Servergehäuse bekomme, dann werde ich noch die Hot Spares einbauen. Leider kann mein Controller die neuen RAID-Formen (60, 5E, 5EE) noch nicht. Da muss ich auf den Ersatz um 2010 warten.

Gruß
Horst Lüning

P.S.: Vor 12 Jahren habe ich einmal an einem SUN-Unix-Server arbeiten dürfen. Der hatte 120 (Hundertzwanzig) 1 Gigatbyte Platten angeschlossen gehabt - Irre.