Performance Counter: Subsistema de Discos

Os administradores de storages estão constantemente tentando maximizar o desempenho de acesso ao disco e problemas podem ser o resultado de qualquer coisa a partir de um componente configurado incorretamente até uma volume de carga extramamente grande. E aqui entra, na minha visão, a “briga” entre o DBA e o Administrator de Storage mas essa é uma historia longa. Voltando ao assunto, os bancos de dados estão armazenados em discos (ou pelo menos até a chegada do SQL Server 2014, o recurso de IN-Memory OLT, conhecido tambem por HEKATON, passa a armazenas dados em memoria) que ao contrário da memória RAM, são mídias não-voláteis.

Utilização de Disco

A utilização do recurso de disco pode ser medida através de:

  • Operações de I/O por segundo (IOPS) – Número de operações realizadas por segundo
  • Taxa de Transferência (Throughput) – Quantidade de dados (em Megabytes) transferidos

Os contadores utilizados para medir as informações são:

Logical Disk: Disk Reads/sec e Disk Write/sec – São respectivamente ao número de operações de leitura e escrita realizadas realizadas no volume ou disco. Valores abaixo de 100 IOPS são considerados baixos.
Logical Disk: Avg. Disk Read Bytes/Sec e Avg. Disk Write Bytes/Sec – Taxas de transferência para escrita e leitura no subsistema de disco. Valores abaixo de 20MB são considerados baixos.

TotalIOPSGráfico 1 – Total de IOPS

O gráfico 1 mostra o consumo de IO do subsistema de disco, onde a utilização maxima chega perto dos 20 mil IOPS. Também é possivel notar que a maior concentração na utilização do subsistema de disco para leitura, visto que a gravação de dados consome pouco recurso.

DiscoThroughput

Figura 2 – Total de Throughput

Tempo de Resposta

Podemos definir latência ou tempo tempo de resposta como: uma medida de dealy(tempo de atraso) desde o momento de uma requisição de IO é criado, até ao momento em que a requisição de IO é completada.

Através de indicadores abaixo é possível dimensionar o impacto da utilização do subsistema de disco.

Logical Disk: Avg. Disk sec/Read e Avg. Disk sec/Write – É o tempo médio gasto em leitura e escrita de uma operação de I/O no disco. Esse indicador corresponde ao tempo de resposta do disco, sendo recomendado valores inferiores a 0.020 – equivalente a 20 milissegundos.

Logical Disk: Current Disk Queue Lenght – Informa a fila de cada volume ou disco. O valor ideal da fila de disco é zero, porém, existe uma tolerância de até 2 operações de I/O por disco físico.

DiscoTempoResposta

Gráfico 3 – Tempo de Resposta

O gráfico 3 mostra que a fila de disco está alta porém o tempo de resposta do subsistema de disco nao ultrapassa 8 milisegundos ou 0.08. Nesse caso o enfileiramento de disco não está atrapalhando o tempo de resposta de IO.

Referências:

Windows Performance Monitor Disk Counters Explained

http://blogs.technet.com/b/askcore/archive/2012/03/16/windows-performance-monitor-disk-counters-explained.aspx

Measuring Disk Latency with Windows Performance Monitor (Perfmon)

http://blogs.technet.com/b/askcore/archive/2012/02/07/measuring-disk-latency-with-windows-performance-monitor-perfmon.aspx

Maníaco, entusiasta, fascinado, fanático por SQL Server e nas horas vagas um DBA que adora o que faz! Também possui certificações como: MCT, MCSE - Data Management and Analystics, MCSE - Data Plataform e MCSA - SQL Server 2016/2014/2012

Responda