Warum sollte eine stark festplattenintensive Anwendung in einem SAN schneller ausgeführt werden als auf einer physischen Festplatte?

21

Warum sollte eine stark festplattenintensive Anwendung in einem SAN schneller ausgeführt werden als auf einer physischen Festplatte? Ich hätte erwartet, dass die physische Festplatte etwas schneller ist, aber tatsächlich lief der Prozess 100-mal schneller, als das Arbeitslaufwerk auf eine Partition im SAN eingestellt war.

Wir gehen davon aus, dass das SAN sofort optimiert wurde, während die Einstellungen für die Optimierung der physischen Festplatte mit dem Betriebssystem (Solaris) zusammenhängen und weder berührt noch mit dem Betriebssystem gepatcht wurden.

Während der höchsten Aktivität lief die Festplatten-E / A zu 100% und die Zeit zum Abschließen eines Schreibvorgangs betrug mehr als 2 Sekunden, da mehrere Prozesse gleichzeitig auf die Festplatte geschrieben wurden.

(Die betreffende Anwendung war zu Ihrer Information Informatica PowerCenter.)

Stuart Woodward
quelle

Antworten:

23

Ich bin überhaupt nicht überrascht. Bei SAN-Arrays sind in der Regel viele Festplatten beteiligt. Der begrenzende Faktor für die Festplatten-E / A ist die Geschwindigkeit der einzelnen Festplatten und dieser Stapel. 6 Laufwerke lokal in einem RAID10 sind leistungsfähiger als 2 und 80 Laufwerke in einem SAN sind leistungsfähiger als 10 Laufwerke lokal. Es gibt natürlich Variablen, aber so soll es funktionieren.

Wenn im SAN SSDs vorhanden sind, wird es sehr schnell.

sysadmin1138
quelle
15

Es liegt mit ziemlicher Sicherheit am Caching. Die DAS-Wahrscheinlichkeit hat ein minimales Caching, wobei die meisten Enterprise-SANs mehrere Gigabyte Cache haben. Ich würde vermuten, dass die App den Cache des DAS sättigt, nicht aber das SAN.

Chris S
quelle
1
Offensichtlich dauert die Latenzzeit im SAN länger als im DAS, aber der Gesamtdurchsatz im SAN ist bei allem Zwischenspeichern höher. Gute Antwort.
Matt
und dann gibt es oft einen Read-Ahead-Cache, so dass seine zufälligen Lese- / Schreibvorgänge den größten Treffer erzielen, und dann können Sie Schreibvorgänge zwischenspeichern, so dass nur zufällige Lesevorgänge beeinträchtigt werden, obwohl dies eine recht kleine Verzögerung darstellt.
Silverfire
1
Ein ordnungsgemäß konfiguriertes Speichersubsystem im SAN, das nicht überlastet ist, sollte Ihnen zufällige Schreibzeiten von etwa 1 bis 2 ms ermöglichen.
MikeyB
@ MikeyB Ich bin nicht anderer Meinung als Sie. 1-2ms schreiben an SAN scheint richtig. Aber Charles 'SAN-Konfiguration war 100-mal schneller als seine überlasteten physischen Festplatten (die Schreibgeschwindigkeiten lagen bei letzteren über 2 Sekunden). Sogar seine SAN-Leistung ist mit 20 ms nicht so gut wie mit 1-2 ms ...?
Ellie Kesselman
9

Konzeptionell scheint es immer so, als ob das Serving von SAN-Datenträgern langsamer sein sollte als das Serving vor Ort. Es gibt jedoch viele Faktoren, die dies umkehren und dazu führen können, dass das SAN eine viel schnellere Option ist. Einige dieser Faktoren sind:

  • Erfordert Ihre Arbeitsauslastung eine schnelle Suchzeit oder einen schnellen Durchsatz oder beides?
  • Wie viele Spindeln auf der SAN-LUN im Vergleich zur lokalen Festplatte?
  • Welche Busgeschwindigkeit zwischen der SAN-LUN und dem Server im Vergleich zur lokalen Festplattenschnittstelle?
  • Wie viel Lese- / Schreibcache ist auf der SAN-LUN im Vergleich zur lokalen Festplatte verfügbar?
  • Mit welcher Geschwindigkeit drehen sich die Festplatten auf der SAN LUN im Vergleich zur lokalen Festplatte?
  • Welche andere E / A-Aktivität findet auf der SAN-LUN im Vergleich zur lokalen Festplatte statt?
  • Welche RAID-Stufe haben die Arrays im SAN und im lokalen Speicher?

All dies wirkt sich auf Ihre Leistung auf dem SAN und der lokalen Festplatte aus.

Chris Thorpe
quelle
1

Auf die Anzahl der verfügbaren Spindeln kommt es an. Je höher die Anzahl der Spindeln, desto schneller ist der Zugriff auf ein bestimmtes Datenelement. Wenn Sie eine hohe E / A-Belastung haben, insbesondere wenn Sie eine Datenbank-App sind, können Sie die Leistung lokaler Festplatten mit einer SAN-Lösung begraben, die eine weitaus höhere Anzahl von Festplattensätzen für die Verwaltung von Kerndaten, Indizes usw. aufweist.

Mit dem lokalen Festplattensubsystem teilen Sie wahrscheinlich auch den Zugriff auf die Lese- / Schreibköpfe mit anderen Vorgängen, wie z. B. R / W-Austausch, Zugriff auf lokale Betriebssystem- und Bibliotheksdateien, Anwendungszugriff usw. Die kollektive Zeit ist zwar individuell schnell Wenn Sie alle Lese- / Schreibvorgänge ausführen, um die Lese- / Schreibköpfe von einem Bereich der Festplatte auf einen anderen zu verschieben, um die Anforderungen Ihrer Anwendung zu erfüllen, kann dies die Leistung erheblich beeinträchtigen.

James Pulley
quelle