NOTA: Uma versão anterior deste guia explicava o uso do antigo utilitário "SQLIO" da Microsoft. No entanto, a Microsoft agora oferece apenas o utilitário "Diskspd", que substitui o SQLIO. Por isso, atualizamos este guia com instruções totalmente novas.
Por que usar o Diskspd?
Se você quiser conhecer a capacidade de IO das suas unidades, o Diskspd é uma excelente ferramenta. O Diskspd lhe dirá a capacidade máxima que um disco rígido de servidor pode suportar, ou o direciona para o disco rígido mais rápido que você deve usar para cargas de trabalho pesadas (ou apenas para jogos de computador) em um PC de mesa.
Por exemplo, suponhamos que temos três unidades em um servidor: uma unidade F, uma unidade G e uma unidade C. Se tivermos nosso MDF na unidade F, o LDF na unidade G e nosso sistema operacional na nossa unidade C, podemos avaliar se nossa configuração é eficaz. Por exemplo, se o arquivo MDF for o arquivo mais ocupado com mais leituras e gravações, queremos que ele esteja no disco mais rápido.
Onde baixar o Diskspd
A Microsoft oferece esta excelente ferramenta gratuitamente, e você pode baixá-la do Microsoft Technet. É até mesmo de código aberto, então você pode baixar e inspecionar ou modificar o código-fonte do GitHub.
O Diskspd foi testado para funcionar em versões de desktop do Windows 7, 8, 8.1, 10, bem como do Windows Server 2012, 2012 R2 e 2016 Technical Preview 5.
Depois de fazer o download, você precisará extrair o conteúdo do arquivo.zip para uma pasta no seu computador. Note que o arquivo contém três arquivos diferentes “diskspd.exe”. O da pasta “amd64fre” é para PCs com Windows de 64 bits, enquanto o da pasta “x86fre” é para PCs com Windows de 32 bits. Se você usa uma versão de 64 bits do Windows e provavelmente o usa, provavelmente desejará usar a versão de 64 bits.
Como faço um teste de estresse?
Para executar um único teste, você pode simplesmente chamar um comando Diskspd de um prompt de comando habilitado pelo administrador. No Windows 10 ou 8.1, clique com o botão direito do mouse no botão Iniciar e selecione "Prompt de comando (Admin)". No Windows 7, localize o atalho "Prompt de comando" no menu Iniciar, clique com o botão direito e selecione "Executar como administrador".
Primeiro uso
cd
para mudar para o diretório que contém o Diskspd.exe que você deseja usar:
cd c:path odiskspdamd64fre
No nosso caso, parecia o comando abaixo.
No entanto, se você quiser se posicionar rapidamente, veja um exemplo de comando. O comando a seguir define o tamanho do bloco como 16K (-b16K), executa um teste de 30 segundos (-d30), desativa o recebimento de hardware e software (-Sh), mede estatísticas de latência (-L) e usa duas solicitações IO por thread (- o2) e quatro threads (-t4) por destino, usa acesso aleatório em vez de gravação seqüencial (-r), executa 30% de operações de gravação e 70% de operações de leitura (-w30).
Ele cria um arquivo em c: testfile.dat de 50 MB de tamanho (-c50M). Se você quisesse comparar sua unidade D: por exemplo, especificaria d: testfile.dat
Diskspd.exe -b16K -d90 -Sh -L -o2 -t4 -r -w30 -c50M c: estfile.dat
Consulte os resultados e você verá a média de MB / s na unidade atingida durante o teste - quantas operações de gravação foram executadas por segundo, quantas operações de leitura foram executadas por segundo e a quantidade total de operações de entrada / saída (E / S). por segundo. Essas estatísticas são mais úteis ao comparar várias unidades para ver qual delas é mais rápido para determinadas operações, mas também informam exatamente quanto IO um disco rígido pode manipular.
Diskspd.exe -b16K -d90 -Sh -L -o2 -t4 -r -w30 -c50M c: estfile.dat > c: estresults.txt
Personalizando seu comando de teste de resistência
Se você está tentando descobrir qual é o disco rígido mais rápido para uma determinada carga de trabalho, crie um comando que corresponda melhor a essa carga de trabalho. Por exemplo, se é um servidor que apenas lê dados e não escreve, você deve realizar um teste de 100% de leituras que não medem qualquer desempenho de gravação. Execute esse teste de estresse em várias unidades e compare os resultados para ver qual deles é mais rápido para esse tipo de trabalho.
Observe que há muitas outras opções de linha de comando que você pode especificar para o Diskspd.exe. Você encontrará a lista mais completa e atualizada na documentação que acompanha o arquivo Diskspd.exe baixado, mas aqui estão algumas opções importantes:
- - W indica porcentagem de operações de gravação e leitura.Por exemplo, inserir -w40 executará 40% de operações de gravação e, portanto, 60% de operações de leitura. Digitar -w100 executará operações de gravação de 100%. Omitir a opção -w ou digitar -w0 executará 0% de operações de gravação e, portanto, 100% de operações de leitura.
- - r ou - s determina se o teste usa acesso aleatório ou operações sequenciais. Especifique -r para acesso aleatório ou -s para sequencial. Isso ajuda você a testar o acesso a arquivos aleatórios (geralmente um monte de arquivos pequenos) ou o acesso a arquivos sequenciais (geralmente um arquivo grande lido ou gravado de uma só vez).
- - t indica o número de encadeamentos que serão executados ao mesmo tempo, como -t2 para dois encadeamentos ou -t6 para seis encadeamentos.
- - o indica o número de solicitações pendentes por encadeamento, como -o4 para quatro solicitações ou -o2 para dois resultados.
- - d é a duração dos testes em segundos, como -d90 por 90 segundos ou -d120 por 120 segundos.
- - b é o tamanho do bloco das leituras ou gravações, como -b16K para um tamanho de bloco de 16K ou -b64K para um tamanho de bloco de 64K.
Usando essas opções, você pode ajustar o comando benchmark para ver como seu disco se comporta sob cargas variadas. Depois de escrever um comando que se parece com o tipo de carga de trabalho que você executa no seu PC, você pode testar várias unidades e ver qual oferece o melhor desempenho.