Monitorar e solucionar problemas de desempenho de armazenamento

Atualizado em: 2009-11-05

Este tópico lista os contadores de desempenho recomendados para monitorar o desempenho dos bancos de dados do SQL Server em execução em seu ambiente do Microsoft Office SharePoint Server 2007. Também são listados valores aproximados de integridade para cada contador.

Para obter detalhes sobre como monitorar o desempenho e usar contadores de desempenho, consulte o artigo sobre monitoramento do desempenho (em inglês) (https://go.microsoft.com/fwlink/?linkid=105584\&clcid=0x416) (em inglês).

Contadores de servidores físicos a serem monitorados

Monitore os seguintes contadores para garantir a integridade de seus servidores:

  • Processador: % Tempo do Processador: _Total   Esse contador mostra o percentual de tempo em que o processador está executando processos de aplicativos ou do sistema operacional diferentes de Ocioso. No computador que está executando o SQL Server, esse contador deve ser mantido com valor entre 50 e 75 por cento. Em caso de sobrecarga constante, investigue se há atividade anormal de processos ou se o servidor precisa de CPUs adicionais.

  • Sistema: Comprimento da Fila de Processador   Esse contador mostra o número de threads na fila do processador. Monitore esse contador para verificar se ele permanece inferior ao dobro do número de CPUs de núcleo.

  • Memória: Mbytes Disponíveis   Esse contador mostra a quantidade de memória física, em megabytes, disponível para processos em execução no computador. Monitore esse contador para verificar se você mantém um nível de pelo menos 20 por cento do total de memória RAM física disponível.

  • Memória: Páginas/s   Esse contador mostra a taxa à qual as páginas são lidas do disco ou gravadas nele para resolver falhas de páginas de hardware. Monitore esse contador para verificar se ele permanece abaixo de 100.

Para obter mais informações e métodos de solução de problemas de memória, consulte o artigo sobre monitoramento do uso de memória do SQL Server 2005 (https://go.microsoft.com/fwlink/?linkid=105585\&clcid=0x416).

Contadores de disco a serem monitorados

Monitore os contadores a seguir para garantir a integridade dos discos. Observe que os valores a seguir são medidos ao longo do tempo — não se trata de valores que ocorrem durante um pico súbito ou que se baseiam em uma única medição.

  • Disco Físico: % Tempo de Disco: Unidade de Dados   Esse contador mostra o percentual de tempo decorrido em que a unidade de disco selecionada está ocupada atendendo a solicitações de leitura ou gravação. Monitore esse contador para verificar se ele permanece inferior ao dobro do número de discos.

  • Disco Lógico: Transferências de Disco/s   Esse contador mostra a taxa à qual as operações de leitura e escrever são executadas no disco. Use esse contador para monitorar tendências de crescimento e prevê-las adequadamente.

  • Disco Lógico: Bytes de Leitura de Disco/s e Disco Lógico: Bytes de Gravação de Disco/s   Esses contadores mostram a taxa à qual bytes são transferidos do disco durante operações de leitura ou gravação.

  • Disco Lógico: Média de Bytes de Disco/Leitura   Esse contador mostra o número médio de bytes transferidos do disco durante operações de leitura. Esse valor pode refletir a latência de disco — operações de leitura maiores podem resultar em latência ligeiramente maior.

  • Disco Lógico: Média de Bytes de Disco/Gravação   Esse contador mostra o número médio de bytes transferidos para o disco durante operações de gravação. Esse valor pode refletir a latência de disco — operações de gravação maiores podem resultar em latência ligeiramente maior.

  • Disco Lógico: Comprimento da Fila de Disco Atual   Esse contador mostra o número de solicitações pendentes no disco no momento em que os dados de desempenho são coletados. Para esse contador, valores menores são melhores. Valores acima de 2 por disco podem indicar um afunilamento e devem ser investigados. Isso significa que um valor até 8 pode ser aceitável para um LUN composto de quatro discos. Os afunilamentos podem criar uma lista de pendências que pode se expandir para além do servidor atual que está acessando o disco e resultar em longos tempos de espera para os usuários. As possíveis soluções para um afunilamento são adicionar discos à matriz RAID, substituir os discos existentes por discos mais rápidos ou mover alguns dados para outros discos.

  • Disco Lógico: Comprimento Médio da Fila de Disco   Esse contador mostra o número médio de solicitações de leitura e gravação que estavam enfileiradas para o disco selecionado durante o intervalo de exemplo. A regra é que deve haver duas ou menos solicitações de leitura e gravação pendentes por eixo, mas isso pode ser difícil de medir devido à virtualização de armazenamento e a diferenças nos níveis de RAID entre configurações. Verifique se há comprimentos de fila de disco maiores do que a média, combinados a latências de disco maiores do que a média. Essa combinação pode indicar que o cache de matriz de armazenamento está sobrecarregado ou que o compartilhamento de eixos com outros aplicativos está afetando o desempenho.

  • Disco Lógico: Média de Disco s/Leitura e Disco Lógico: Média de Disco s/Gravação   Esses contadores mostram o tempo médio, em segundos, de uma operação de leitura ou gravação para o disco. Monitore esses contadores para verificar se permanecem abaixo de 85 por cento da capacidade do disco. O tempo de acesso ao disco aumentará exponencialmente se as operações de leitura ou gravação corresponderem a mais de 85 por cento da capacidade do disco. Para determinar a capacidade específica de seu hardware, consulte a documentação do fornecedor ou use a Ferramenta de Benchmark de Subsistema de Disco SQLIO para calculá-la. Para obter mais informações, consulte o artigo sobre a Ferramenta de Benchmark de Subsistema de Disco SQLIO (em inglês) (https://go.microsoft.com/fwlink/?linkid=105586\&clcid=0x416) (em inglês).

    • Disco Lógico: Média de Disco s/Leitura   Esse contador mostra o tempo médio, em segundos, de uma operação de leitura do disco. Em um sistema bem ajustado, os valores ideais são de 1-5 milissegundos (ms) para logs (o valor ideal é de 1 ms em uma matriz armazenada em cache) e 4-20 ms para dados (o valor ideal é inferior a 10 ms). Podem ocorrer latências maiores em horários de pico, mas se valores elevados ocorrerem regularmente, você deverá investigar a causa.

    • Disco Lógico: Média de Disco s/Gravação   Esse contador mostra o tempo médio, em segundos, de uma operação de gravação no disco. Em um sistema bem ajustado, os valores ideais são de 1-5 ms para logs (o valor ideal é de 1 ms em uma matriz armazenada em cache) e 4-20 ms para dados (o valor ideal é inferior a 10 ms). Podem ocorrer latências maiores em horários de pico, mas se valores elevados ocorrerem regularmente, você deverá investigar a causa.

    Ao usar configurações de RAID com Média de Disco s/Leitura ou Média de Disco s/Gravação, use as fórmulas da tabela a seguir para determinar a taxa de entrada e saída no disco.

    Nível de RAID Fórmula

    RAID 0

    E/S por disco = (leituras + gravações)/número de discos

    RAID 1

    E/S por disco = [leituras + (2 * gravações)]/2

    RAID 5

    E/S por disco = [leituras + (4 * gravações)]/número de discos

    RAID 10

    E/S por disco = [leituras + (2 * gravações)]/número de discos

    Por exemplo, se você tiver um sistema RAID 1 com dois discos físicos e seus contadores apresentarem os valores mostrados na tabela a seguir:

    Contador Valor

    Média de Disco s/Leitura

    80

    Disco Lógico: Média de Disco s/Gravação

    70

    Comprimento Médio da Fila de Disco

    5

    O valor de E/S por disco poderá ser calculado da seguinte maneira: (80 + (2 * 70))/2 = 110

    O comprimento da fila do disco poderá ser calculado da seguinte maneira: 5/2 = 2,5

    Nessa situação, haveria um afunilamento intermediário de E/S.

Outras ferramentas de monitoramento

Você também pode monitorar a latência de disco e analisar tendências usando o modo de exibição de gerenciamento dinâmico sys.dm_io_virtual_file_stats no SQL Server 2008. Para obter mais informações, consulte o artigo sobre sys.dm_io_virtual_file_stats (Transact-SQL) (https://go.microsoft.com/fwlink/?linkid=105587\&clcid=0x416).

Solução de problemas

Se um disco ou RAID apresentar afunilamento, considere a execução das seguintes ações:

  1. Realocar alguns arquivos para um disco ou matriz RAID separado.

  2. Adicionar discos à matriz.

  3. Se não for possível separar o conteúdo (por exemplo, se houver um único arquivo de banco de dados de conteúdo), substituir os discos por outros mais rápidos.

  4. Quando possível, dividir o banco de dados de conteúdo relevante em vários bancos de dados, ou seja, realocar ou dividir e realocar conjuntos de sites usando ferramentas como a ferramenta da linha de comando Stsadm.exe ou Microsoft Office SharePoint Designer. Se o problema persistir, repita as etapas de solução de problemas da etapa 1.