azcopy bench
指定したコピー先との間でテスト データをアップロードまたはダウンロードすることで、パフォーマンス ベンチマークを実行します。 アップロードの場合、テスト データは自動的に生成されます。
ベンチマーク コマンドでは、以下を除き、"copy" と同じプロセスが実行されます。
コピー元とコピー先の両方のパラメーターを必要とするのではなく、ベンチマークでは 1 つだけを受け取ります。 これは、アップロード先またはダウンロード元にする BLOB コンテナー、Azure Files 共有、または Azure Data Lake Storage Gen2 ファイル システムです。
"mode" パラメーターは、指定されたターゲットに対して AzCopy がアップロードとダウンロードのどちらをテストする必要があるかを示します。 有効な値は、"Upload" と "Download" です。 既定値は "Upload" です。
アップロード ベンチマークの場合、ペイロードは、自動生成されるファイルの数とサイズを制御するコマンド ライン パラメーターによって記述されます。 生成プロセスは、すべてメモリ内で行われます。 ディスクは使用されません。
ダウンロードの場合、ペイロードは、ダウンロード元に既に存在するいずれかのファイルで構成されます。 (必要な場合は、テスト ファイルを生成する方法に関する下記の例を参照してください)。
copy コマンドで使用できるオプションのパラメーターの一部のみがサポートされています。
追加の診断が測定および報告されます。
アップロードの場合、既定の動作では、テスト実行の最後に、転送されたデータが削除されます。 ダウンロードの場合、データは実際にはローカルに一切保存されません。
ベンチマーク モードは、最大スループットを提供する並列 TCP 接続の数に自動的に調整されます。 最後にその数値が表示されます。 自動チューニングを行わないようにするには、COPY_CONCURRENCY_VALUE 環境変数を特定の数の接続に設定します。
一般的な認証の種類がすべてサポートされています。 ただし、アップロードのベンチマークを行う最も便利な方法は、一般に、SAS トークンを指定して空のコンテナーを作成し、SAS 認証を使用することです。 (ダウンロード モードでは、テスト データのセットがターゲット コンテナーに存在する必要があります。)
azcopy bench [destination] [flags]
例
既定のパラメーターを使用してアップロード ベンチマークを実行します (最大 1 Gbps のネットワークのベンチマークに適しています)。
azcopy bench "https://[account].blob.core.windows.net/[container]?<SAS>"
指定したブロック サイズが 2 MiB のアップロード ベンチマークを実行し、転送後のファイルの長さをチェックします。
azcopy bench "https://[account].blob.core.windows.net/[container]?<SAS>" --block-size-mb 2 --check-length
500 個のファイルをアップロードするベンチマーク テストを実行します。 各ファイルのサイズは 500 MiB で、ログ レベルはエラーのみを表示するように設定されています。
azcopy bench "https://[account].blob.core.windows.net/[container]?<SAS>" --file-count 500 --size-per-file 500M --log-level ERROR
100 個のファイルをアップロードするベンチマーク テストを実行します。 各ファイルのサイズは 2 GiB です。 これは、高速ネットワーク (10 Gbps など) でのベンチマークに適しています。
azcopy bench "https://[account].blob.core.windows.net/[container]?<SAS>" --file-count 100 --size-per-file 2G
次の例は上記と同じですが、50,000 個のファイルがあります。 各ファイルのサイズは 8 MiB です。 この例では、azcopy copy コマンドで --put-md5 フラグが MD5 を計算する方法と同様に、各ファイルの MD5 ハッシュも計算します。 ベンチマーク時の --put-md5 の目的は、MD5 計算が選択したファイル数とサイズのスループットに影響するかどうかをテストすることです。
azcopy bench --mode='Upload' "https://[account].blob.core.windows.net/[container]?<SAS>" --file-count 50000 --size-per-file 8M --put-md5
1000 個のファイルをアップロードし、データを分割するフォルダーを作成するベンチマーク テストを実行します。 各ファイルのサイズは 100 KiB です。
azcopy bench "https://[account].blob.core.windows.net/[container]?<SAS>" --file-count 1000 --size-per-file 100K --number-of-folders 5
ターゲットから既存のファイルをダウンロードするベンチマーク テストを実行します。
azcopy bench --mode='Download' "https://[account].blob.core.windows.net/[container]?<SAS?"
既定のパラメーターでダウンロード ベンチマークを実行し、転送速度を 500 Mbps に制限します。
azcopy bench --mode=Download "https://[account].blob.core.windows.net/[container]?<SAS>" --cap-mbps 500
転送されたファイルを削除しないアップロードを実行します。 これらのファイルは、ダウンロード テストのペイロードとして機能します。
azcopy bench "https://[account].blob.core.windows.net/[container]?<SAS>" --file-count 100 --delete-test-data=false
[オプション]
--blob-type string
コピー先の BLOB の種類を定義します。 さまざまな種類の BLOB のベンチマークを許可するために使用されます。 copy コマンドの同一の名前のパラメーターと同じです (既定値は "Detect")
--block-size-mb float
このブロック サイズ (MiB で指定) を使用します。 既定値は、ファイル サイズに基づいて自動的に計算されます。 小数を使用できます (例: 0.25)。 copy コマンドの同一の名前のパラメーターと同じです
--check-length
転送後にコピー先のファイルの長さを確認します。 コピー元とコピー先の間に不一致がある場合は、転送に失敗のマークが付けられます。 (既定値は true)
--delete-test-data
true の場合、ベンチマーク実行の最後にベンチマーク データが削除されます。 転送先でデータを保持する場合は false に設定します (既定値は true)。たとえば、ベンチマーク モード以外の手動テストに使用します
--file-count
(uint) 使用するために自動生成されるデータ ファイルの数 (既定値は 100)
-h
、--help
bench のヘルプ
--log-level
(string) ログ ファイルのログの詳細度を定義します。使用できるレベルは次のとおりです。INFO (すべての要求/応答)、WARNING (遅い応答)、ERROR (失敗した要求のみ)、NONE (出力ログなし)。 (既定値は "INFO")
--mode
(string) Azcopy で、このターゲットに対してアップロードまたはダウンロードをテストする必要があるかどうかを定義します。 有効な値は、"upload" と "download" です。 既定で設定されるオプションは "upload" です。 (既定値は "upload")
--number-of-folders
(uint) 0 より大きい場合は、データを分割するためのフォルダーを作成します。
--put-blob-size-mb
このサイズ (MiB で指定) をしきい値として使用して、Azure Storage にアップロードするときに BLOB を 1 つの PUT 要求としてアップロードするかどうかを判断します。 既定値は、ファイル サイズに基づいて自動的に計算されます。 小数を使用できます (例:0.25)。
--put-md5
各ファイルの MD5 ハッシュを作成し、ハッシュをコピー先の BLOB/ファイルの Content-MD5 プロパティとして保存します。 (既定では、ハッシュは作成されません)。copy コマンドの同一の名前のパラメーターと同じです
--size-per-file
(string) 自動生成される各データ ファイルのサイズ。 数値の直後に K、M、または G を指定する必要があります。例: 12k または 200G (既定値は "250M")
親コマンドから継承されるオプション
--cap-mbps
(float) 転送速度をメガビット/秒で制限します。 瞬間的なスループットは、上限と若干異なる場合があります。 このオプションを 0 に設定した場合や省略した場合は、スループットは制限されません。
--output-type
(string) コマンドの出力の形式。 選択肢には、text、json などがあります。 既定値は "text" です。 (既定値は "text")
--trusted-microsoft-suffixes
(文字列) Microsoft Entra ログイン トークンを送信できる追加のドメイン サフィックスを指定します。 既定値は ".core.windows.net;.core.chinacloudapi.cn;.core.cloudapi.de;.core.usgovcloudapi.net;*.storage.azure.net" です。 ここに記載されているすべてが既定値に追加されます。 セキュリティのために、Microsoft Azure のドメインのみをここに入力してください。 複数のエンティティは、セミコロンで区切ります。