Identificando afunilamentos
O acesso simultâneo a recursos compartilhados provoca afunilamentos. Em geral, os afunilamentos estão presentes em todo sistema de software e são inevitáveis. Porém, demandas excessivas em recursos compartilhados causam um tempo de resposta ruim e devem ser identificadas e ajustadas.
São causas de afunilamentos:
Recursos insuficientes, exigindo componentes adicionais ou atualizados.
Recursos de mesmo tipo entre os quais as cargas de trabalho não são distribuídas de maneira uniforme; por exemplo, um disco sendo monopolizado.
Mau funcionamento de recursos.
Recursos incorretamente configurados.
Analisando afunilamentos
Durações excessivas de diversos eventos são indicadores de afunilamentos que podem ser ajustados.
Por exemplo:
Algum outro componente pode impedir a carga de alcançar esse componente e aumentar, assim, o tempo para a conclusão da carga.
Solicitações de clientes podem levar mais tempo devido a congestionamento da rede.
A seguir, encontram-se cinco grandes áreas a monitorar, ao rastrear o desempenho do servidor, para identificar afunilamentos.
Possível área de afunilamento |
Efeitos no servidor |
---|---|
Uso de memória |
Memória insuficiente alocado ou disponível para o Microsoft SQL Server degrada o desempenho. Os dados têm que ser lidos do disco, em vez de diretamente do cache de dados. Sistemas operacionais Microsoft Windows executam paginação excessiva, permutando dados de e para o disco, segundo a necessidade de páginas. |
Utilização de CPU |
Uma taxa de utilização de CPU cronicamente alta pode indicar que as consultas do Transact-SQL precisam ser ajustadas ou que é necessário atualizar a CPU. |
Entrada/saída (E/S) de disco |
As consultas Transact-SQL podem ser ajustadas de modo a reduzir E/S desnecessária; por exemplo, empregando índices. |
Conexões de usuário |
Muitos usuários podem estar acessando o servidor simultaneamente, provocando degradação do desempenho. |
Bloqueios |
Aplicativos incorretamente projetados podem causar bloqueios e obstruir a simultaneidade, causando tempos de resposta mais longos e taxas de transferência de transações mais baixas. |
Para obter mais informações sobre como ajustar consultas SQL, consulte Desempenho de consulta e Ajustando o design do banco de dados físico.
Consulte também