azcopy bench
Führt einen Leistungsvergleichstest aus, indem Testdaten zu oder von einem bestimmten Ziel hoch- oder heruntergeladen werden. Für Uploads werden die Testdaten automatisch generiert.
Mit dem Befehl „bench“ wird derselbe Vorgang wie mit „copy“ ausgeführt. Allerdings bestehen folgende Unterschiede:
Anstatt sowohl Quell- als auch Zielparameter zu erfordern, benötigt der Vergleichstest nur einen Parameter. Dies ist der BLOB-Container, azure Files Share oder das Azure Data Lake Storage-Dateisystem, aus dem Sie hochladen oder herunterladen möchten.
Der Parameter „mode“ beschreibt, ob AzCopy Uploads oder Downloads für ein bestimmtes Ziel testen soll. Gültige Werte sind „Upload“ und „Download“. Standardwert ist „Upload“.
Für Upload-Benchmarks wird die Nutzlast durch Befehlszeilenparameter definiert, die steuern, wie viele Dateien automatisch und in welcher Größe generiert werden. Die Dateien werden vollständig im Arbeitsspeicher generiert. Datenträger wird nicht verwendet.
Bei Downloads besteht die Nutzlast aus den Dateien, die bereits an der Quelle vorhanden sind. (Informationen zum Generieren von Testdateien finden Sie bei Bedarf im nachfolgenden Beispiel).
Es werden nur einige der optionalen Parameter unterstützt, die für den Befehl „copy“ verfügbar sind.
Es werden zusätzliche Diagnosen ausgeführt und ausgegeben.
Für Uploads ist das Standardverhalten, die übertragenen Daten am Ende der Testausführung zu löschen. Für Downloads werden die Daten nie tatsächlich lokal gespeichert.
Der Vergleichstestmodus wird automatisch auf die Anzahl der parallelen TCP-Verbindungen abgestimmt, die maximalen Durchsatz gewährleisten. Die Anzahl wird am Ende angezeigt. Um die automatische Abstimmung zu verhindern, legen Sie die Umgebungsvariable COPY_CONCURRENCY_VALUE auf eine bestimmte Anzahl von Verbindungen fest.
Alle üblichen Authentifizierungstypen werden unterstützt. Der einfachste Ansatz für den Vergleichstest von Uploads besteht normalerweise jedoch darin, einen leeren Container mit einem SAS-Token zu erstellen und die SAS-Authentifizierung zu verwenden. (Der Modus „Download“ erfordert, dass ein Satz von Testdaten im Zielcontainer vorhanden ist.)
azcopy bench [destination] [flags]
Beispiele
Führen Sie einen Upload-Benchmark mit Standardparametern aus (geeignet für Benchmarking-Netzwerke bis zu 1 GBit/s).
azcopy bench "https://[account].blob.core.windows.net/[container]?<SAS>"
Führen Sie einen Upload-Benchmark mit einer angegebenen Blockgröße von 2 MiB aus, und überprüfen Sie die Länge der Dateien nach der Übertragung.
azcopy bench "https://[account].blob.core.windows.net/[container]?<SAS>" --block-size-mb 2 --check-length
Führen Sie einen Benchmarktest aus, der 500 Dateien hochlädt. Jede Datei ist 500 MiB groß, und die Protokollebene wird so festgelegt, dass nur Fehler angezeigt werden.
azcopy bench "https://[account].blob.core.windows.net/[container]?<SAS>" --file-count 500 --size-per-file 500M --log-level ERROR
Führen Sie einen Benchmarktest aus, der 100 Dateien hochlädt. Jede Datei ist 2 GiB groß. Dies eignet sich für das Benchmarking in einem schnellen Netzwerk (z. B. 10 GBit/s).
azcopy bench "https://[account].blob.core.windows.net/[container]?<SAS>" --file-count 100 --size-per-file 2G
Das nächste Beispiel ist identisch mit oben, aber mit 50.000 Dateien. Jede Datei 8 MiB in der Größe. In diesem Beispiel werden auch die MD5-Hashes jeder Datei berechnet, die der Art und Weise ähnelt, wie das Flag "--put-md5" den MD5 im Azcopy-Kopierbefehl berechnet. Der Zweck von --put-md5 beim Benchmarking besteht darin, zu testen, ob sich die MD5-Berechnung auf den Durchsatz für die ausgewählte Dateianzahl und -größe auswirkt.
azcopy bench --mode='Upload' "https://[account].blob.core.windows.net/[container]?<SAS>" --file-count 50000 --size-per-file 8M --put-md5
Führen Sie einen Benchmarktest aus, der 1000 Dateien hochlädt und Ordner erstellt, um die Daten aufzuteilen. Jede Datei ist 100 KiB groß.
azcopy bench "https://[account].blob.core.windows.net/[container]?<SAS>" --file-count 1000 --size-per-file 100K --number-of-folders 5
Führen Sie einen Benchmarktest aus, der vorhandene Dateien aus einem Ziel herunterlädt.
azcopy bench --mode='Download' "https://[account].blob.core.windows.net/[container]?<SAS?"
Führen Sie einen Download-Benchmark mit den Standardparametern aus, und legen Sie die Übertragungsrate auf 500 Mbps fest.
azcopy bench --mode=Download "https://[account].blob.core.windows.net/[container]?<SAS>" --cap-mbps 500
Ausführen eines Uploads, der die übertragenen Dateien nicht löscht Diese Dateien können dann als Nutzlast für einen Downloadtest dienen.
azcopy bench "https://[account].blob.core.windows.net/[container]?<SAS>" --file-count 100 --delete-test-data=false
Optionen
--blob-type string
definiert den Typ des Blobs auf dem Ziel. Wird verwendet, um Vergleichstests für unterschiedliche Blobtypen zu ermöglichen. Identisch mit dem gleichnamigen Parameter im Befehl „copy“ (Standardwert: „Detect“).
--block-size-mb float
legt die Blockgröße (in MiB) fest. Der Standardwert wird anhand der Dateigröße automatisch berechnet. Dezimalzahlen sind zulässig – Beispiel: 0,25 Identisch mit dem gleichnamigen Parameter im Befehl „copy“
--check-length
überprüft nach der Übertragung die Länge einer Datei am Ziel. Wenn die Quelle und das Ziel nicht übereinstimmen, wird die Übertragung als fehlerhaft gekennzeichnet. (Standardwert: „true“)
--delete-test-data
: wenn TRUE, werden die Vergleichsdaten am Ende des Vergleichstests gelöscht. Legen Sie den Wert auf „false“ fest, wenn die Daten am Ziel erhalten bleiben sollen, beispielsweise für manuelle Tests außerhalb des Vergleichstestmodus (Standardwert: „true“)
--file-count
(uint) Anzahl der zu verwendenden automatisch generierten Datendateien (standardmäßig 100)
-h
, --help
Hilfe zu Bench
--log-level
(Zeichenfolge) definiert, wie ausführlich die Protokolldatei sein soll. Verfügbare Stufen: INFO (alle Anforderungen/Antworten), WARNING (langsame Antworten), ERROR (nur fehlgeschlagene Anforderungen) und NONE (keine Ausgabeprotokolle). (Standardwert: „Info“)
--mode
(Zeichenfolge): definiert, ob AzCopy Uploads oder Downloads von diesem Ziel testen soll. Gültige Werte sind „Upload“ und „Download“. Die Standardoption ist „Upload“. (Standard „Upload“)
--number-of-folders
(uint): falls größer als 0, wird ein Ordner erstellt, um die Daten aufzuteilen.
--put-blob-size-mb
Verwenden Sie diese Größe (in MiB angegeben) als Schwellenwert, um zu bestimmen, ob ein BLOB beim Hochladen in Azure Storage als einzelne PUT-Anforderung hochgeladen werden soll. Der Standardwert wird anhand der Dateigröße automatisch berechnet. Dezimalzahlen sind zulässig (Beispiel: 0,25).
--put-md5
Dient zum Erstellen eines MD5-Hashs jeder Datei und zum Speichern des Hashs als „Content-MD5“-Eigenschaft des Zielblobs bzw. der Zieldatei. (Standardmäßig wird der Hash NICHT erstellt.) Identisch mit dem gleichnamigen Parameter im Befehl „copy“
--size-per-file
(Zeichenfolge) Die Größe jeder automatisch generierten Datendatei. Muss eine Zahl unmittelbar gefolgt von K, M oder G sein, z. B. 12k oder 200G (Standard „250M“)
Von übergeordneten Befehlen geerbte Optionen
--cap-mbps
(Gleitkomma) Begrenzt die Übertragungsrate (in Megabit pro Sekunde). Der Schritt-für-Schritt-Durchsatz kann von der Obergrenze geringfügig abweichen. Wenn diese Option auf „Null“ festgelegt oder weggelassen wird, ist der Durchsatz nicht begrenzt.
--output-type
(Zeichenfolge) – Format der Befehlsausgabe. Folgende Optionen sind verfügbar: „text“ und „json“. Der Standardwert lautet „text“. (Standardwert: „text“)
--trusted-microsoft-suffixes
(Zeichenfolge) Gibt zusätzliche Domänensuffixe an, bei denen möglicherweise Microsoft Entra-Anmeldetoken gesendet werden. Der Standardwert ist '.core.windows.net;.core.chinacloudapi.cn;.core.cloudapi.de;.core.usgovcloudapi.net;*.storage.azure.net'. Alle hier aufgelisteten Werte werden zum Standardwert hinzugefügt. Aus Sicherheitsgründen sollten Sie hier nur Microsoft Azure-Domänen platzieren. Trennen Sie mehrere E-Mail-Adressen durch Semikolons voneinander.