Situação (antes da nossa atuação)
A Icatu Seguros, responsável pela gestão de sistemas complexos de previdência, enfrentava lentidão significativa em rotinas críticas de banco de dados, com impacto direto na utilização de funcionalidades do sistema. Essa lentidão era agravada por problemas de alto consumo de CPU e frequentes locks em tabelas, resultando em gargalos de processamento e dificuldades para atender às demandas de seus usuários.
Dada a complexidade das regras de negócio e a variedade de processos executados no banco de dados, a identificação dos problemas era um desafio significativo. Logs de execução extensos e a natureza intricada das stored procedures dificultavam a detecção dos pontos críticos.
Com a performance comprometida, a utilização eficiente do sistema foi prejudicada, afetando o atendimento de prazos e a produtividade das operações de previdência.
Implicações
- Lentidão em processos críticos, impactando a experiência do usuário final.
- Alto consumo de recursos de processamento (CPU), comprometendo a estabilidade do ambiente.
- Locks frequentes em tabelas, dificultando a execução simultânea de processos e funcionalidades.
- Dificuldade em atender SLAs e garantir a eficiência dos sistemas de previdência.
O que fizemos
A EximiaCo iniciou o projeto com uma análise detalhada dos logs de execução do banco de dados para identificar os principais gargalos de processamento. A partir desse diagnóstico, foram aplicadas boas práticas de desenvolvimento em banco de dados, incluindo:
- Eliminação de cursores para reduzir o consumo de recursos.
- Reescrita e otimização de queries complexas, melhorando o tempo de resposta.
- Revisão e ajuste dos índices existentes nas tabelas para garantir acessos mais eficientes.
- Monitoramento contínuo de jobs e processos em produção, com foco na melhoria da performance.
Entregáveis
- Implementação de melhorias de performance no código do banco de dados.
- Ajustes otimizados nos índices e estrutura de tabelas.
Carga de dados para o banco do site
- As otimizações aplicadas no processo de carga de dados do banco PGBL para o banco do site resultaram em uma melhoria significativa de performance, trazendo benefícios diretos para o cliente. O tempo de processamento diário foi reduzido de aproximadamente 4 horas e 20 minutos para 1 hora e 25 minutos, representando uma diminuição de cerca de 67,31% na duração total do processo.
- Além da redução no tempo de execução, as melhorias implementadas também otimizaram o consumo de recursos, diminuindo significativamente a utilização de memória e processamento do servidor. Isso resultou em um ambiente mais eficiente e estável, permitindo que outras operações críticas rodem com maior fluidez. Adicionalmente, houve uma redução expressiva na escrita no banco de dados, minimizando a concorrência por I/O e melhorando o desempenho geral do sistema.