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

This is Tiago Balabuch's website, and this is a bit of copy about him. He is enthusiast, fascinated, passionate, fanatic by SQL Server and in the off-hours a Data Engineer who loves what he does and he is traveling in the cloud and surfing on the wave of the moment called Azure! Originally from Brazil and with encouragement from family and friends, Tiago moved to Europe in 2017 where lives in Ireland. In addition to being a data engineer, he is also active speaker in the SQL PASS events and keeps up to date on the key technologies and technical certifications. Tiago hold these certification MCT, MCSE - Data Management and Analystics, MCSA - SQL Server 2016/2014/2012. Simply psychedelic and manic he is just one more freak who likes SQL Server and its new features ...

Responda