Monitorando o uso do disco

O Microsoft SQL Server usa chamadas de entrada/saída (E/S) do sistema operacional Microsoft Windows para realizar operações de leitura e gravação no disco. O SQL Server gerencia quando e como é realizada E/S no disco, mas o sistema operacional Windows executa as operações de E/S subjacentes. O subsistema de E/S compreende o barramento do sistema, as placas do controlador de disco, os discos, as unidades de fita, a unidade de CD-ROM e vários outros dispositivos de E/S. E/S no disco é, muitas vezes, a causa de afunilamentos em um sistema.

Monitorar a atividade de disco envolve duas áreas de foco:

  • Monitorar E/S no disco e detectar paginação excessiva

  • Isolar a atividade de disco criada pelo SQL Server

Monitorar E/S no disco e detectar paginação excessiva

Estes dois contadores podem ser monitorados para determinar a atividade de disco:

  • Disco Físico: % tempo de disco

  • Disco Físico: Comprimento médio da fila de disco

No Monitor do Sistema, o contador Disco Físico: % tempo de disco monitora a porcentagem de tempo que o disco fica ocupado com atividade de leitura/gravação. Se o contador Disco Físico: % tempo de discoestiver alto (mais de 90 por cento), verifique o contador Disco Físico: Comprimento da fila de disco atual para observar quantas solicitações do sistema estão aguardando acesso ao disco. O número de solicitações de E/S em espera deve sustentar-se em, no máximo, 1,5 a 2 vezes o número de fusos que constituem o disco físico. A maioria dos discos têm um fuso, embora dispositivos de matriz redundante de disco independente (RAID) tenham, normalmente, mais de um fuso. Um dispositivo de hardware RAID aparece como um disco físico no Monitor do Sistema. Dispositivos RAID criados através de software aparecem como várias instâncias no Monitor do Sistema.

Use os valores dos contadores Comprimento da fila de disco atual e % tempo de disco para detectar afunilamentos no subsistema de disco. Se os valores dos contadores Comprimento da fila de disco atual e % tempo de disco estiverem consistentemente altos, considere tomar uma destas medidas:

  • Usar uma unidade de disco mais rápida.

  • Mover alguns arquivos para um disco ou servidor adicional.

  • Adicionar discos a uma matriz RAID, se houver.

Se você estiver usando um dispositivo RAID, o contador % tempo de discopoderá indicar um valor maior que 100 por cento. Nesse caso, use o contador Disco Físico: Comprimento médio da fila de disco para determinar quantas solicitações do sistema, em média, estão aguardando acesso ao disco.

Aplicativos e sistemas associados por E/S podem manter o disco constantemente ativo.

Monitore o contador Memória: Falhas de página/segundo para ter certeza de que a atividade no disco não é provocada por paginação. No Windows, a paginação é causada por:

  • Processos configurados para usar muita memória.

  • Atividade do sistema de arquivos.

Se houver mais de uma partição lógica no mesmo disco rígido, use os contadores de Disco Lógico, em lugar de Disco Físico. Observe os contadores de disco lógico como auxílio para determinar quais arquivos são acessados com mais freqüência. Após localizar os discos com maiores níveis de atividade de leitura/gravação, observe os contadores específicos de leitura e gravação para saber o tipo de atividade de disco que está provocando a carga em cada volume lógico; por exemplo, Disco Lógico: Bytes de gravação de disco/s.

Isolando a atividade de disco criada pelo SQL Server

Esses dois contadores podem ser monitorados para determinar a quantidade de E/S gerada por componentes do SQL Server:

  • SQL Server:Gerenciador de Buffer:Leituras de página/s

  • SQL Server:Gerenciador de Buffer:Gravações de página/s

No Monitor do Sistema, estes contadores monitoram a quantidade de E/S gerada por componentes do SQL Server, examinando as seguintes áreas de desempenho:

  • Gravação de páginas no disco

  • Leitura de páginas do disco

Se os valores destes contadores se aproximarem do limite da capacidade do subsistema de E/S do hardware, tente diminuí-los ajustando seu aplicativo ou banco de dados de modo a reduzir operações de E/S (como cobertura do índice, índices melhores ou normalização), aumentando a capacidade do hardware ou adicionando memória. Por exemplo, você pode usar o Orientador de Otimização do Mecanismo de Banco de Dados para analisar as cargas de trabalho típicas do SQL Server e produzir recomendações para índices, exibições de índice e particionamento que melhorem o desempenho do servidor. Para obter mais informações sobre o Orientador de Otimização do Mecanismo de Banco de Dados, consulte Ajustando o design do banco de dados físico.