azcopy bench
지정된 대상에 테스트 데이터를 업로드하거나 지정된 대상에서 테스트 데이터를 다운로드하여 성능 벤치마크를 실행합니다. 업로드의 경우 테스트 데이터가 자동으로 생성됩니다.
벤치마크 명령은 다음 사항을 제외하고는 ‘복사’와 동일한 프로세스를 실행합니다.
벤치마크는 원본 및 대상 매개 변수를 둘 다 사용하는 것이 아니라 하나만 사용합니다. 업로드하거나 다운로드하려는 Blob 컨테이너, Azure Files 공유 또는 Azure Data Lake Storage 파일 시스템입니다.
‘mode’ 매개 변수는 AzCopy가 지정된 대상에서 업로드를 테스트해야 하는지 다운로드를 테스트해야 하는지 설명합니다. 유효한 값은 ‘Upload’ 및 ‘Download’입니다. 기본값은 'Upload'입니다.
업로드 벤치마크의 경우 자동으로 생성되는 파일의 수와 파일의 크기를 제어하는 명령줄 매개 변수를 통해 페이로드가 설명됩니다. 생성 프로세스는 전적으로 메모리에서 수행됩니다. 디스크가 사용되지 않습니다.
다운로드의 경우 페이로드는 원본에 이미 존재하는 파일로 구성됩니다. (필요한 경우 테스트 파일을 생성하는 방법에 대한 아래 예제를 참조하세요.)
복사 명령에 사용할 수 있는 몇 가지 선택적 매개 변수만 지원됩니다.
추가 진단이 측정되고 보고됩니다.
업로드의 경우 기본 동작은 테스트 실행이 끝날 때 전송된 데이터를 삭제하는 것입니다. 다운로드의 경우 데이터가 로컬에 실제로 저장되지 않습니다.
벤치마크 모드에서는 최대 처리량을 제공하는 병렬 TCP 연결 수에 맞게 자동으로 튜닝됩니다. 끝에는 해당 숫자가 표시됩니다. 자동 튜닝을 방지하려면 COPY_CONCURRENCY_VALUE 환경 변수를 특정 연결 수로 설정합니다.
모든 일반적인 인증 유형이 지원됩니다. 그러나 업로드를 벤치마킹하는 가장 편리한 방법은 일반적으로 SAS 토큰을 사용하여 빈 컨테이너를 만들고 SAS 인증을 사용하는 것입니다. (다운로드 모드를 사용하려면 테스트 데이터 집합이 대상 컨테이너에 있어야 합니다.)
azcopy bench [destination] [flags]
예제
기본 매개 변수를 사용하여 업로드 벤치마크를 실행합니다(최대 1Gbps의 네트워크를 벤치마킹하는 데 적합).
azcopy bench "https://[account].blob.core.windows.net/[container]?<SAS>"
지정된 블록 크기가 2MiB인 업로드 벤치마크를 실행하고 전송 후 파일 길이를 확인합니다.
azcopy bench "https://[account].blob.core.windows.net/[container]?<SAS>" --block-size-mb 2 --check-length
500개의 파일을 업로드하는 벤치마크 테스트를 실행합니다. 각 파일의 크기는 500MiB이며 로그 수준은 오류만 표시하도록 설정됩니다.
azcopy bench "https://[account].blob.core.windows.net/[container]?<SAS>" --file-count 500 --size-per-file 500M --log-level ERROR
100개의 파일을 업로드하는 벤치마크 테스트를 실행합니다. 각 파일의 크기는 2GiB입니다. 빠른 네트워크에서 벤치마킹하는 데 적합합니다(예: 10Gbps).
azcopy bench "https://[account].blob.core.windows.net/[container]?<SAS>" --file-count 100 --size-per-file 2G
다음 예제는 위와 동일하지만 파일은 50,000개입니다. 각 파일 크기는 8MiB입니다. 또한 이 예제에서는 --put-md5 플래그가 azcopy copy 명령에서 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개의 파일을 업로드하고 폴더를 만들어 데이터를 나누는 벤치마크 테스트를 실행합니다. 각 파일의 크기는 100KiB입니다.
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?"
기본 매개 변수를 사용하여 다운로드 벤치마크를 실행하고 전송 속도를 500Mbps로 제한합니다.
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 형식을 벤치마킹할 수 있도록 하는 데 사용됩니다. 복사 명령에 있는 같은 이름의 매개 변수와 동일합니다(기본값 “Detect”).
--block-size-mb float
는 이 블록 크기를 사용합니다(MiB로 지정됨). 기본값은 파일 크기에 따라 자동으로 계산됩니다. 소수 자릿수(예: 0.25)가 허용됩니다. 복사 명령에 있는 같은 이름의 매개 변수와 동일합니다.
--check-length
전송 후 대상의 파일 길이를 확인합니다. 원본과 대상이 일치하지 않는 경우 전송이 실패한 것으로 표시됩니다. (기본값 true)
--delete-test-data
true이면 벤치마크 실행이 끝나면 벤치마크 데이터가 삭제됩니다. 데이터를 대상에 유지하려는 경우, 예를 들어 벤치마크 모드 이외의 모드에서 수동 테스트에 사용하려는 경우 false로 설정하세요(기본값: true).
--file-count
(unit) 사용하려는 자동 생성된 데이터 파일 수입니다(기본값: 100).
-h
, --help
벤치에 대한 도움말
--log-level
(문자열) 로그 파일의 로그 세부 정보 표시 수준을 정의합니다. 사용할 수 있는 수준으로는 INFO(모든 요청/응답), WARNING(느린 응답), ERROR(실패한 요청만), NONE(출력 로그 없음)이 있습니다. (기본값 "INFO")
--mode
(문자열) Azcopy가 이 대상에서 업로드를 테스트해야 하는지 다운로드를 테스트해야 하는지 정의합니다. 유효한 값은 'upload' 및 'download'입니다. 기본값은 'upload'입니다. (기본값 “upload”)
--number-of-folders
(uint) 0보다 큰 경우 폴더를 만들어 데이터를 나눕니다.
--put-blob-size-mb
이 크기(MiB에 지정됨)를 임계값으로 사용하여 Azure Storage에 업로드할 때 Blob을 단일 PUT 요청으로 업로드할지 여부를 결정합니다. 기본값은 파일 크기에 따라 자동으로 계산됩니다. 소수 자릿수가 허용됩니다(예: 0.25).
--put-md5
각 파일의 MD5 해시를 만들고 해시를 대상 Blob/파일의 Content-MD5 속성으로 저장합니다. (기본적으로 해시를 만들지 않습니다.) 복사 명령에 있는 같은 이름의 매개 변수와 동일합니다.
--size-per-file
(문자열) 자동 생성된 각 데이터 파일의 크기입니다. 바로 뒤에 K, M 또는 G(예: 12k 또는 200G)가 나와야 합니다(기본값 “250M”).
부모 명령에서 상속된 옵션
--cap-mbps
(float) 전송 속도를 제한합니다(Mbps). 순간별 처리량은 한도와 약간 다를 수 있습니다. 이 옵션이 0으로 설정되거나 생략되는 경우 처리량이 제한되지 않습니다.
--output-type
(string) 명령 출력의 형식입니다. text, json 등을 선택할 수 있습니다. 기본값은 'text'입니다. (기본 "text")
--trusted-microsoft-suffixes
(string) Microsoft Entra 로그인 토큰을 보낼 수 있는 추가 도메인 접미사를 지정합니다. 기본값은 ‘.core.windows.net;.core.chinacloudapi.cn;.core.cloudapi.de;.core.usgovcloudapi.net;*.storage.azure.net’입니다. 여기에 나열된 모든 항목이 기본값에 추가됩니다. 보안을 위해 Microsoft Azure 도메인만 여기에 배치해야 합니다. 여러 항목을 세미콜론으로 구분합니다.