Welchen Durchsatz kann ich mit MPIO erwarten?

12

Dell PowerEdge 2950 mit zwei 1-Gbit / s-NICs, die an zwei 1-Gbit / s-Ports an einem Switch angeschlossen sind, und anschließend an eine NetApp mit vier 1-Gbit / s-NICs, die als eine virtuelle Schnittstelle vorhanden sind. 24 Laufwerke, 7200 k SATA, NetApp RAID-DP. Ich habe jede Host-NIC mithilfe von MPIO im Microsoft iSCSI-Initiator der NetApp zugeordnet. Wenn ich mit SQLIO teste, erscheint mein Schreibdurchsatz bei etwa 200 MB angemessen, aber meine Lesevorgänge liegen näher bei 100 MB.

Sollten meine Lesevorgänge nicht näher an 200 MB liegen als meine Schreibvorgänge? Ist dies ein Konfigurationsproblem oder gibt es ein grundlegendes Speicherproblem, das ich nicht verstehe?

Bildbeschreibung hier eingeben

Update: Hier sind IOPS für die zufällige Arbeitslast. Die Lesevorgänge machen jedoch Sinn, ich bin mir nicht sicher, was ich von 20000 für die Schreibvorgänge halten soll. Der SAN-Cache beträgt 3,2 GB. SQLIO-Tests beziehen sich auf eine 25-GB-Datei.

Bildbeschreibung hier eingeben

Henry Lee
quelle
3
Was ist Ihr Cache auf dem NetApp-Gerät? Haben Sie einen SAN-Administrator, der einige Kennzahlen für Sie abrufen kann? Wir haben eine NetApp und konnten einige Probleme mit einer Kombination aus Berichten und Warnprotokollen identifizieren. Letztendlich war unsere Situation eine schlechte Glasfaserkarte, aber der NetApp-Support hat uns sehr geholfen, die Ursache zu finden.
Swasheck
2
Es kann sich lohnen, die Konfiguration Ihrer Aggregate und Volumes zu überprüfen, um sicherzustellen, dass Ihre Festplatten ordnungsgemäß verwendet werden. Es ist normal, dass Schreibvorgänge schneller sind als Lesevorgänge, da Schreibvorgänge auf dem Filer zwischengespeichert werden können, bevor sie auf die Festplatte übertragen werden. Lesevorgänge müssen jedoch auf die Festplatte übertragen werden, es sei denn, sie befinden sich bereits im Cache.
Nathan Jolly
2
@mrdenny Woher stammt dieser Begriff "99% der E / A in 64k-Blöcken"? Bob Dorr zeigt etwas anderes an , genau wie Wes Brown . Selbst wenn wir diese beiden umfassenden Artikel ignorieren würden, würde der gesunde Menschenverstand voraussetzen, dass Sie 8K IO auf einer Plattform mit einer Seitengröße von 8K sehen.
Mark Storey-Smith
2
@mrdenny Meins muss dann kaputt sein, soll ich den Support anrufen? Ich saß hier und sah mir die IO-Aktivität der Datendatei mit dem Prozessmonitor an. Obwohl die erwarteten 64 KB in Hülle und Fülle gelesen werden, gibt es viele andere 8 KB-Mehrfachlesevorgänge und natürlich viele 8 KB-Schreibvorgänge. Die Protokollaktivität ist erwartungsgemäß 512-Byte-Vielfache, die von einzelnen 512-Byte-Schreibvorgängen bis zu 60.000 reichen.
Mark Storey-Smith
2
@ MarkStorey-Smith Nach meiner Erfahrung treten Lesevorgänge in 8k typischerweise in Korrelation mit Fragmentierung auf. Dies kann auch auf einen Speichermüll hinweisen, der die Lebensdauer von Seiten verkürzt, da die Seiten gescannt werden (dh der größte Teil des Speicherbereichs befindet sich noch im Speicher). Ein gut abgestimmtes System sollte 64.000 Lesevorgänge anzeigen. Schreibt natürlich was eigentlich dreckig ist.
Remus Rusanu

Antworten:

7

Schreibvorgänge auf der Festplatte werden tatsächlich in den Speicher (NVRAM) des Filers geschrieben, um später auf die Festplatte gespült zu werden. Bei einem inaktiven Filer sind diese unglaublich schnell und 20.000 Iops sind durchaus glaubwürdig (bei den meisten SSDs werden ähnliche Geschwindigkeiten festgestellt). .

Lesevorgänge müssen dagegen von der Festplatte kommen, es sei denn, sie befinden sich bereits im Lese-Cache des Dateiservers (der sich im Gegensatz zu Schreibvorgängen im flüchtigen Speicher befindet).

Es ist schwierig, Speicheranbieter auf iops für rotierende Festplatten zu fixieren, aber für ein Laufwerk mit 7200 U / min sind 80-120 iops durchaus glaubwürdig. Wenn man bedenkt, dass Sie wahrscheinlich ein paar Festplatten an NetApps RAID-DP und / oder Ersatzlaufwerke verloren haben, liegen 2.200 Iops nahe an dem, was Sie von 22 Festplatten mit jeweils 100 Iops erwarten können.

Dies erklärt möglicherweise nicht Ihre Lesegeschwindigkeiten (Ihre Datenträger führen möglicherweise nicht die vollen 2200 Iops aus, wenn Sie einen sequenziellen Lesevorgang durchführen), kann jedoch zumindest zur Erklärung Ihrer Schreibleistung beitragen.

Nathan Jolly
quelle
Danke Nathan. Sollte ich mit dem doppelten Durchsatz von zwei Netzwerkkarten und MPIO rechnen?
Henry Lee
1
Können Sie die Auslastung Ihres Filers überprüfen, während Sie Ihre sequentiellen Lesetests ausführen? Wenn es 100% erreicht, liegt der Engpass bei diesen wahrscheinlich beim Filer (entweder aufgrund der Konfiguration oder aufgrund von Einschränkungen auf jeder Festplatte), und MPIO / zusätzliche MPIO-Verbindungen fügen nichts hinzu. Ihr Schreibdurchsatz kann sich weiter erhöhen.
Nathan Jolly
5

Für die Nachwelt haben wir nach langem Ausprobieren herausgefunden, wie wir den erwarteten Durchsatz erzielen können.

Wie oben erwähnt, verfügte die NetApp über eine virtuelle Schnittstelle, die von vier physischen Netzwerkkarten unterstützt wurde. Der Host verfügt über zwei Netzwerkkarten, und ich habe MPIO über den MS iSCSI-Initiator so konfiguriert, dass von jeder Netzwerkkarte ein Pfad zu der einen virtuellen Schnittstelle vorhanden ist. Das Ergebnis war der oben angegebene Durchsatz - Schreibvorgänge waren bei fast 200 MB oder der Geschwindigkeit von zwei Netzwerkkarten sinnvoll, aber die Lesevorgänge waren halb so hoch wie die Geschwindigkeit einer Netzwerkkarte.

Bei näherer Betrachtung stellte unser SAN-Mitarbeiter fest, dass der Datenverkehr nur durch eine der physischen Netzwerkkarten für die Lesevorgänge floss. Ich bin nicht sicher, ob wir einen Konfigurationsfehler hatten, aber wir haben zwei Dinge ausprobiert und beide haben uns unseren Durchsatz gebracht. Eine bestand darin, von einer von vier Netzwerkkarten gesicherten virtuellen Schnittstelle zu zwei virtuellen Schnittstellen zu wechseln, die jeweils von zwei Netzwerkkarten gesichert wurden. Ordnen Sie dann eine Host-NIC einer virtuellen Schnittstelle zu. Das andere, was wir versucht haben, war die Verwendung von "Aliasing" auf der SAN-Seite, um mehrere virtuelle Schnittstellen darzustellen. (Ich bin kein SAN-Typ, also habe ich das hoffentlich richtig gesagt.)

Mein Take-Away ist, dass wir nur das SAN brauchten, um mehr als eine Schnittstelle zu präsentieren, damit der Initiator wirklich mehrere Pfade sah. Hier ist jetzt unser Durchsatz:

Bildbeschreibung hier eingeben

Henry Lee
quelle
Warum sind die kleineren Schriften jetzt langsamer?
Jack sagt, versuchen Sie topanswers.xyz
Ich bin nicht sicher, dass wir das noch nicht herausfinden konnten. Ich werde zurückschreiben, wenn ich es herausgefunden habe.
Henry Lee