DiscoSpd
DiskSpd é uma ferramenta de desempenho de armazenamento das equipes de engenharia de infraestrutura do Windows, Windows Server e Cloud Server da Microsoft. Visite https://github.com/Microsoft/diskspd/wiki para obter documentação atualizada.
Além da ferramenta em si, este repositório hospeda estruturas de medição que utilizam DiskSpd. O exemplo inicial é o VM Fleet, usado para ambientes Windows Server Hyper-Converged com Storage Spaces Direct.
Este projeto adotou o Código de Conduta de Código Aberto da Microsoft. Para obter mais informações, consulte as Perguntas frequentes sobre o Código de Conduta ou entre em contato com [email protected] com perguntas ou comentários adicionais.
Lançamentos
A página Releases inclui binários pré-compilados (ZIP) e código-fonte para as versões mais atuais da ferramenta DiskSpd. A atualização mais recente do DiskSpd sempre pode ser baixada em https://github.com/Microsoft/diskspd/releases/latest/download/DiskSpd.zip (também conhecido como https://aka.ms/getdiskspd).
O que há de novo?
DISKSPD
DISKSPD 2.2 03/06/2024
NOTA: alterações no loop de E/S assíncrono exigirão resultados de rebaselining com profundidades de fila maiores que 1. O novo design drena a fila de conclusão de forma mais agressiva, diminuindo atrasos que impactavam a medição de latência, especialmente em armazenamento mais rápido visando profundidades de fila mais altas. A medição de latência é melhorada com um custo muito pequeno para as taxas, além de melhorar as taxas quando a medição de latência não é usada ( -D
ou -L
) devido à retirada da fila do lote.
Tamanhos de E/S menores sofrerão mais alterações.
- Novo: Socket, NUMA, Core e classe de eficiência de energia (núcleos grandes/pequenos) adicionados aos relatórios de topologia do processador (XML e saída de texto)
- elementos de topologia exibidos apenas em resultados de texto quando > 1 estão presentes (por exemplo, sistemas multi-socket)
- A numeração da CPU permanece relativa ao grupo, assim como a nova numeração do Core
- A classe de eficiência energética mais alta é marcada com um sufixo
P
(geralmente será 1P
v. 0
) - NOTA : as classes de eficiência podem ter grande impacto; o trabalho em sistemas heterogêneos deve estar ciente das propriedades principais em combinação com regras de afinidade de thread (consulte
-a
e -n
)
- Novo: relatórios de esquema de energia ativa
- Novo: a chave de deslocamento do alvo base agora permite a especificação de intervalo:
-Bbase[:length]
; substitui -B
e -f
- processamento de histograma de latência pós-execução agora significativamente mais rápido
- a saída detalhada é mais consistente; inclui aquecimento real, intervalos medidos e de resfriamento versus esperado
A versão binária oferece suporte até Windows 8 e Windows Server 2012; agora usa o CRT Universal.
DISKSPD 2.1 01/07/2021
- Novo formato
-gi
que permite a especificação do limite de rendimento em unidades de IOPS (por tamanho de bloco especificado) - Novo
-rs
para especificar operação mista aleatória/sequencial (pct random); distribuição geométrica de comprimentos de corrida - Novo
-rd
para especificar distribuições de E/S não uniformes no destino-
pct
por percentual alvo -
abs
por deslocamento absoluto
- Novo
-Rp
para mostrar o conjunto de parâmetros especificado no formulário de saída do perfil indicado; funciona com perfis XML -X e linha de comando convencional - Os resultados/perfis XML agora são recuados para facilitar a revisão
- Atualizações de saída de resultados de texto
- agora mostra valores em unidades de tamanho (K/M/G e agora TiB) com duas casas decimais
- o passo da linha não é mais mostrado, a menos que seja especificado
- -F/-O parâmetros do conjunto de threads mostrados
- Perfis XML agora podem ser construídos de forma mais genérica
- Perfis XML podem ser declarados em termos de nomes de destino modelados (*1, *2), substituídos na ordem da invocação da linha de comando
- a linha de comando agora permite opções ao lado de -X: -v, -z, -R e -W/-d/-C junto com especificações de destino do modelo
DISKSPD 2.0.21a 21/09/2018
- Adicionado suporte para E/S mapeada em memória:
- Nova opção
-Sm
para ativar E/S mapeada na memória - Nova opção
-N
para especificar opções de liberação para E/S mapeada em memória
- Adicionado suporte para fornecer eventos de rastreamento de eventos para Windows (ETW)
- Incluído um perfil Windows Performance Recorder (WPR) para habilitar o rastreamento ETW
- Adicionadas informações do sistema à saída do ResultParser
DISKSPD 2.0.20a 28/02/2018
- Mudanças que podem exigir nova linha de base dos resultados:
- Novo gerador de números aleatórios que pode mostrar uma diminuição observável no custo
- Mudou para buffers alinhados de 512 bytes com a opção
-Z
para aumentar o desempenho
- Nova opção
-O
para especificar o número de solicitações de E/S pendentes por thread - Nova opção
-Zr
para randomização por IO do conteúdo do buffer de gravação - XML: Adiciona um novo elemento
para suportar esquemas de ponderação de destino - Estatísticas aprimoradas capturadas de dados IOPS
- Adicionado suporte para validação de perfis XML usando um XSD integrado
- Adicionado suporte para lidar com volumes RAW
- Estatísticas de CPU atualizadas para funcionar em sistemas com > 64 núcleos
- Cálculo atualizado e precisão das estatísticas da CPU
- Reativar o suporte para estatísticas ETW
DISKSPD 2.0.18a 31/05/2016
- atualizar
/?
exemplo para usar -Sh
v. obsoleto -h
- corrigir operação em volumes em mídia particionada GPT (:)
- corrigir a dica de prioridade de IO para o alinhamento adequado da pilha (se não for de 8 bytes, falhará)
- use a notação iB para esclarecer que a saída do resultado do texto está em unidades 2^n (KiB/MiB/GiB)
DISKSPD 2.0.17a 01/05/2016
-
-S
é expandido para controlar a gravação independente do cache do sistema operacional/software. Entre outras coisas, isso permite que a gravação em buffer seja especificada ( -Sbw
). - XML: adiciona um novo elemento
para especificar write-through - XML:
não é mais emitido (embora ainda seja analisado), em favor de
e
- Saída de texto: o cache do sistema operacional/software e o estado de gravação agora são documentados separadamente (linhas adjacentes)
- O histograma de latência agora reporta 9 noves (uma parte em um bilhão) tanto na saída de texto quanto em XML
- Mensagem de erro adicionada por falha ao abrir o arquivo de origem do conteúdo de gravação (
-Z,
)
Frota de VMs
VM Fleet é uma estrutura de análise e caracterização de desempenho para explorar os recursos de armazenamento de ambientes hiperconvergentes do Windows Server com Storage Spaces Direct.
Frota VM 2.1.0.0 03/04/2024
- Suporte para gerenciamento Arc VM (aplicável apenas a clusters gerenciados pelo Arc)
-
Set-FleetRunProfileScript
- produza um script de execução livre com base em um dos perfis de carga de trabalho definidos -
Watch-FleetCPU
– novo suporte para monitoramento da utilização de VCPUs convidados (-Guest); pode lidar com interrupções de dados - Correção: o tratamento do contador de desempenho agora gerencia quedas intermitentes de dados (por relog.exe convencional)
- Correção: a verificação de integridade da VM no meio da execução agora lida com a possibilidade de muitas VMs levarem mais tempo do que o tempo de execução pretendido para serem validadas; saída antecipada para evitar falsas falhas
- Correção: ignore a indicação necessária de reinicialização da camada de cache ao alterar o comportamento do cache; evitar falsas falhas
Frota VM 2.0.2.2 01/12/2021
- Correção do problema de comunicação remota do cluster durante o trabalho da New-Fleet causado pelo trabalho da versão 2.0.2.1
- Use o registro com registro de data e hora no New-Fleet, simplifique e descolora a saída padrão
Frota VM 2.0.2.1 09/11/2021
- Corrigir problemas de comunicação remota de cluster em Move-Fleet e Get-FleetDataDiskEstimate
- Corrija problema de tempo com Start-FleetSweep; sempre comece da pausa da frota para evitar o acionamento da corrida livre
- Use exclusividade para garantir o perfil de execução do Start-FleetSweep em caso de repetição
Frota VM 2.0.2 02/11/2021
- Operação de host do Windows Server 2019/RS5 agora confirmada e suportada
- O aquecimento do cache de leitura para sistemas com capacidade de HDD agora deve ser mais rápido
Set-FleetPause
aguardará as respostas da VM antes da conclusão por padrão (consulte -Timeout)
Várias pequenas correções, incluindo:
- Desabilitar o Console de Recuperação do Windows em VMs da frota
- Correção: a visualização
Show-Fleet
IOPS agora agrega todos os dispositivos de disco da VM - Correção: limpe coletores de dados vazados/conflitantes e blg automaticamente
Frota VM 2.0 22/09/2021
- versão principal e reescrita como um módulo Powershell de primeira classe
- A frota de VM baseada em script original permanece disponível em Frameworks/VMFleet1.0
- veja a documentação no Wiki
Código Fonte
O código-fonte do DiskSpd está hospedado no GitHub em:
https://github.com/Microsoft/diskspd
Quaisquer problemas com o DiskSpd podem ser relatados usando o seguinte link:
https://github.com/Microsoft/diskspd/issues