Avançar para o conteúdo principal Não há mais suporte para esse navegador. Show
Atualize o Microsoft Edge para aproveitar os recursos, o suporte técnico e as atualizações de segurança mais recentes. Solucionar problemas de SQL Server desempenho lento causados por problemas de E/S
Neste artigoAplica-se ao: SQL Server Este artigo fornece diretrizes sobre quais problemas de E/S causam lentidão SQL Server desempenho e como solucionar os problemas. Definir desempenho lento de E/SOs contadores do monitor de desempenho são usados para determinar o desempenho de E/S lento. Esses contadores
medem a rapidez com que o subsistema de E/S serviços cada solicitação de E/S em média em termos de tempo de relógio. Os contadores específicos do Monitor de Desempenho que medem a latência de E/S no Windows Em SQL Server, as coisas funcionam da mesma maneira. Normalmente,
você verifica se SQL Server gargalos de E/S medidos no horário do relógio (milissegundos). SQL Server faz solicitações de E/S para o sistema operacional chamando as funções Win32
Se essas esperas excederem de 10 a 15 milissegundos consistentemente, a E/S será considerada um gargalo.
Observação Para fornecer contexto e perspectiva, no mundo da solução de problemas do SQL Server, o Microsoft CSS observou casos em que uma solicitação de E/S levou mais de um segundo e até 15 segundos por sistemas de E/S de transferência precisam de otimização. Por outro lado, o Microsoft CSS viu sistemas em que a taxa de transferência está abaixo de um milissegundo/transferência. Com a tecnologia SSD/NVMe de hoje, as taxas de transferência anunciadas variam em dezenas de microssegundos por transferência. Portanto, a figura de 10 a 15 milissegundos/transferência é um limite muito aproximado que selecionamos com base na experiência coletiva entre o Windows e os engenheiros do SQL Server ao longo dos anos. Normalmente, quando os números ultrapassam esse limite aproximado, SQL Server os usuários começam a ver latência em suas cargas de trabalho e reportá-los. Por fim, a taxa de transferência esperada de um subsistema de E/S é definida pelo fabricante, modelo, configuração, carga de trabalho e, potencialmente, vários outros fatores. MetodologiaUm fluxograma no final deste artigo descreve a metodologia que o Microsoft CSS usa para abordar problemas de E/S lentos com SQL Server. Não é uma abordagem completa ou exclusiva, mas provou ser útil para isolar o problema e resolvê-lo. Você pode escolher uma das duas opções a seguir para resolver o problema: Opção 1: Executar as etapas diretamente em um notebook por meio do Azure Data StudioOpção 2: siga as etapas manualmenteA metodologia é descrita nestas etapas: Etapa 1: o SQL Server E/S está relatando E/S lenta?SQL Server pode relatar a latência de E/S de várias maneiras:
Tipos de espera de E/SDetermine se há latência de E/S relatada por tipos SQL Server espera. Os valores
Estatísticas de arquivo no sys.dm_io_virtual_file_statsPara exibir a latência no nível de arquivo do banco de dados conforme relatado SQL Server, execute a seguinte consulta:
Examine as colunas
Erro 833 relatado no Log de erros ou no log de eventos do aplicativoEm alguns casos, você pode observar o erro 833
Além disso, para obter mais informações sobre esse erro, consulte MSSQLSERVER_833 seção. Etapa 2: Os contadores perfmon indicam latência de E/S?Se SQL Server relatório de latência de E/S, consulte os contadores do sistema operacional. Você pode determinar se há um problema de E/S examinando o contador de latência
Reúna
Se os valores desse contador forem consistentemente acima de 10 a 15 milissegundos, você precisará examinar ainda mais o problema. Picos ocasionais não contam na maioria dos casos, mas certifique-se de verificar novamente a duração de um pico. Se o pico durou um minuto ou mais, é mais um platô do que um pico. Se os contadores do Monitor de Desempenho não relatarem latência, mas SQL Server, o problema será entre o SQL Server e o Gerenciador de Partições, ou seja, os drivers de filtro. O Gerenciador de Partições é uma camada de E/S em que o sistema operacional coleta contadores Perfmon . Para resolver a latência, certifique-se de exclusões adequadas de drivers de filtro e resolva problemas de driver de filtro. Os drivers de filtro são usados por programas como software antivírus, soluções de backup, criptografia, compactação e assim por diante. Você pode usar esse comando para listar drivers de filtro nos sistemas e nos volumes aos quais eles se anexam. Em seguida, você pode pesquisar os nomes de driver e fornecedores de software no artigo Altitudes de filtro alocadas .
Para obter mais informações, consulte Como escolher o software antivírus a ser executado em computadores que estão executando SQL Server. Evite usar o EFS (Encrypting File System) e a compactação do sistema de arquivos porque eles fazem com que a E/S assíncrona se torne síncrona e, portanto, mais lenta. Para obter mais informações, consulte o artigo E/S de disco assíncrono exibido como síncrono no Windows. Etapa 3: O subsistema de E/S está sobrecarregado além da capacidade?Se SQL Server e o sistema operacional indicarem que o subsistema de E/S está lento, verifique se a causa é o sistema que está
sendo sobrecarregado além da capacidade. Você pode verificar a capacidade examinando os contadores de
Etapa 4: a SQL Server está impulsionando a atividade pesada de E/S?Se o subsistema de E/S estiver sobrecarregado além da capacidade, descubra se SQL Server é o culpado examinando (o culpado mais comum)
CausasEm geral, os seguintes problemas são os motivos de alto nível pelos quais SQL Server consultas sofrem de latência de E/S:
Representação gráfica da metodologiaA seguir estão as descrições dos tipos de espera comuns observados SQL Server quando problemas de E/S de disco são relatados. PAGEIOLATCH_EXOcorre quando uma tarefa está aguardando uma trava para uma página de dados ou índice (buffer) em uma solicitação de E/S. A solicitação de trava está no modo Exclusivo. Um modo Exclusivo é usado quando o buffer está sendo gravado em disco. Esperas longas podem indicar problemas com o subsistema de disco. PAGEIOLATCH_SHOcorre quando uma tarefa está aguardando uma trava para uma página de dados ou índice (buffer) em uma solicitação de E/S. A solicitação de trava está no modo Compartilhado. O modo Compartilhado é usado quando o buffer está sendo lido do disco. Esperas longas podem indicar problemas com o subsistema de disco. PAGEIOLATCH_UPOcorre quando uma tarefa está aguardando uma trava para um buffer em uma solicitação de E/S. A solicitação de trava está no modo De atualização. Esperas longas podem indicar problemas com o subsistema de disco. WRITELOGOcorre quando uma tarefa está aguardando a conclusão de uma liberação de log de transações. Uma liberação ocorre quando o Gerenciador de Log grava seu conteúdo temporário no disco. Operações comuns que causam liberações de log são confirmações de transação e pontos de verificação. Os motivos comuns para esperas longas são
ASYNC_IO_COMPLETIONOcorre quando algumas das seguintes atividades de E/S ocorrem:
IO_COMPLETIONOcorre enquanto aguarda a conclusão das operações de E/S. Esse tipo de espera geralmente envolve E/Ss não relacionadas a páginas de dados (buffers). Os exemplos incluem:
BACKUPIOOcorre quando uma tarefa de backup está aguardando dados ou está aguardando um buffer armazenar dados. Esse tipo não é típico, exceto quando uma tarefa está aguardando uma montagem em fita. Recursos adicionaisRecursos adicionaisNeste artigoO que ocorre num computador quando os dados ultrapassam os limites de um buffer?Em segurança computacional e programação, um transbordamento de dados ou estouro de buffer (do inglês buffer overflow ou buffer overrun) é uma anomalia onde um programa, ao escrever dados em um buffer, ultrapassa os limites do buffer e sobrescreve a memória adjacente.
Que é uma vulnerabilidade que permite que os criminosos injetem scripts em páginas Web visualizadas pelos utilizadores?Qual opção é uma vulnerabilidade que permite que criminosos injetem scripts em páginas da Web vistas por usuários? Escolha uma: Inserção de SQL estouro de buffer Injeção de XML Script entre sites A resposta correta é: Script entre sites.
Quais são as duas maneiras de proteger um computador contra malware?Atitudes para se proteger contra malwares. Tenha cuidado com os downloads. Pense muito bem antes de baixar qualquer arquivo na internet. ... . Utilize um antivírus. Os antivírus são programas específicos que são instalados no computador para te proteger contra malwares. ... . Desconfie de e-mails com anexos suspeitos.. O que é que um rootkit modifica?Assim que um ataque de rootkit acontece, ele concede acesso de administrador ao sistema operacional enquanto evita ser detectado. O que um rootkit modifica? Como a finalidade de um rootkit é obter acesso privilegiado de administrador ao sistema de computador, um rootkit pode modificar tudo que um administrador pode.
|