Este documento descreve como avaliar o desempenho do disco permanente em instâncias de máquina virtual (VM) do Windows. Para VMs Linux, consulte avaliação de desempenho do disco permanente em uma VM Linux .
Para medir o IOPS e a taxa de transferência de um disco em uso em uma instância em execução , compare o sistema de arquivos com a configuração pretendida. Use esta opção para testar uma carga de trabalho realista sem perder o conteúdo do disco existente. Observe que quando você compara o sistema de arquivos em um disco existente, há muitos fatores específicos do seu ambiente de desenvolvimento que podem afetar os resultados do benchmarking e você pode não atingir os limites de desempenho do disco .
Para medir o desempenho bruto de um disco permanente , compare o dispositivo de bloco diretamente. Use esta opção para comparar o desempenho bruto do disco com os limites de desempenho do disco.
Em VMs C4 , o Windows oferece suporte a uma profundidade máxima de 1.024 por fila de envio de dispositivo. Quando uma fila é preenchida, o Windows para de enviar E/S até que a fila seja parcialmente drenada, o que reduz significativamente o desempenho. Para evitar o acionamento desta condição, recomendamos limitar as cargas de trabalho de benchmarking a uma profundidade de fila agregada de 1.024 por volume anexado.
Configurar software de benchmarking
Para avaliar o desempenho do disco permanente em VMs do Windows, use DISKSPD
.
Abra o Powershell e baixe a ferramenta
DISKSPD
usando o seguinte comando:$client = New-Object System.Net.WebClient $client.DownloadFile("https://github.com/Microsoft/diskspd/releases/latest/download/DiskSpd.zip","$env:temp\DiskSpd-download.zip") Expand-Archive -LiteralPath "$env:temp\DiskSpd-download.zip" C:\DISKSPD Get-ChildItem C:\DISKSPD
Compare IOPS e taxa de transferência de um disco em uma instância de VM em execução
Para medir o IOPS e a taxa de transferência para uma carga de trabalho realista em um disco ativo em uma instância de VM em execução sem perder o conteúdo do disco, compare com um novo diretório no sistema de arquivos existente.
Nas etapas a seguir, suponha que o disco a ser testado esteja montado como D:
e os comandos sejam executados em uma janela do Prompt de Comando (cmd.exe) que possui privilégios de administrador:
Verifique a configuração do software
DISKSPD
e altere o diretório para o binário de 64 bits:cd C:\DISKSPD\amd64
Crie um novo arquivo de 10 GB chamado
DISKTEST.DAT
no disco:set TESTFILE=D:\DISKTEST.DAT diskspd -d0 -c10G %TESTFILE%
Teste o rendimento de gravação executando gravações sequenciais com vários fluxos paralelos (16 ou mais), usando um tamanho de bloco de E/S de 1 MB e uma profundidade de E/S de pelo menos 64:
diskspd -d60 -b1M -o64 -Sh -w100 -t16 -si %TESTFILE%
Teste IOPS de gravação executando gravações aleatórias, usando um tamanho de bloco de E/S de 4 KB e uma profundidade de E/S de pelo menos 256:
diskspd -d60 -b4K -o256 -Sh -w100 -r %TESTFILE%
Teste o rendimento de leitura realizando leituras sequenciais com vários fluxos paralelos (16 ou mais), usando um tamanho de bloco de E/S de 1 MB e uma profundidade de E/S de pelo menos 64:
diskspd -d60 -b1M -o64 -Sh -t16 -si %TESTFILE%
Teste IOPS de leitura realizando leituras aleatórias, usando um tamanho de bloco de E/S de 4 KB e uma profundidade de E/S de pelo menos 256:
diskspd -d60 -b4K -o256 -Sh -r %TESTFILE%
Limpar:
del %TESTFILE%
Comparação de desempenho bruto do disco permanente
Para medir o desempenho dos volumes de disco permanente fora do seu ambiente de desenvolvimento, teste o desempenho de leitura e gravação de um dispositivo de bloco em um disco permanente e uma VM descartáveis.
Adicione um disco permanente à instância de VM que você pretende avaliar.
Verifique a configuração do software
DISKSPD
e altere o diretório para o binário de 64 bits:cd C:\DISKSPD\amd64
Verifique se não há partições não reservadas no disco. Digite
diskpart
em uma janela elevada do prompt de comando .diskpart
Liste os discos anexados à VM:
DISKPART> list disk
A saída mostra o disco de 1 TB recém-criado, que é o Disco 1 no exemplo de saída a seguir:
Disk ### Status Size Free Dyn Gpt -------- ------------- ------- ------- --- --- Disk 0 Online 120 GB 1024 KB * Disk 1 Online 1024 GB 1023 GB *
Selecione o disco que você pretende avaliar.
DISKPART> select disk 1
Liste as partições no disco selecionado.
DISKPART> list partition
Partition ### Type Size Offset ------------- ---------------- -------- ------- Partition 1 Reserved 15 MB 17 KB Partition 2 Primary 1024 GB 16 MB
Selecione a partição primária 2:
DISKPART> select partition 2
Exclua a partição selecionada:
DISKPART> delete partition
Sair do diskpart
DISKPART> exit
As etapas anteriores devem ser repetidas se o disco que você pretende avaliar tiver outras partições além da partição reservada. Quando resta apenas a partição reservada, continue com as etapas a seguir:
Depois de identificar o disco e verificar se não há partições, defina a variável de ambiente
TESTDRIVE
como '#' seguida do número do disco a ser testado.C:/> set TESTDRIVE=#1
Teste o rendimento de gravação executando gravações sequenciais com vários fluxos paralelos (16 ou mais), usando um tamanho de bloco de E/S de 1 MB e uma profundidade de E/S de pelo menos 64:
diskspd -d60 -b1M -o64 -Sh -t16 -si -w0 %TESTDRIVE%
Teste IOPS de gravação executando gravações aleatórias, usando um tamanho de bloco de E/S de 4 KB e uma profundidade de E/S de pelo menos 256:
diskspd -d60 -b4K -o256 -Sh -r -w0 %TESTDRIVE%
Teste a latência de gravação. Ao testar a latência de E/S, a VM não deve atingir a largura de banda máxima ou IOPS; caso contrário, a latência observada não refletirá a latência real de E/S do disco permanente.
diskspd -d60 -b4K -o4 -Sh -r -w0 -L %TESTDRIVE%
Teste o rendimento de leitura realizando leituras sequenciais com vários fluxos paralelos (16 ou mais), usando um tamanho de bloco de E/S de 1 MB e uma profundidade de E/S de pelo menos 64:
diskspd -d60 -b1M -o64 -Sh -t16 -si %TESTDRIVE%
Teste IOPS de leitura realizando leituras aleatórias, usando um tamanho de bloco de E/S de 4 KB e uma profundidade de E/S de pelo menos 256:
diskspd -d60 -b4K -o256 -Sh -r %TESTDRIVE%
Para testar a latência de leitura, é importante preencher o disco com dados para obter uma medição de latência realista. A VM não deve atingir IOPS ou limites de taxa de transferência durante esse teste porque, depois que o disco permanente atinge seu limite de saturação, ele atrasa as operações de E/S de entrada, e isso se reflete como um aumento artificial na latência de E/S.
diskspd -d60 -b4K -o4 -Sh -r -L %TESTDRIVE%
Teste a largura de banda de leitura sequencial.
diskspd -d60 -b1M -o64 -Sh -t4 -si %TESTDRIVE%
Teste a largura de banda de gravação sequencial.
diskspd -d60 -b1M -o64 -Sh -t4 -si -w100 %TESTDRIVE%
Limpe o disco permanente e a VM descartáveis:
- Exclua o disco usado para avaliação de desempenho.
- Exclua a VM criada para avaliação de desempenho.
O que vem a seguir
- Saiba como monitorar o desempenho do disco analisando as métricas de desempenho do disco permanente .
- Saiba mais sobre os preços do disco permanente .
- Saiba como otimizar o desempenho do disco permanente .