Compartilhar via


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.