Problemas de desempenho do SQL Server

1

Eu tenho uma caixa do SQL Server e seu uso da CPU está em 100%. Quais etapas devo seguir, além de examinar as consultas demoradas para determinar o que está causando isso?

    
por Alex Angas 15.08.2009 / 07:37

3 respostas

2

Verifique o monitor de atividades para certificar-se de que você não tenha grandes rollbacks / transações em andamento.

Em segundo lugar, execute o SQL Server Profiler para descobrir o que está acontecendo na sua caixa.

Em terceiro lugar, verifique a memória alocada para o SQL Server, uma vez que uma memória bloqueada faz com que o uso do arquivo de paginação aumente o consumo da CPU.

Em quarto lugar, verifique se não há outro processo em execução no servidor que esteja destruindo a memória ou a CPU.

Depois disso, faça alguma otimização de consulta (índices, etc) se houver consultas demoradas acessando a caixa.

    
por 15.08.2009 / 07:40
1

Perfmon - > Consumo de CPU por processo, para garantir que o SQL seja o ofensor

Perfmon - > Lotes e compilações por segundo, para ver se você tem algumas perguntas desagradáveis ou um monte de pequenas perguntas.

Geralmente (não tendo visto sua configuração) se você tem muita ação da CPU e não muita atividade de disco, isso significa que os dados que o SQL Server está usando se encaixam na memória, MAS não são indexados de forma eficaz. Isso significa que as consultas gastam muitos ciclos de CPU digitalizando páginas de dados na memória, porque as estruturas de índice para simplificar e acelerar esse processo estão ausentes. Se os dados fossem maiores, ou a RAM menor, isso se revelaria um gargalo de I / O. Mas com muita RAM e um conjunto de dados menor, você tem um gargalo de CPU.

Assim, a próxima parada é uma consulta ao DMV do índice ausente, onde você pode encontrar muitas consultas de alto custo que imploram por índices melhores. Pegue os resultados com um pouco de sal, e implemente de forma seletiva.

    
por 15.08.2009 / 08:14
0

Bem, o que isso está fazendo?

Se estiver fazendo um select, você precisa adicionar índices. Ou remova um cartesiano de suas associações.

Se estiver adicionando um índice, você precisa tomar um café e esperar. ;)

Se estiver fazendo uma atualização, verifique se a cláusula where inclui apenas linhas que devem ser atualizadas.

Se estiver fazendo uma inserção (ou atualização), verifique se há gatilhos desagradáveis ou muitos índices ou (se você estiver atualizando uma chave) um índice clusterizado.

Ou, possivelmente, você precisa fazer um commit ou descarregar os logs.

    
por 15.08.2009 / 07:42