Leistungsmerkmale von Datenträgern

Abgeschlossen

Die Anwendungsleistung hängt häufig davon ab, wie schnell die Anwendung Daten lesen und schreiben kann. Um die Anwendungsleistung zu verbessern, müssen Sie zunächst verstehen, wie die Leistung gemessen wird. Anschließend müssen Sie sich mit den Einstellungen und Optionen vertraut machen, die sich auf diese Messung auswirken.

Leistungsmerkmale bei Datenträgern

Um den richtigen Datenträgertyp auszuwählen, ist es wichtig, die Leistungsindikatoren zu verstehen. Die folgenden Indikatoren drücken die Leistung aus:

  • IOPS (Input/Output Operations Per Second, Ein-/Ausgabevorgänge pro Sekunde): Dies ist die Anzahl von Anforderungen, die Ihre Anwendung pro Sekunde an die Datenträger sendet. Dieser Wert hat direkte Auswirkungen auf die Leistung Ihrer Anwendung. 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. Datenträger mit höherer Leistung erreichen höhere IOPS-Werte.
  • Durchsatz: Durchsatz ist die Menge der Daten, die Ihre Anwendung in einem angegebenen Intervall an die Datenträger überträgt. Der Durchsatz wird auch als Datenübertragungsrate bezeichnet und in Megabyte pro Sekunde (MB/s) gemessen. Wenn Ihre Anwendung einen E/A-Vorgang mit großen Datenblöcken durchführt, wird ein hoher Durchsatz benötigt. Datenträger mit höherer Leistung erzielen einen höheren Durchsatz.
  • Wartezeit: Die Latenz oder Wartezeit ist die Zeit, die Ihre App zum Senden einer Anforderung an den Datenträger und Erhalten einer Antwort benötigt. Durch die Latenz wird der tatsächliche IOPS-Wert eingeschränkt. Wenn der Datenträger beispielsweise 5.000 IOPS verarbeiten kann, aber die Verarbeitung jedes Vorgangs 10 ms dauert, ergibt sich für Ihre App aufgrund der Verarbeitungsdauer ein Limit von 100 Vorgängen pro Sekunde. Sie können die Latenz erheblich verbessern, indem Sie die schreibgeschützte (ReadOnly) Hostzwischenspeicherung aktivieren.

Vergleich von IOPS und Durchsatz

Durchsatz und IOPS stehen in einer direkten Beziehung zueinander. Die Änderung eines Werts wirkt sich direkt auf den anderen aus. Sie können für die Berechnung des theoretischen Grenzwerts für den Durchsatz die folgende Formel verwenden: IOPS × E/A-Größe = Durchsatz. Bei der Planung Ihrer Anwendung müssen beide Werte berücksichtigt werden.

Bei Ultra-Datenträgern und verwalteten SSD Premium v2-Datenträgern funktioniert dies etwas anders, da Sie Datenträgergröße, IOPS und Durchsatz unabhängig anpassen können. Anpassungen des IOPS-Werts oder Durchsatzes für Ultra-Datenträger und verwaltete SSD Premium v2-Datenträger können zur Laufzeit vorgenommen werden, ohne den Datenträger von der VM zu trennen.

Ultra-Datenträger IOPS

Ultra-Datenträger unterstützen IOPS-Grenzwerte von 300 IOPS/GiB, bis zu einem Maximum von 160.000 IOPS pro Datenträger. Um die angestrebten IOPS für die Festplatte zu erreichen, müssen Sie sicherstellen, dass die IOPS der ausgewählten Festplatte unter dem IOPS-Limit der VM liegen.

Der aktuelle Höchstwert für IOPS für einen einzelnen virtuellen Computer in allgemein verfügbaren Größen beträgt 160.000. Ultra Disks mit größeren IOPS können als freigegebene Datenträger verwendet werden, um mehrere VMs zu unterstützen.

Der garantierte Mindestwert für die IOPS pro Festplatte beträgt 1 IOPS/GiB, wobei der Mindestwert für die Basislinie insgesamt 100 IOPS beträgt. Wenn Sie z. B. einen Ultra Disc-Datenträger mit 4 GiB bereitstellen, beträgt der Mindest-IOPS für diesen Datenträger 100 anstelle von vier.

Ultra-Datenträger-Durchsatz

Die Durchsatzobergrenze eines einzelnen Disk Ultra-Datenträgers ist 256 KiB/s für alle bereitgestellten IOPS, bis zu einem Höchstwert von 4,000 MB/s pro Datenträger (wobei MB/s = 10^6 Bytes pro Sekunde). Der garantierte Mindestdurchsatz pro Datenträger beträgt 4 KiB/s für alle bereitgestellten IOPS mit einem Gesamtmindestwert von 1 MB/s.

SSD Premium v2-IOPS

Alle SSD Premium v2-Datenträger verfügen über einen Baseline-IOPS von 3.000, der kostenlos ist. Nach 6 GiB kann der maximale IOPS eines Datenträgers mit einer Rate von 500 pro GiB bis zu 80.000 IOPS erhöht werden. So kann ein 8-GiB-Datenträger bis zu 4.000 IOPS aufweisen, und ein 10-GiB-Datenträger kann bis zu 5.000 IOPS aufweisen. Um 80.000 IOPS auf einem Datenträger festzulegen, muss dieser Datenträger mindestens 160 GiBs aufweisen. Bei einer Erhöhung Ihres IOPS über 3.000 erhöht sich der Preis Ihres Datenträgers.

SSD Premium v2-Durchsatz

Alle SSD Premium v2-Datenträger verfügen über einen Baselinedurchsatz von 125 MB/s, der kostenlos ist. Nach 6 GiB erhöht sich der maximale Durchsatz um 0,25 MB/s pro festgelegtem IOPS. Wenn ein Datenträger über 3.000 IOPS verfügt, beträgt der maximale Durchsatz, der festlegen werden kann, 750 MB/s. Um den Durchsatz für diesen Datenträger über 750 MB/s zu erhöhen, muss sein IOPS erhöht werden. Wenn Sie beispielsweise den IOPS auf 4.000 erhöht haben, beträgt der maximale Durchsatz, der festgelegt werden kann, 1.000. 1.200 MB/s ist der maximale Durchsatz, der für Datenträger unterstützt wird, die über 5.000 IOPS oder mehr verfügen. Bei einer Erhöhung Ihres Durchsatzes über 125 MB/s erhöht sich der Preis für Ihren Datenträger.

VM-E/A-Kappung

Nachdem Sie nun wissen, welche Datenträger in Azure verfügbar sind, müssen Sie jede Ihrer VMs mit dem richtigen Datenträgertyp abstimmen. VMs verfügen über eigene IOPS-Grenzwerte für den Speicher, die sich in Kombination mit den Datenträger-IOPS auf die Gesamtleistung der Anwendung auswirken können.

Wenn Sie die Größe der VM nicht richtig an die Speicherleistung anpassen, die eine Anwendung erfordert, wird die VM selbst zu einem Engpass.

Angenommen, Ihre Anwendung gibt eine Anforderung aus, die 15.000 IOPS erfordert. Sie haben eine Standard_D8s_v3-VM mit einem P30-Betriebssystemdatenträger und zwei SSD Premium-Datenträgern mit der P40-SKU bereitgestellt. Jeder Datenträger kann 7.500 IOPS verarbeiten und damit die Anforderungen der Anwendungen erfüllen. Für die VM selbst gilt jedoch ein maximaler Grenzwert von 12.800 IOPS. Dies ist der tatsächliche IOPS-Wert, den die Anwendung nutzen kann. Die folgende Abbildung veranschaulicht dieses Beispiel.

Diagramm der Einschränkung der Ein- und Ausgabe von VMs

Das im vorherigen Beispiel veranschaulichte Szenario wird als VM-E/A-Kappung bezeichnet. In diesem Szenario fordert die Anwendung eine Durchsatzmenge und IOPS an, die zwar vom Datenträger, aber nicht von der VM unterstützt werden.

Mithilfe der folgenden Metriken können Sie Leistungsprobleme diagnostizieren, die durch eine VM-E/A-Kappung verursacht werden:

  • Prozentsatz der von der VM beanspruchten zwischengespeicherten IOPS
  • Prozentsatz der von der VM beanspruchten zwischengespeicherten Bandbreite
  • Prozentsatz der von der VM beanspruchten nicht zwischengespeicherten IOPS
  • Prozentsatz der von der VM beanspruchten nicht zwischengespeicherten Bandbreite

Datenträger-E/A-Kappung

Möglicherweise treffen Sie noch auf weitere Situationen, in denen die Speicherlösung die Anwendungsanforderungen nicht erfüllt. Der Engpass kann jedoch auch durch eine falsche Leistungsstufe für die Datenträger verursacht werden.

Sehen Sie sich dasselbe Beispiel, in dem die Anwendung 15.000 IOPS von der VM anfordert, noch einmal an. Diesmal wählen Sie das folgende Setup aus:

  • Standard_D16s_v4 mit 25.600 IOPS
  • P20-Betriebssystemdatenträger mit 2.300 IOPS
  • Zwei P30-Datenträger, die jeweils 5.000 IOPS unterstützen

In diesem Szenario wird der Bedarf der Anwendung in drei verschiedene Anforderungen aufgeteilt:

  • Vom Betriebssystemdatenträger werden 2.300 IOPS angefordert.
  • Von jedem Datenträger werden 5.000 IOPS angefordert.

Der Wert der gesamten IOPS, die die VM an die Anwendung zurückgibt, ist 12.300 – die Summe der IOPS, die von den Betriebssystemdatenträgern und Datenträgern bereitgestellt werden.

Dieses Szenario wird als Datenträger-E/A-Kappung bezeichnet, da der Datenträger selbst die Anwendungsanforderungen nicht erfüllen kann.

Diagramm der Kappung der Datenträgereingabe und -ausgabe

Verwenden Sie zum Diagnostizieren der Datenträger-E/A-Kappung die folgenden Metriken:

  • Beanspruchte Datenträger-IOPS in Prozent
  • Beanspruchte Datenträgerbandbreite in Prozent
  • Beanspruchte Betriebssystemdatenträger-IOPS in Prozent
  • Beanspruchte Betriebssystem-Datenträgerbandbreite in Prozent

Datenträgerzwischenspeicherung

Ein Cache ist eine spezielle Komponente, die Daten in der Regel im Arbeitsspeicher speichert, damit die Anwendung schneller darauf zugreifen kann. Die Daten in einem Cache sind oft Daten, die zuvor gelesen wurden oder das Ergebnis einer früheren Berechnung sind. Das Ziel ist, dass Anwendungen schneller auf Daten aus dem Cache als vom Datenträger zugreifen können. Die Datenträgerzwischenspeicherung ist auf Ultra-Datenträgern und SSD Premium v2 nicht verfügbar.

Zum Zwischenspeichern wird ein spezieller und unter Umständen teurer temporärer Speicher verwendet, der eine höhere Lese- und Schreibleistung als ein dauerhafter Speicher aufweist. Da dieser Cachespeicher häufig begrenzt ist, müssen Sie entscheiden, für welche Datenvorgänge das Zwischenspeichern am sinnvollsten ist. Aber auch wenn der Cache z. B. in Azure in hohem Maße verfügbar gemacht werden kann, ist es dennoch wichtig, die Workloadmuster der einzelnen Datenträger zu kennen, bevor Sie entscheiden, welcher Cachetyp verwendet werden soll.

Das Caching von Lesevorgängen soll den Datenabruf beschleunigen. Anstatt aus dem dauerhaften Speicher liest die Anwendung die Daten aus dem schnelleren Cache.

Sie sollten unbedingt beachten, dass das Zwischenspeichern von Lesevorgängen hilfreich ist, wenn eine gewisse Vorhersagbarkeit der gelesenen Warteschlange gegeben ist, beispielsweise bei mehreren sequenziellen Lesevorgängen. Bei zufälligen E/A-Vorgängen, bei denen die Daten, auf die Sie zugreifen, über den ganzen Speicher verteilt sind, bietet das Zwischenspeichern wenige oder gar keine Vorteile und kann sogar die Datenträgerleistung beeinträchtigen.

Durch das Caching von Schreibvorgängen wird versucht, das Schreiben von Daten in den dauerhaften Speicher zu beschleunigen. Wenn Sie einen Schreibcache verwenden, kann die App die zu speichernden Daten berücksichtigen.

In der Praxis werden Daten bei Verwendung eines Schreibcaches in die Warteschlange des Caches eingereiht, in der sie auf das Schreiben auf einen Datenträger warten. Wie Sie sich vorstellen können, kann dieser Mechanismus eine potenzielle Fehlerquelle darstellen, wenn z.B. das System heruntergefahren wird, bevor die zwischengespeicherten Daten geschrieben werden. Einige Systeme wie z. B. SQL Server regeln das Schreiben zwischengespeicherter Daten in den permanenten Datenträgerspeicher selbst.

Grenzwerte für zwischengespeicherte und nicht zwischengespeicherte Daten für VMs

Nun wissen Sie, wie das Zwischenspeichern die Leistung beim Lesen oder Schreiben von Daten auf dem Datenträger verbessern kann. Als Nächstes befassen wir uns damit, wie sich das Zwischenspeichern auf die VM-Leistung auswirken kann.

Die Leistung der VM hängt von den Grenzwerten für IOPS und Durchsatz ab, die auf der Größe der VM basieren. Für alle VMs der Dienstebene Premium gelten basierend auf Konfigurationen mit und ohne Cache unterschiedliche Grenzwerte für IOPS und Durchsatz. Sie können die Leistung einer VM verbessern, um eine höhere Nachfrage nach IOPS und Durchsatz zu erfüllen, indem Sie das Zwischenspeichern auf dem VM-Host aktivieren.

In der folgenden Tabelle sind Beispiele aufgeführt, die den Leistungsunterschied beim Datenträgerdurchsatz und der Bandbreite mit und ohne Cache veranschaulichen.

Name der VM-Größe Maximaler Durchsatz (Cache und temporärer Speicher): IOPS/MB/s (Cachegröße in GiB) Maximaler Durchsatz des Datenträgers ohne Cache: IOPS/MB/s
Standard_D2s_v3 4.000/32 (50) 3.200/48
Standard_D4s_v3 8.000/64 (100) 6.400/96
Standard_D8s_v3 16.000/128 (200) 12.800/192
Standard_D64s_v3 128.000/1.024 (1.600) 80.000/1.200

Die Hostzwischenspeicherung kann dazu beitragen, Szenarien mit VM-Engpässen zu vermeiden.

Im früheren Beispiel zur VM-E/A-Kappung benötigte die Anwendung 15.000 IOPS. Beide Datenträger können diesen Bedarf zwar verarbeiten, aber die Standard_D8s_v3-VM kann ohne Cache nur 12.800 IOPS bereitstellen.

Wenn Sie die Hostzwischenspeicherung auf der Standard_D8s_v3-VM konfigurieren, können Sie über den Cache 16.000 IOPS erzielen. Dies ist mehr, als von der Anwendung gefordert sind.