Como testar os discos rígidos no seu PC ou servidor
Qual dos seus discos rígidos é o mais rápido e é realmente tão rápido quanto o fabricante prometeu? Quer você tenha um PC de mesa ou um servidor, o utilitário gratuito Diskspd da Microsoft enfatizará o teste e o benchmark de seus discos rígidos.
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, portanto, atualizamos este guia com novas instruções.
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 do 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 exigentes) em um PC de mesa..
Como exemplo, vamos supor que temos três unidades em um servidor: uma unidade F, uma unidade G e uma unidade C. Se tivermos o nosso MDF na unidade F, o LDF na unidade G e o nosso SO na nossa unidade C, podemos avaliar se a nossa configuração é eficaz. Por exemplo, se o arquivo MDF for o arquivo mais ocupado com a maioria das leituras e gravações, queremos que ele esteja na unidade mais rápida.
Usando o exemplo acima com os gráficos (representando as gravações e leituras para o sistema operacional, LDF e MDF), colocaríamos nosso arquivo MDF no disco mais rápido, já que nosso MDF é o mais movimentado. Se nossa análise de Diskspd mostrasse que F era nosso disco mais rápido, nós colocaríamos nosso arquivo MDF na unidade F.
Onde baixar o Diskspd
A Microsoft oferece esta excelente ferramenta gratuitamente, e você pode baixá-la do Microsoft Technet. É até open source, 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 baixá-lo, 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 Windows de 64 bits, enquanto o da pasta “x86fre” é para PCs Windows de 32 bits. Se você está usando uma versão de 64 bits do Windows, e provavelmente você está, provavelmente vai querer 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: \ caminho \ para \ diskspd \ amd64fre
No nosso caso, parecia o comando abaixo.
Agora, execute o comando Diskspd com as opções que você deseja usar. Você encontrará uma lista completa de opções de linha de comando e informações de uso no arquivo DiskSpd_Documentation.pdf de 30 páginas incluído no arquivo Diskspd que você baixou.
No entanto, se você quiser começar a trabalhar rapidamente, aqui está um exemplo de comando. O seguinte comando 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), usa duas solicitações IO por thread (- o2) e quatro encadeamentos (-t4) por destino, usa acesso aleatório em vez de gravação sequencial (-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, você especificaria d: \ testfile.dat
Diskspd.exe -b16K-d90 -Sh -L -o2 -t4 -r -w30-c50M c: \ testfile.dat
Depois de tanto tempo que você especificar-30 segundos no teste acima, os resultados do teste serão impressos para o prompt de comando e você pode visualizá-los.
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 quando se compara 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..
Você também pode descarregar os resultados para um arquivo de texto que você pode ver mais tarde com o operador>. Por exemplo, o comando abaixo executa o mesmo comando acima e coloca os resultados no arquivo C: \ testresults.txt.
Diskspd.exe -b16K-d90 -Sh -L -o2 -t4 -r -w30-c50M c: \ testfile.dat> c: \ testresults.txt
Repita este processo para as outras unidades e compare.
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 for um servidor que só 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 é 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 vem com 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 o comutador -w ou digitar -w0 executará operações de gravação de 0% e, portanto, operações de leitura de 100%.
- -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 que é lido ou escrito 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 denota o número de solicitações pendentes por thread, 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.