In diesem Dokument wird beschrieben, wie Sie die Leistung nichtflüchtiger Speicher auf Windows-VM-Instanzen vergleichen. Informationen zu Linux-VMs finden Sie unter Leistung von Persistent Disk auf einer Linux-VM vergleichen.
Zum Messen von IOPS und Durchsatz eines Laufwerks, das auf einer laufenden Instanz verwendet wird, führen Sie ein Benchmarking des Dateisystems mit der gewünschten Konfiguration durch. Mit dieser Option können Sie eine realistische Arbeitslast testen, ohne den Inhalt des vorhandenen Laufwerks zu verlieren. Beachten Sie, dass beim Benchmarking des Dateisystems auf einem vorhandenen Laufwerk viele für Ihre Entwicklungsumgebung spezifische Faktoren die Benchmarking-Ergebnisse beeinflussen können und die Leistungsgrenzen des Laufwerks möglicherweise nicht erreicht werden.
Zum Messen der reinen Leistung eines nichtflüchtigen Speichers führen Sie ein direktes Benchmarking des Blockgeräts durch. Verwenden Sie diese Option, um die reine Leistung des Laufwerks mit den Leistungsgrenzen des Laufwerks zu vergleichen.
Auf C4-VMs unterstützt Windows eine maximale Tiefe von 1.024 Elementen pro Geräteeinreichungswarteschlange. Wenn eine Warteschlange gefüllt ist, sendet Windows keine E/A-Vorgänge mehr, bis die Warteschlange teilweise entleert ist. Dadurch wird die Leistung erheblich reduziert. Um diese Situation zu vermeiden, empfehlen wir, die Benchmarking-Arbeitslasten auf eine Gesamtwarteschlangentiefe von 1.024 pro angeschlossenem Volume zu begrenzen.
Benchmarkingsoftware konfigurieren
Verwenden Sie DISKSPD
, um die Leistung von Persistent Disk auf Windows-VMs zu vergleichen.
Öffnen Sie Powershell und laden Sie das
DISKSPD
-Tool mit dem folgenden Befehl herunter:$client = New-Object System.Net.WebClient $client.DownloadFile("https://github.com/Microsoft/diskspd/releases/latest/download/DiskSpd.zip","$env:temp\DiskSpd-download.zip") Expand-Archive -LiteralPath "$env:temp\DiskSpd-download.zip" C:\DISKSPD Get-ChildItem C:\DISKSPD
Benchmarking von IOPS und Durchsatz eines Laufwerks auf einer laufenden VM-Instanz
Wenn Sie IOPS und Durchsatz für eine realistische Arbeitslast auf einem aktiven Laufwerk auf einer laufenden VM-Instanz messen möchten, ohne den Inhalt des Laufwerks zu verlieren, führen Sie ein Benchmarking mit einem neuen Verzeichnis im vorhandenen Dateisystem durch.
In den folgenden Schritten wird davon ausgegangen, dass das zu testende Laufwerk als D:
bereitgestellt wird und die Befehle in einem Eingabeaufforderungsfenster mit erhöhten Rechten ausgeführt werden:
Prüfen Sie die Softwarekonfiguration
DISKSPD
und ändern Sie das Verzeichnis auf die 64-Bit-Binärdatei:cd C:\DISKSPD\amd64
Erstellen Sie eine neue 10-GB-Datei mit dem Namen
DISKTEST.DAT
auf dem Laufwerk:set TESTFILE=D:\DISKTEST.DAT diskspd -d0 -c10G %TESTFILE%
Testen Sie den Schreibdurchsatz mithilfe sequenzieller Schreibvorgänge mit mehreren parallelen Streams (mindestens 16) mit einer E/A-Blockgröße von 1 MB und einer E/A-Tiefe von mindestens 64:
diskspd -d60 -b1M -o64 -Sh -w100 -t16 -si %TESTFILE%
Testen Sie die Schreib-IOPS mithilfe zufälliger Schreibvorgänge mit einer E/A-Blockgröße von 4 KB und einer E/A-Tiefe von mindestens 256:
diskspd -d60 -b4K -o256 -Sh -w100 -r %TESTFILE%
Testen Sie den Lesedurchsatz mithilfe sequenzieller Lesevorgänge mit mehreren parallelen Streams (mindestens 16) mit einer E/A-Blockgröße von 1 MB und einer E/A-Tiefe von mindestens 64:
diskspd -d60 -b1M -o64 -Sh -t16 -si %TESTFILE%
Testen Sie die Lese-IOPS mithilfe zufälliger Lesevorgänge mit einer E/A-Blockgröße von 4 KB und einer E/A-Tiefe von mindestens 256:
diskspd -d60 -b4K -o256 -Sh -r %TESTFILE%
Bereinigen:
del %TESTFILE%
Benchmarking der reinen Leistung nichtflüchtiger Speicher
Wenn Sie die Leistung von Persistent Disk-Volumes allein außerhalb Ihrer Entwicklungsumgebung messen möchten, testen Sie die Lese- und Schreibleistung für ein Blockgerät auf einem nichtflüchtigen Wegwerf-Speicher und einer Wegwerf-VM.
Fügen Sie der VM-Instanz einen nichtflüchtigen Speicher hinzu, für den Sie ein Benchmarking durchführen möchten.
Prüfe die Softwarekonfiguration von
DISKSPD
und ändere das Verzeichnis in das 64-Bit-Binärprogramm:cd C:\DISKSPD\amd64
Prüfen Sie, ob sich auf dem Laufwerk keine nicht reservierten Partitionen befinden. Geben Sie
diskpart
in ein Eingabeaufforderungsfenster mit erhöhten Rechten ein.diskpart
Listen Sie die an die VM angehängten Laufwerke auf:
DISKPART> list disk
Die Ausgabe zeigt in der folgenden Beispielausgabe das neu erstellte 1-TB-Laufwerk, also Laufwerk 1:
Disk ### Status Size Free Dyn Gpt -------- ------------- ------- ------- --- --- Disk 0 Online 120 GB 1024 KB * Disk 1 Online 1024 GB 1023 GB *
Wählen Sie das Laufwerk aus, das Sie vergleichen möchten.
DISKPART> select disk 1
Listen Sie die Partitionen auf dem ausgewählten Laufwerk auf.
DISKPART> list partition
Partition ### Type Size Offset ------------- ---------------- -------- ------- Partition 1 Reserved 15 MB 17 KB Partition 2 Primary 1024 GB 16 MB
Wählen Sie die primäre Partition 2 aus:
DISKPART> select partition 2
Löschen Sie die ausgewählte Partition:
DISKPART> delete partition
Beenden Sie DiskPart
DISKPART> exit
Die vorherigen Schritte sollten wiederholt werden, wenn das Laufwerk, für das Sie ein Benchmarking durchführen möchten, andere Partitionen als die reservierte Partition hat. Wenn nur die reservierte Partition bleibt, fahren Sie mit den folgenden Schritten fort:
Nachdem Sie das Laufwerk ermittelt und geprüft haben, dass keine Partitionen vorhanden sind, setzen Sie die Umgebungsvariable
TESTDRIVE
auf "#", gefolgt von der Nummer des zu testenden Laufwerks.C:/> set TESTDRIVE=#1
Testen Sie den Schreibdurchsatz mithilfe sequenzieller Schreibvorgänge mit mehreren parallelen Streams (mindestens 16) mit einer E/A-Blockgröße von 1 MB und einer E/A-Tiefe von mindestens 64:
diskspd -d60 -b1M -o64 -Sh -t16 -si -w0 %TESTDRIVE%
Testen Sie die Schreib-IOPS mithilfe zufälliger Schreibvorgänge mit einer E/A-Blockgröße von 4 KB und einer E/A-Tiefe von mindestens 256:
diskspd -d60 -b4K -o256 -Sh -r -w0 %TESTDRIVE%
Testen Sie die Schreiblatenz. Beim Test der E/A-Latenz darf die VM nicht das Bandbreiten- oder IOPS-Limit erreichen. Andernfalls spiegelt die Latenz nicht die tatsächliche E/A-Latenz des nichtflüchtigen Speichers wider.
diskspd -d60 -b4K -o4 -Sh -r -w0 -L %TESTDRIVE%
Testen Sie den Lesedurchsatz mithilfe sequenzieller Lesevorgänge mit mehreren parallelen Streams (mindestens 16) mit einer E/A-Blockgröße von 1 MB und einer E/A-Tiefe von mindestens 64:
diskspd -d60 -b1M -o64 -Sh -t16 -si %TESTDRIVE%
Testen Sie die Lese-IOPS mithilfe zufälliger Lesevorgänge mit einer E/A-Blockgröße von 4 KB und einer E/A-Tiefe von mindestens 256:
diskspd -d60 -b4K -o256 -Sh -r %TESTDRIVE%
Zum Testen der Leselatenz ist es wichtig, den Speicher mit Daten zu füllen, um eine realistische Latenzmessung zu erhalten. Die VM darf während dieses Tests keine IOPS- oder Durchsatzlimits erreichen. Erreicht der Persistent Disk die Sättigungsgrenze, so werden eingehende E/A-Vorgänge verzögert, was sich in einem künstlichen Anstieg der E/A-Latenz widerspiegelt.
diskspd -d60 -b4K -o4 -Sh -r -L %TESTDRIVE%
Testen Sie die sequenzielle Lesebandbreite.
diskspd -d60 -b1M -o64 -Sh -t4 -si %TESTDRIVE%
Testen Sie die sequenzielle Schreibbandbreite.
diskspd -d60 -b1M -o64 -Sh -t4 -si -w100 %TESTDRIVE%
Bereinigen Sie Persistent Disk und die VM:
- Löschen Sie das Laufwerk, das zum Benchmarking der Leistung verwendet wird.
- Löschen Sie die VM, die zum Benchmarking der Leistung erstellt wurde.
Nächste Schritte
- Leistung von Laufwerken prüfen Erfahren Sie, wie Sie Ihre Laufwerksleistung überwachen können, indem Sie die Messwerte zu nichtflüchtigen Speichern prüfen.
- Preise für nichtflüchtigen Speicher
- Leistung von nichtflüchtigen Speichern optimieren