Testempfehlungen von Leistungsbenchmarks für Azure NetApp Files

Dieser Artikel bietet Benchmarktestempfehlungen für Volumeleistung und -metriken mit Azure NetApp Files.

Überblick

Um die Leistungsmerkmale eines Azure NetApp Files-Volumes zu verstehen, können Sie mit dem Open-Source-Tool FIO eine Reihe von Benchmarktests ausführen, um verschiedene Workloads zu simulieren. FIO kann sowohl auf Linux- als auch auf Windows-basierten Betriebssystemen installiert werden. Dieses hervorragende Tool bietet sowohl über IOPS als auch Durchsatz eines Volumes einen schnellen Überblick.

Wichtig

Es wird nicht empfohlen, Azure NetApp Files mit dem Hilfsprogramm dd als Baseline-Benchmarktool zu verwenden. Sie sollten eine tatsächliche Anwendungsworkload, Workloadsimulation, Benchmarktests und Analysetools (z. B. Oracle AWR mit Oracle oder das IBM-Äquivalent für DB2) verwenden, um eine optimale Infrastrukturleistung zu erzielen und analysieren zu können. Tools wie FIO, vdbench und iometer dienen zur Bestimmung der Speichergrenzwerte von VMs. Sie vergleichen die Parameter des Tests mit den tatsächlichen kombinierten Anwendungsworkloads, um hilfreiche Ergebnisse zu erzielen. Es ist jedoch immer am besten, mit der tatsächlichen Anwendung zu testen.

Dimensionierung einer VM-Instanz

Um die besten Ergebnisse zu erzielen, stellen Sie sicher, dass Sie eine VM-Instanz (virtueller Computer) verwenden, die für die Durchführung der Tests angemessen dimensioniert ist. Die folgenden Beispiele verwenden eine Standard_D32s_v3-Instanz. Weitere Informationen zu VM-Instanzengrößen finden Sie für Windows-basierte virtuelle Computer unter Größen für virtuelle Windows-Computer in Azure und für virtuelle Linux-Computer unter Größen für virtuelle Linux-Computer in Azure.

Volumegrößenanpassung in Azure NetApp Files

Wählen Sie unbedingt den richtigen Servicelevel und die richtige Volumekontingentgröße für die erwartete Leistungsstufe aus. Unter Dienstebenen für Azure NetApp Files finden Sie weitere Informationen.

Empfehlungen für virtuelle Netzwerke (VNET)

Sie sollten die Benchmarktests im gleichen VNET ausführen, in dem Sie Azure NetApp Files einsetzen. Im folgenden Beispiel wird die Empfehlung veranschaulicht:

VNet recommendations

Tools für das Leistungsbenchmarking

Dieser Abschnitt enthält Einzelheiten über einige Benchmarking-Tools.

SSB

SQL Storage Benchmark (SSB) ist ein in Python geschriebenes Open-Source-Benchmark-Tool. Es wurde entwickelt, um eine "reale" Arbeitslast zu erzeugen, die die Datenbankinteraktion so emuliert, dass die Leistung des Speichersubsystems gemessen werden kann.

Der Absicht von SSB ist es, Organisationen und Einzelpersonen die Möglichkeit zu geben, die Leistung ihres Speichersubsystems unter der Belastung einer SQL-Datenbankarbeitslast zu messen.

Einbau von SSB

Folgen Sie dem Abschnitt Erste Schritte in der SSB README-Datei, um die Installation für die Plattform Ihrer Wahl durchzuführen.

FIO

Flexible I/O Tester (FIO) ist ein freies und quelloffenes Festplatten-E/A-Tool, das sowohl für Benchmarks als auch für Stress-/Hardwareüberprüfungen verwendet wird.

FIO ist im Binärformat für Linux und Windows verfügbar.

Installation von FIO

Folgen Sie dem Abschnitt Binärpakete in der README-Datei FIO zur Installation für die Plattform Ihrer Wahl.

FIO-Beispiele für IOPS

Für die FIO-Beispiele in diesem Abschnitt wird folgendes Setup verwendet:

  • VM-Instanzgröße: D32s_v3
  • Kapazitätspool service level and size: Premium / 50 TiB
  • Volumenkontingentgröße: 48 TiB

Die folgenden Beispiele zeigen die zufälligen Lese- und Schreibvorgänge in FIO.

FIO: 8k Blockgröße 100 % zufällige Lesevorgänge

fio --name=8krandomreads --rw=randread --direct=1 --ioengine=libaio --bs=8k --numjobs=4 --iodepth=128 --size=4G --runtime=600 --group_reporting

FIO: 8k Blockgröße 100 % zufällige Schreibvorgänge

fio --name=8krandomwrites --rw=randwrite --direct=1 --ioengine=libaio --bs=8k --numjobs=4 --iodepth=128 --size=4G --runtime=600 --group_reporting

Ergebnisse von Vergleichstests

Offizielle Benchmarkergebnisse für die Leistung von FIO in Azure NetApp Files finden Sie unter Azure NetApp Files Performance Benchmarks für Linux.

FIO-Beispiele für Bandbreite

Die Beispiele in diesem Abschnitt zeigen die sequenziellen Lese- und Schreibvorgänge in FIO.

FIO: 64k Blockgröße 100 % sequenzielle Lesevorgänge

fio --name=64kseqreads --rw=read --direct=1 --ioengine=libaio --bs=64k --numjobs=4 --iodepth=128 --size=4G --runtime=600 --group_reporting

FIO: 64k Blockgröße 100 % sequenzielle Schreibvorgänge

fio --name=64kseqwrites --rw=write --direct=1 --ioengine=libaio --bs=64k --numjobs=4 --iodepth=128 --size=4G --runtime=600 --group_reporting

Ergebnisse von Vergleichstests

Offizielle Benchmarkergebnisse für die Leistung von FIO in Azure NetApp Files finden Sie unter Azure NetApp Files Performance Benchmarks für Linux.

Volumemetriken

Azure NetApp Files-Leistungsdaten sind über Azure Monitor-Leistungsindikatoren verfügbar. Die Leistungsindikatoren stehen über das Azure-Portal und REST-API-GET-Anforderungen zur Verfügung.

Sie können Verlaufsdaten für die folgenden Informationen anzeigen:

  • Durchschnittliche Wartezeit beim Lesevorgang
  • Durchschnittliche Wartezeit beim Schreibvorgang
  • Lese-IOPS (Durchschnitt)
  • Schreib-IOPS (Durchschnitt)
  • Logische Größe des Volumes (Durchschnitt)
  • Momentaufnahmengröße des Volumes (Durchschnitt)

Verwenden von Azure Monitor

Sie können auf der Seite „Metriken“ wie unten dargestellt auf Volumebasis auf die Azure NetApp Files-Leistungsindikatoren zugreifen:

Azure Monitor metrics

Sie können auch in Azure Monitor ein Dashboard für Azure NetApp Files erstellen, indem Sie auf der Seite „Metriken“ nach NetApp filtern und die gewünschten Volumeleistungsindikatoren angeben:

Azure Monitor dashboard

API-Zugriff in Azure Monitor

Sie können mit REST-API-Aufrufen auf die Leistungsindikatoren für Azure NetApp Files zugreifen. Siehe Unterstützte Metriken mit Azure Monitor: Microsoft.NetApp/netAppAccounts/capacityPools/Volumes für Leistungsindikatoren für Kapazitätspools und Volumes.

Das folgende Beispiel zeigt eine GET-URL zur Anzeige der Größe logischer Volumes:

#get ANF volume usage
curl -X GET -H "Authorization: Bearer TOKENGOESHERE" -H "Content-Type: application/json" https://management.azure.com/subscriptions/SUBIDGOESHERE/resourceGroups/RESOURCEGROUPGOESHERE/providers/Microsoft.NetApp/netAppAccounts/ANFACCOUNTGOESHERE/capacityPools/ANFPOOLGOESHERE/Volumes/ANFVOLUMEGOESHERE/providers/microsoft.insights/metrics?api-version=2018-01-01&metricnames=VolumeLogicalSize

Nächste Schritte