Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Solucionar problemas de gargalos de E/S de disco


Seu servidor está sofrendo com um número excessivo de alertas de E/S? Em caso afirmativo, você deveria se preocupar com a degradação do desempenho do servidor? Como diagnosticar melhor o problema subjacente e eliminar os gargalos de E/S?

O alarme de tempo de bloqueio de E/S do Spotlight Cloud é um bom indicador de gargalos de E/S. Ele é gerado quando o tempo médio de espera por operação de um arquivo de banco de dados excede o limite de alarme. O alarme utiliza dados de DMVs sys.dm_io_virtual_file_stats para seus cálculos. Ele usa um valor médio derivado após cinco coletas nos últimos 15 minutos para que você não seja alertado em um pico ocasional. A descrição do alarme inclui o nome do arquivo virtual do banco de dados, o nome do banco de dados e o tempo médio de espera por operação de E/S.

Quatro sugestões fáceis para diagnosticar problemas relacionados a E/S no Spotlight Cloud:

1. Verifique o que está contribuindo para o consumo de E/S.

O consumo de E/S é um sinal de latência de subsistemas de disco que pode ser causado por memória ou pressão da CPU, consultas mal escritas ou não ter uma boa mistura de índices. Na hora do alarme:

Primeiro, aproveite o painel do lado direito Propriedades da página Alarmes para visualizar os dados relacionados aos alarmes inteligentes:
1. Detalhes do alarme, incluindo o nome do arquivo, tempo médio de espera de E/S no arquivo e duração do alarme

2. Analise os dados coletados representados graficamente no gráfico de tendências nas últimas horas



Em seguida, diagnostique o problema pressionando o botão Diagnosticar. Isso o levará ao painel de E/S por arquivo focado no arquivo estressado. Você pode usar este e outros painéis para diagnosticar ainda mais:

1. E/S por Arquivo – Identifique os arquivos diretamente afetados pela E/S
2. Workload Analyzer - As principais instruções SQL e o lote TSQL que consomem mais E/S
3. Sessões – Sessões no momento com atividade de disco
4. Verificação de integridade - Revise se há índices ausentes


2. Verifique os arquivos que estão aguardando operações de E/S.

O painel E/S por arquivo identifica os arquivos aguardando operações de E/S. Examine as seguintes estatísticas de E/S:
1. Anote as colunas relacionadas à E/S:Taxas de E/S, Taxas de Leitura/Gravação e Taxas de Espera

2. Classifique os arquivos por sua média de espera por /IO pressionando na lista suspensa azul diretamente acima da coluna Arquivo lógico.

3. Visualize a atividade de Leitura e Gravação na última hora gerada no arquivo mostrado nos painéis à direita.

4. Opcionalmente, expanda o período de tempo para verificar se esse é um comportamento normal no arquivo.

5. Caso você veja vários arquivos ao longo do tempo sofrendo do mesmo problema e compartilhe o local ou disco, considere ajustar sua localização e compare a contenção de E/S entre discos ou locais para aliviar os problemas de latência do disco.





6. Caso os arquivos do banco de dados Tempdb sejam um fator de destaque, use o painel de uso do TempDB para visualizar a atividade no banco de dados:

uma. Arquivos de banco de dados Tempdb e suas estatísticas
b. Sessões usando tempdb
c. Principais tabelas e índices criados em tempdb





3. Encontre instruções SQL que possam estar realizando grandes quantidades de E/S lógica.

O painel do Workload Analyzer mostra o SQL que consome mais E/S:

1. Clique no recurso de E/S no banner superior e expanda o nó Instrução SQL da árvore de dimensões para visualizar as 25 principais E/S que consomem SQL durante o período de tempo.

2. Concentre-se em uma instrução e expanda o painel SQL Statement Properties no lado direito para visualizar os detalhes do SQL e do plano de consulta.

3. Carregue a instrução SQL no SSMS usando a opção 'Abrir no SSMS' e use a ferramenta de plug-in Tuning Pack para analisar o plano ou reescrever uma instrução mais otimizada.


4. Concentre-se no nó 'Instrução SQL' da árvore Dimensões para listar as instruções SQL. Classifique as sessões por Espera de E/S ou Leituras Lógicas. Use o painel Compare to Parent à direita para comparar a espera de E/S de um único SQL com o restante do SQL na instância que utiliza E/S. A E/S lógica pode resultar em E/S física desnecessária.




4. Verifique quais sessões do SQL Server estão gerando grandes quantidades de atividade de disco.

O painel Sessões mostra as sessões abertas na instância. Para ver as sessões que estão gerando grandes quantidades de atividade de disco, verifique as estatísticas relacionadas à E/S e classifique por elas.
1. As estatísticas relacionadas à E/S apontam na direção certa:E/S total, leituras lógicas, leituras físicas e E/S de solicitação

2. O painel do lado direito da guia Sessão mostra estatísticas adicionais junto com o SQL subjacente




Use o painel Tempdb para visualizar sessões utilizando o banco de dados Tempdb:
1. Use o painel Tempdb para identificar as sessões e objetos que utilizam o banco de dados

2. Use o painel Tempdb Usage para ver todas as sessões em um período


Assuma o controle da latência de E/S aproveitando os recursos de diagnóstico do Spotlight Cloud!