Neste documento, descrevemos como comparar o desempenho do disco permanente em instâncias de máquina virtual (VM) do Windows. Para VMs do Linux, consulte Comparar o desempenho do disco permanente em uma VM do Linux.
Para medir IOPS e capacidade de um disco em uso em uma instância em execução, compare o sistema de arquivos com a configuração pretendida. Use essa opção para testar uma carga de trabalho realista sem perder o conteúdo do disco existente. Observação: quando você compara os sistemas de arquivos em um disco já existente, há muitos fatores específicos para seu ambiente de desenvolvimento que podem afetar os resultados do comparativo de mercado, e talvez você não atinja os limites de desempenho do disco.
Para medir o desempenho bruto de um disco permanente, faça comparações diretas com o dispositivo em bloco. Use essa opção para comparar o desempenho do disco bruto com os limites de desempenho do disco.
Nas VMs C4, o Windows oferece suporte a uma profundidade máxima de 1.024 por fila de envio de dispositivos. Quando uma fila é preenchida, o Windows deixa de enviar E/S até que a fila seja parcialmente drenada, o que representa reduzir o desempenho. Para evitar o acionamento dessa condição, recomendamos limitar as cargas de trabalho de comparação de mercado a uma profundidade de fila agregada de 1.024 por volume anexado.
Configurar o software de comparação
Para comparar o desempenho do disco permanente em VMs do Windows, use DISKSPD
.
Abra o PowerShell e faça o download da 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
Comparar as IOPS e a capacidade de um disco em uma instância de VM em execução
Se você quiser medir as IOPS e a capacidade de processamento de 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-o com um novo diretório nos sistemas de arquivos que já existem.
Nas etapas a seguir, pressupomos que o disco a ser testado esteja montado como D:
e que os
comandos sejam executados em uma janela elevada do Prompt de comando:
Verifique a configuração de software
DISKSPD
e mude 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 a capacidade de processamento para gravação realizando gravações sequenciais com vários streams 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 as 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 a capacidade de leitura executando leituras sequenciais com vários streams 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 as IOPS de leitura executando 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%
Limpeza:
del %TESTFILE%
Comparação do desempenho do disco permanente bruto
Para medir o desempenho dos volumes do Persistent Disk sozinhos fora do ambiente de desenvolvimento, teste o desempenho de leitura e gravação de um dispositivo de bloco em um disco permanente descartável e VM.
Adicione um disco permanente à instância da VM que você pretende comparar.
Verifique a configuração de software
DISKSPD
e mude 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ê quer comparar.
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
Saia do diskpart:
DISKPART> exit
Repita as etapas anteriores se o disco que você pretende comparar tiver outras partições além da partição reservada. Quando apenas a partição reservada permanecer, continue com as seguintes etapas:
Depois de identificar o disco e verificar se não há partições, defina a variável de ambiente
TESTDRIVE
como '#' seguido pelo número do disco a ser testado.C:/> set TESTDRIVE=#1
Teste a capacidade de processamento para gravação realizando gravações sequenciais com vários streams paralelos (16 ou mias), 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 as 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. Durante o teste da latência de E/S, é importante que a VM não alcance o limite de largura de banda ou de IOPS. Caso contrário, a latência de E/S real do disco permanente não será refletida.
diskspd -d60 -b4K -o4 -Sh -r -w0 -L %TESTDRIVE%
Teste a capacidade de leitura executando leituras sequenciais com vários streams 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 as IOPS de leitura executando 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 conseguir uma medição de latência realista. A VM não pode atingir limites de IOPS ou de capacidade durante esse teste porque, depois que o disco permanente atingir o limite de saturação, ele retornará as operações de E/S de entrada, e isso é refletido como um aumento artificial 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 descartável e a VM:
- Exclua o disco usado para comparar o desempenho.
- Exclua a VM criada para a comparação do desempenho.
A seguir
- Saiba como monitorar o desempenho do disco analisando as métricas de desempenho do disco permanente.
- Saiba mais sobre preços de discos permanentes
- Saiba como otimizar o desempenho do Persistent Disk.