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
ich wüßte gerne, wie die Performance in RAID-Systemen berechnet wird. Kann mir jemand ein paar Tipps dazu geben?
Grüße
Andreas 7
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 52037
Url: https://administrator.de/contentid/52037
Ausgedruckt am: 22.11.2024 um 17:11 Uhr
6 Kommentare
Neuester Kommentar
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
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
hallo,
such mal nach "HD Tach" und/oder "I/OMeter"
gruß
onegasee59
such mal nach "HD Tach" und/oder "I/OMeter"
gruß
onegasee59
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 und auch wieder schlecht . 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.
Ich habe es gut und auch wieder schlecht . 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.
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,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...)
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.