Auswirkungen des Zwischenspeicherns auf die Datenträgerleistung in Azure

Abgeschlossen

Ähnlich wie bei Ihren lokalen Computern ist die Leistung von virtuellen Computern häufig direkt davon abhängig, wie schnell Daten von der VM gelesen und geschrieben werden können. Um zu verstehen, wie diese Leistung verbessert werden kann, müssen wir zunächst verstehen, wie die Leistung gemessen wird. Wir müssen auch die Einstellungen und Auswahlmöglichkeiten verstehen, die sich auf diese Messung auswirken.

Wir sehen uns vor allem die zugrunde liegenden Datenträger und den Speicher für VMs an. Wenn Sie die Leistung betrachten, müssen Sie auch die Anwendungsebene berücksichtigen. Wenn Sie beispielsweise eine Datenbank auf einer VM ausführen, sollten Sie sich die spezifischen Leistungseinstellungen der Datenbank ansehen, um sicherzustellen, dass die Datenbank für die VM und den Speicher optimiert ist, auf der Sie diese ausführen.

Zunächst definieren wir einige Bedingungen und die Garantien, die in Azure dafür gelten.

E/A-Vorgänge pro Sekunde

Der von Ihnen gewählte Speichertyp (Standard oder Premium) bestimmt, wie schnell Ihre Datenträger sind. Wir messen diese Leistung in E/A-Vorgängen pro Sekunde (IOPS; englische Aussprache „eye-ops“).

IOPS ist die Anzahl der Anforderungen, die ein Datenträger in einer Sekunde verarbeiten kann. Eine einzelne Anforderung umfasst einen Lese- oder Schreibvorgang. Diese Messung wird direkt auf den Speicher angewendet. Wenn Sie beispielsweise über einen Datenträger verfügen, für den 5000 IOPS möglich sind, bedeutet dies, dass er theoretisch 5000 Lese- und Schreibvorgänge pro Sekunde verarbeiten kann.

Hinweis

Externe Faktoren, einschließlich der Latenz, können sich auf die IOPS auswirken.

IOPS wirkt sich direkt auf Ihre Anwendungsleistung aus. Für einige Anwendungen, z.B. Einzelhandelswebsites, ist ein hoher IOPS-Wert für alle kleineren und zufälligen E/A-Anforderungen erforderlich, die schnell verarbeitet werden müssen, damit die Website reaktionsfähig bleibt.

IOPS in Azure

Wenn Sie einen Storage Premium-Datenträger an Ihre Hochleistungs-VM anfügen, stellt Azure für Sie gemäß der Datenträgerspezifikation eine garantierte IOPS-Anzahl bereit. Beispielsweise stellt ein Datenträger vom Typ P507.500 IOPS bereit. Jeder Typ von Hochleistungs-VM weist außerdem ein bestimmtes IOPS-Limit auf. Für eine VM vom Typ Standard GS5 gilt beispielsweise ein Limit von 80.000 IOPS.

IOPS ist ein Leistungsmeasure Ihrer Datenträger, es ist jedoch ein theoretisches Limit. Zwei andere Faktoren können sich auf die tatsächliche Anwendungsleistung auswirken: Durchsatz und Latenz.

Was ist der Durchsatz?

Als Durchsatz wird die Menge der Daten bezeichnet, die Ihre Anwendung in einem angegebenen Intervall an die Speicherdatenträger überträgt (normalerweise pro Sekunde). Wenn Ihre Anwendung einen E/A-Vorgang mit großen Datenblöcken durchführt, wird ein hoher Durchsatz benötigt.

Azure stellt den Durchsatz für Storage Premium-Datenträger basierend auf der Spezifikation des Datenträgers bereit. Für einen P50-Datenträger wird beispielsweise ein Datenträgerdurchsatz von 250 MB pro Sekunde bereitgestellt. Jeder Typ von Hochleistungs-VM weist außerdem ein bestimmtes Durchsatzlimit auf. Für eine VM vom Typ Standard GS5 gilt beispielsweise ein maximaler Durchsatz von 2.000 MB pro Sekunde.

Vergleich von IOPS und Durchsatz

Durchsatz und IOPS stehen in direkter Beziehung zueinander, und das Ändern des einen Wertes wirkt sich direkt auf den anderen aus. Sie können die folgende Formel verwenden, um einen theoretischen Grenzwert für den Durchsatz zu erhalten: IOPS x I/O size = throughput. Es ist wichtig, diese beiden Werte zu berücksichtigen, wenn Sie Ihre Anwendung planen.

Was ist die Latenz?

Das Lesen und Schreiben von Daten benötigt Zeit. Wartezeit ist die Zeit, die Ihre App zum Senden einer Anforderung an den Datenträger bis zum Erhalten einer Antwort benötigt. Im Wesentlichen können wir anhand der Latenz ablesen, wie lange es dauert, eine einzelne E/A-Anforderung für einen Lese- oder Schreibvorgang zu verarbeiten.

Mit der Latenz wird der IOPS-Wert beschränkt. Wenn der Datenträger beispielsweise 5000 IOPS verarbeiten kann, aber die Verarbeitung jedes Vorgangs 10 ms dauert, ergibt sich für Ihre App aufgrund der Verarbeitungszeit ein Limit von 500 Vorgängen pro Sekunde. Dieses Beispiel ist eine einfache Veranschaulichung, in den meisten Fällen ist die Wartezeit wesentlich tiefer. Letztendlich bestimmen Wartezeit und Durchsatz, wie schnell Ihre App Daten aus dem Speicher verarbeiten kann.

Storage Premium ermöglicht einheitlich niedrige Latenzen, und per Zwischenspeicherung können Sie eine noch bessere Latenz erzielen.

Testen der Datenträgerleistung

Sie können IOPS, Durchsatz und Latenz Ihrer VM-Datenträger anpassen und ausgleichen, indem Sie die richtige VM-Größe und den passenden Speichertyp auswählen. Normalerweise verfügen die größeren bzw. teureren VM-Größen über umfassendere Garantien für die maximalen IOPS- und Durchsatzwerte. Da Sie dann noch die Wahl zwischen Standard- und Premium-Speicher bzw. HDD und SSD haben, verfügen Sie über mehrere Parameter, um Ihre Anforderungen zu erfüllen.

Damit Sie die richtige Kombination auswählen können, müssen Sie Ihre Anwendungsanforderungen genau kennen. Für Anwendungen mit hohem E/A-Anteil, z.B. Datenbankserver oder Systeme für Onlinetransaktionsverarbeitung, sind höhere IOPS-Werte erforderlich, während rechenintensivere Anwendungen möglicherweise mit geringeren Anforderungen auskommen. Außerdem wirken sich die Typen der von den Anwendungen durchgeführten Vorgänge auf den Durchsatz aus. Vorgänge mit hohem Random-Access-E/A-Aufwand sind in der Regel langsamer als lange sequenzielle Lesevorgänge.

Nachdem Sie Ihre Konfiguration ausgewählt haben, können Sie Tools wie Iometer nutzen, um Ihre Datenträgerleistung auf Linux- und Windows-VMs zu testen. Dieser Test gibt Ihnen einen praxisbezogeneren Eindruck davon, welche Leistung zu erwarten ist. Außerdem können Sie so besser Möglichkeiten ermitteln, wie Sie die Speichernutzung für Ihre App verbessern. Für eine Anwendung mit Single-Thread-E/A ergibt sich aufgrund von Latenz beispielsweise eher eine niedrigere E/A-Leistung.

In der nächsten Einheit werden wir uns einige andere Dinge ansehen, die wir tun können, um unsere Datenträgerleistung zu verbessern.