azcopy bench

Executa um parâmetro de comparação de desempenho com o upload ou o download dos dados de teste de um destino especificado. Para uploads, os dados de teste são gerados automaticamente.

O comando benchmark executa o mesmo processo do que "copy", exceto que:

  • Em vez de exigir os parâmetros de origem e de destino, o parâmetro benchmark usa apenas um. Esse é o contêiner de blob, o Compartilhamento de Arquivos do Azure ou o sistema de arquivos do Azure Data Lake Storage do qual você deseja carregar ou baixar.

  • O parâmetro "mode" descreve se AzCopy deve testar uploads ou downloads de um determinado destino. Os valores válidos são "Upload" e "Download". O valor padrão é "Upload".

  • Para os parâmetros de comparação de upload, a carga é descrita pelos parâmetros de linha de comando, que controlam quantos arquivos são gerados automaticamente e tamanho deles. O processo de geração ocorre inteiramente na memória. O disco não é usado.

  • Para downloads, a carga consiste em qualquer arquivo que já exista na origem. (Veja o exemplo abaixo sobre como gerar arquivos de teste, se necessário).

  • Só há suporte para alguns dos parâmetros opcionais disponíveis para o comando de cópia.

  • Diagnósticos adicionais são medidos e relatados.

  • Para carregamentos, o comportamento padrão é excluir os dados transferidos no final da execução de teste. Para downloads, os dados nunca são de fato salvos localmente.

O modo de parâmetro de comparação se ajustará automaticamente ao número de conexões TCP paralelas que fornece a taxa de transferência máxima. Ele exibirá esse número no final. Para evitar o ajuste automático, defina a variável de ambiente COPY_CONCURRENCY_VALUE como um número específico de conexões.

Todos os tipos autenticação usuais têm suporte. No entanto, a abordagem mais conveniente para upload de parâmetro de comparação 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 carrega 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 carrega 100 arquivos. Cada arquivo 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 arquivo 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 de --put-md5 durante 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 arquivo tem 100 KiB de tamanho.

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 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 o parâmetro de comparação de diferentes tipos de blobs. Idêntico ao parâmetro de mesmo nome no comando de cópia (padrão, "Detect")

--block-size-mb float Use esse 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 de cópia

--check-length Verifica o comprimento de um arquivo no destino após a transferência. Se houver incompatibilidade entre a origem e o destino, a transferência será marcada como falha. (padrão true)

--delete-test-data Se for verdadeiro, os dados de parâmetro de comparação serão excluídos no final da execução do parâmetro de comparação. Defina como false se quiser manter os dados no destino, por exemplo, para usá-los para testes manuais fora do modo de parâmetro de comparação (padrão, true)

--file-count (unidade) número de arquivos de dados gerados automaticamente a serem usados (padrão, 100)

-h, --help ajuda para o banco

--log-level (cadeia de caracteres) define o detalhamento do arquivo de log, com os níveis disponíveis: INFORMAÇÕES (todas as solicitações/respostas), AVISO (respostas lentas), ERRO (somente solicitações com falha) e NENHUM (sem logs de saída). (padrão "INFO")

--mode (cadeia de caracteres) Define se 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) Caso seja maior que 0, criar 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 de cópia

--size-per-file (cadeia de caracteres) 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 de comandos pai

--cap-mbps (float) Limita a taxa de transferência, em megabits por segundo. A taxa de transferência por minuto pode variar um pouco do limite. Caso essa opção esteja definida como zero ou omitida, a taxa de transferência não tem limite.

--output-type (cadeia de caracteres) Formato da saída do comando. As opções incluem: text, JSON. O valor padrão é "texto". (padrão “text”)

--trusted-microsoft-suffixes (cadeia de caracteres) Especifica sufixos de domínio adicionais para onde os tokens de logon do Microsoft Entra podem ser enviados. O padrão é “.core.windows.net;.core.chinacloudapi.cn;.core.cloudapi.de;.core.usgovcloudapi.net;*.storage.azure.net”. Todos listados aqui são adicionados ao padrão. Por segurança, você deve colocar apenas domínios do Microsoft Azure aqui. Separar várias entradas com ponto e vírgula.

Confira também