Continuarei explicando como monitorar contadores de desempenho via PERFMON | Solução de problemas de desempenho do SQL Server nesta série de artigos.
Solução de problemas de desempenho do SQL Server
Leia o artigo anterior antes deste.
Solução de problemas de desempenho do SQL Server -2 Monitore bancos de dados e instâncias por meio do Activity Monitor
Monitorando contadores de desempenho via PERFMON
O gargalo que ocorre no Banco de Dados e no Servidor pode ser identificado examinando o uso dos recursos do Servidor. Os gargalos mais importantes que afetam o SQL Server são os seguintes.
- Afunilamento de memória
- Afunilamento de E/S de disco
- Afunilamento de CPU
Afunilamento de memória no SQL Server
A instância do SQL Server aloca espaço de memória do sistema operacional (SO) de acordo com os parâmetros de memória Max e Min definidos durante a inicialização. Por padrão, o uso da memória da instância do SQL Server cresce continuamente para evitar paginação. Se não houver mais espaço de memória para um processo no sistema operacional, o sistema operacional avisará o SQL Server e o SQL Server liberará memória extra alocada.
Os parâmetros de memória máxima e mínima podem ser definidos na tela a seguir. ( SQL Server Management Studio–> Clique com o botão direito do mouse em SQL Instance e escolha as propriedades do servidor )
A causa geral dos gargalos nas instâncias do SQL Server é que a memória é insuficiente. Em caso de memória insuficiente, é chamado de falha de página difícil se o banco de dados lê dados do disco físico em vez da memória.
Os contadores de desempenho a seguir devem ser revisados para verificar se há afunilamento de memória no banco de dados e no sistema operacional.
Memória:páginas/s no SQL Server
Indica o número de páginas de memória que não existem na memória ve e devem ser lidas do disco e o número de páginas de memória que devem ser gravadas no disco.
Este valor deve ser seguido por um determinado período enquanto o banco de dados estiver rodando normalmente e um valor médio deve ser determinado. Se este valor estiver constantemente alto em caso de problemas, é útil aumentar o tamanho da memória física do SO.
Memória:bytes confirmados no SQL Server
Indica o espaço total de memória usado pela instância de pagefile.sys na RAM e no disco. Este contador não excederá o tamanho total da RAM se a quantidade de memória fornecida for suficiente. Se não houver mais memória suficiente, o espaço pagefile.sys será usado e isso significa que o valor do contador de desempenho relacionado excederá o valor de RAM. Nesse cenário, adicionar RAM ao servidor pode facilitar o sistema.
Memória:bytes disponíveis no SQL Server
Indica a quantidade total de memória disponível para a instância. Esse valor geralmente parece baixo. Se o valor desse contador estiver consistentemente abaixo de 4 MB, ocorrem muitas operações de paginação.
Afunilamento de E/S de disco no SQL Server
Para Gargalo de E/S de Disco, que ocorre no disco ou Armazenamento, os valores do Contador de Desempenho em Disco Físico e Lógico na ferramenta Perfmon devem ser verificados.
- Se o valor de um contador, como segundos de disco/leitura contador, é maior que 15-20 ms, geralmente é um problema de desempenho do disco.
- Valores altos contínuos para a média de segundos de disco/gravação counter indicam que há um problema de desempenho nos discos.
% de tempo de disco no SQL Server
Exibe a densidade de leitura/gravação dos discos. Se esse valor for 80%, entende-se que os discos são usados extensivamente. Um valor de 50% ou menos indica que não há afunilamento de disco.
Média Comprimento da fila de disco no SQL Server
Mostra os que estão esperando nas E/S feitas no disco. Se esse valor for consistentemente alto, significa que o Afunilamento de Disco ou Armazenamento foi iniciado.
Média Bytes de disco/transferência no SQL Server
Mostra a quantidade média de bytes processados durante a leitura e gravação no disco. Um valor mais alto significa que o Disco está operando com eficiência.
Afunilamento de CPU
É mais fácil ver se o sistema desacelera da CPU, em comparação com a Memória e E/S de disco. Porque, depois de certificar-se da Memória e do Disco, se ainda houver mais problemas e se o lado da CPU precisar ser examinado, a CPU do sistema pode ser verificada imediatamente. Se a CPU do sistema for 80%, significa que há um problema, mas em 50% pode-se determinar que o problema não é causado pela CPU.
Processador:% de tempo do processador no SQL Server
Exibe o tempo de execução ativo da CPU.
Se o SO puder lidar com solicitações sem aumentar o Comprimento da fila do servidor valor, então os processos são atendidos o mais rápido possível.
Processador:% de tempo privilegiado
Mostra o tempo de CPU alocado ao SO no qual o SQL Server está sendo executado.
Processador:% de tempo do usuário
Mostra o tempo de CPU gasto em outras atividades em execução no sistema operacional.
Continuarei explicando a solução de problemas de desempenho do SQL Server no próximo artigo.
Solução de problemas de desempenho do SQL Server -4 Usando DMV (Exibição de gerenciamento dinâmico) e DMF (Função de gerenciamento dinâmico)