Testempfehlungen von Leistungsbenchmarks für Azure NetApp Files
Dieser Artikel bietet Benchmarktestempfehlungen für Volumeleistung und -metriken mit Azure NetApp Files.
Übersicht
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:
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
- Servicelevel und Größe des Kapazitätspools: Premium/50 TiB
- Volumenkontingentgröße: 48 TiB
Die folgenden Beispiele zeigen die zufälligen Lese- und Schreibvorgänge in FIO.
FIO: Blockgröße 8 KB 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: Blockgröße 8 KB 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-Leistungsbenchmarks für Linux.
FIO-Beispiele für Bandbreite
Die Beispiele in diesem Abschnitt zeigen die sequenziellen Lese- und Schreibvorgänge in FIO.
FIO: Blockgröße 64 KB 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: Blockgröße 64 KB 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-Leistungsbenchmarks 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:
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:
API-Zugriff in Azure Monitor
Sie können mit REST-API-Aufrufen auf die Leistungsindikatoren für Azure NetApp Files zugreifen. Informationen zu Leistungsindikatoren für Kapazitätspools und Volumes finden Sie unter Unterstützte Metriken mit Azure Monitor: Microsoft.NetApp/netAppAccounts/capacityPools/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