Existem diversos ofensores que podem influenciar na performance de um banco de dados, e um database sem uma gestão especializada, pode impactar toda a operação de uma empresa. No entanto, ajustando processos e implementando melhorias é possível melhorar o resultado, possibilitando a realização de consultas com mais agilidade. Itens como recursos de hardware e software, paralelismo, criação de bons índices e monitoramento do ambiente podem ser essenciais.
"Meu sistema está lento o que faço"? Essa com certeza é uma das perguntas mais recebida no dia a dia de um DBA.
E você se pergunta, como o profissional inicia este tipo de solicitação? Quais são os primeiros checks, as primeiras validações e quais os caminhos para iniciar uma análise de performance?
Nossos consultor Carlos Silva, vai nos ajudar a entender os primeiros pontos a serem analisados e as tratativas que são tomadas.
Para iniciar uma análise, precisamos de algumas informações em conjunto com cliente, onde partimos de um simples questionamento como exemplo abaixo:
1. A lentidão é generalizada ou específica em alguma função ou setor?
2. Houve atualização de build/release ou versão da aplicação?
3. Houve alguma manutenção no ambiente?
4. Caso seja algo específico, precisamos saber, quanto tempo este processo que é lento hoje, executa normalmente?
Após esta fase, inicia-se as questões de análise:
1. Verificação de existência de alertas no sistema de monitoramento: é validado se há alertas gerados em nosso sistema de monitoramento, que possam indicar problemas de desempenho no banco de dados.
2. Análise de curvas anormais de consumo de recursos: Utilizando nossas ferramentas gráficas de coleta de dados, examinamos as curvas de consumo de recursos no ambiente do cliente. Comparamos o comportamento atual com períodos anteriores para identificar anomalias, tanto no consumo de recursos computacionais quanto em padrões de comportamento nos bancos de dados ou servidores de aplicação.
3. Verificação do ambiente a nível do sistema operacional (S.O): Realizamos conexão com o ambiente para avaliar aspectos relacionados ao sistema operacional, como uso de CPU, memória, disco e rede, a fim de identificar possíveis gargalos ou problemas que possam afetar o desempenho do banco de dados.
4. Análise dos processos ativos no banco de dados: Conectamos ao banco de dados para examinar os processos ativos, incluindo sessões de usuários, Jobs, backups, entre outros. Buscamos por atividades que possam estar impactando negativamente o desempenho e, se identificarmos algum problema evidente, iniciamos uma análise mais aprofundado;
5. Acompanhamento via trace da sessão: Em casos de problemas isolados, realizamos um acompanhamento detalhado por meio de traces da sessão, permitindo mapear os processos executados pelo usuário ou job em questão. Esta análise nos possibilita identificar se algum desses processos está causando o problema de desempenho. Com base nessa análise, podemos propor melhorias nos planos de execução, otimizações nas consultas, funções ou processos lentos, visando melhorar o desempenho geral do sistema.
Existem inúmeras situações, pois cada ambiente possui particularidades e existem diversas causas que podem influenciar na performance do banco de dados. No entanto, ajustando processos e implementando melhorias é possível melhorar o resultado, possibilitando a realização de consultas com mais agilidade.
Nossa equipe possui mais de 15 anos de experiência em ambientes críticos de banco de dados, como Oracle, SQL Server, MySql, Postgre, e MariaDB, sempre vamos ter a melhor solução para lhe atender.