Resolvendo problemas de otimização de SQL

Um dos grandes problemas em desenvolvimento de software está relacionado com a performance da aplicação e na grande maioria com SQL não otimizados. Com base nisso começa a doloroza tarefa de otimização, dependendo da estrutura da empresa existe a clara separação entre desenvolvedores e DBAs, na minha opinião este problema acaba sendo responsabilidade dos dois, muitas vezes existe um grande conflito entre os dois e isso acaba impactando negativamente no negócio da empresa.

Esta mês estive visitando um cliente onde tinhamos os grupos de desenvolvedores e DBAs, ambos trabalhavam integrados e se ajudando muitas vezes. A estrutura de 4 servidores com 48GB RAM, 4 processadores com 8 núcleos cada utilizando SQL Server e aplicação .NET, neste cenário tinhamos problemas de performance.

Para entender onde estava o problema utilizamos duas das nossas soluções: Performance Center e DB Optimizer.

Performance Center nossa solução para monitoramente de servidores de banco de dados 24×7, onde os DBAs são notificados de problemas que podem vir a acontecer e aqueles que estão acontecendo, é como o seu painel de controle onde você tem visibilidade de tudo o que acontece no banco de dados e sistema operacional.

De inicio identificamos bases de dados sem backup a algum tempo, arquivos de log e base de dados no mesmo disco em alguns servidores e vários picos de CPU causados por algumas stored procedures e locks de registros muito frequentes, ou seja, existiam problemas de otimização de SQL e problemas nas aplicações.

Identificado o problema utilizamos o DB Optimizer para efetuar o profile no banco de dados, para nossa surpresa identificamos que uma única stored procedure era executa a cada 2 segundos e efetuava contastes updates, estes updates geravam o log.

Agora a equipe de desenvolvimento esta reavaliando a melhor forma de otimizar este processo na aplicação, os testes iniciais já apontam uma grande melhora no desempenho e a eliminação dos locks, também foram encontrados outros pontos onde é necessário otimizar.

Se você quizer conhecer mais sobre o Performance Center e DB Optimizer, assista minha apresentação sobre SQL Tunning, alta-disponibilidade e eficiência de banco de dados 24×7 que está publicado no EDN.

Assistir o vídeo

Baixar o vídeo e assistir off-line

Baixar o’vídeo

O mais importante é que toda esta descoberta se passou em apenas 3 horas, ou seja, geralmente tardamos dias para encontrar a origem do problemas, quando encontramos. Neste caso com Performance Center e DB Optimizer encontramos em apenas 3 horas.
Até o próximo post.

0 respostas

Deixe uma resposta

Want to join the discussion?
Feel free to contribute!

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *


Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.