azcopy bench
Executa um benchmark de desempenho carregando ou baixando dados de teste de ou para um destino especificado. Para uploads, os dados de teste são gerados automaticamente.
O comando benchmark executa o mesmo processo que 'copy', exceto que:
Em vez de exigir parâmetros de origem e destino, o benchmark leva apenas um. Este é o contêiner de blob, o Compartilhamento de Arquivos do Azure ou o sistema de arquivos do Armazenamento do Azure Data Lake que você deseja carregar ou baixar.
O parâmetro 'mode' descreve se o AzCopy deve testar uploads ou downloads de determinado destino. Valores válidos ar'e 'Upload' e 'Download'. O valor padrão é 'Upload'.
Para benchmarks de upload, a carga útil é descrita por parâmetros de linha de comando, que controlam quantos arquivos são gerados automaticamente e quão grandes eles são. O processo de geração ocorre inteiramente na memória. O disco não é usado.
Para downloads, a carga útil consiste em todos os arquivos já existentes na origem. (Veja o exemplo abaixo sobre como gerar arquivos de teste, se necessário).
Apenas alguns dos parâmetros opcionais que estão disponíveis para o comando copy são suportados.
Diagnósticos adicionais são medidos e relatados.
Para uploads, o comportamento padrão é excluir os dados transferidos no final da execução do teste. Para downloads, os dados nunca são salvos localmente.
O modo de referência irá ajustar-se automaticamente ao número de ligações TCP paralelas que fornecem o débito máximo. Ele exibirá esse número no final. Para evitar o ajuste automático, defina a variável de ambiente COPY_CONCURRENCY_VALUE para um número específico de conexões.
Todos os tipos de autenticação usuais são suportados. No entanto, a abordagem mais conveniente para o carregamento de benchmarking é normalmente criar um contêiner vazio com um token SAS e usar a autenticação SAS. (O modo de download requer que um conjunto de dados de teste esteja presente no contêiner de destino.)
azcopy bench [destination] [flags]
Exemplos
Execute um benchmark de upload com parâmetros padrão (adequado para benchmarking de redes de até 1 Gbps).
azcopy bench "https://[account].blob.core.windows.net/[container]?<SAS>"
Execute um benchmark de upload com um tamanho de bloco especificado de 2 MiB e verifique o comprimento dos arquivos após a transferência.
azcopy bench "https://[account].blob.core.windows.net/[container]?<SAS>" --block-size-mb 2 --check-length
Execute um teste de benchmark que carregue 500 arquivos. Cada arquivo tem 500 MiB de tamanho e o nível de log é definido para exibir apenas erros.
azcopy bench "https://[account].blob.core.windows.net/[container]?<SAS>" --file-count 500 --size-per-file 500M --log-level ERROR
Execute um teste de benchmark que carregue 100 arquivos. Cada ficheiro tem 2 GiB de tamanho. Isso é adequado para benchmarking em uma rede rápida (por exemplo: 10 Gbps).
azcopy bench "https://[account].blob.core.windows.net/[container]?<SAS>" --file-count 100 --size-per-file 2G
O próximo exemplo é o mesmo acima, mas com 50.000 arquivos. Cada ficheiro tem 8 MiB de tamanho. Este exemplo também calcula os hashes MD5 de cada arquivo de forma semelhante à maneira como o sinalizador --put-md5 calcula o MD5 no comando azcopy copy. O objetivo do --put-md5 quando o benchmarking é testar se a computação MD5 afeta a taxa de transferência para a contagem e o tamanho do arquivo selecionado.
azcopy bench --mode='Upload' "https://[account].blob.core.windows.net/[container]?<SAS>" --file-count 50000 --size-per-file 8M --put-md5
Execute um teste de benchmark que carrega 1000 arquivos e cria pastas para dividir os dados. Cada ficheiro tem um tamanho de 100 KiB.
azcopy bench "https://[account].blob.core.windows.net/[container]?<SAS>" --file-count 1000 --size-per-file 100K --number-of-folders 5
Execute um teste de benchmark que baixa arquivos existentes de um destino.
azcopy bench --mode='Download' "https://[account].blob.core.windows.net/[container]?<SAS?"
Execute um benchmark de download com os parâmetros padrão e limite a taxa de transferência em 500 Mbps.
azcopy bench --mode=Download "https://[account].blob.core.windows.net/[container]?<SAS>" --cap-mbps 500
Execute um upload que não exclua os arquivos transferidos. Esses arquivos podem então servir como carga útil para um teste de download.
azcopy bench "https://[account].blob.core.windows.net/[container]?<SAS>" --file-count 100 --delete-test-data=false
Opções
--blob-type string
Define o tipo de blob no destino. Usado para permitir benchmarking de diferentes tipos de blob. Idêntico ao parâmetro de mesmo nome no comando copy (padrão "Detect")
--block-size-mb float
Use este tamanho de bloco (especificado em MiB). O padrão é calculado automaticamente com base no tamanho do arquivo. Frações decimais são permitidas - por exemplo, 0,25. Idêntico ao parâmetro de mesmo nome no comando copy
--check-length
Verifique o comprimento de um arquivo no destino após a transferência. Se houver uma incompatibilidade entre origem e destino, a transferência será marcada como falha. (padrão true)
--delete-test-data
Se verdadeiro, os dados do benchmark serão excluídos no final da execução do benchmark. Defina-o como false se quiser manter os dados no destino - por exemplo, para usá-lo para testes manuais fora do modo de benchmark (padrão true)
--file-count
(uint) número de ficheiros de dados gerados automaticamente a utilizar (predefinição 100)
-h
, --help
ajuda para bancada
--log-level
(string) define a verbosidade do log para o arquivo de log, níveis disponíveis: INFO(todas as solicitações/respostas), WARNING(respostas lentas), ERROR(somente solicitações com falha) e NONE(sem logs de saída). (padrão "INFO")
--mode
(string) Define se o Azcopy deve testar uploads ou downloads desse destino. Os valores válidos são 'upload' e 'download'. A opção padrão é 'upload'. (padrão "upload")
--number-of-folders
(uint) Se maior que 0, crie pastas para dividir os dados.
--put-blob-size-mb
Use esse tamanho (especificado em MiB) como um limite para determinar se um blob deve ser carregado como uma única solicitação PUT ao carregar no Armazenamento do Azure. O valor padrão é calculado automaticamente com base no tamanho do arquivo. Frações decimais são permitidas (Por exemplo: 0,25).
--put-md5
Crie um hash MD5 de cada arquivo e salve o hash como a propriedade Content-MD5 do blob/arquivo de destino. (Por padrão, o hash NÃO é criado.) Idêntico ao parâmetro de mesmo nome no comando copy
--size-per-file
(string) Tamanho de cada arquivo de dados gerado automaticamente. Deve ser um número imediatamente seguido por K, M ou G. Por exemplo, 12k ou 200G (padrão "250M")
Opções herdadas dos comandos pai
--cap-mbps
(flutuar) Limita a taxa de transferência, em megabits por segundo. A taxa de transferência momento a momento pode variar ligeiramente do limite. Se essa opção estiver definida como zero ou for omitida, a taxa de transferência não será limitada.
--output-type
(string) Formato da saída do comando. As opções incluem: texto, json. O valor padrão é 'text'. (padrão "texto")
--trusted-microsoft-suffixes
(string) Especifica sufixos de domínio adicionais para onde os tokens de login do Microsoft Entra podem ser enviados. O padrão é '.core.windows.net;. core.chinacloudapi.cn;. core.cloudapi.de;. core.usgovcloudapi.net;*.storage.azure.net'. Qualquer listado aqui é adicionado ao padrão. Por segurança, você só deve colocar domínios do Microsoft Azure aqui. Separe várias entradas com ponto-e-vírgula.