Uma transação lenta para o usuário final nunca é bem vinda, mas é possível se preparar frente aos principais ofensores

 

Quando suas aplicações ficam lentas, como identificar onde está o problema? As principais causas de lentidão são geralmente enfrentadas e detectadas pelo usuário final, que geralmente acaba reclamando sobre a lentidão nos meios disponíveis, como as redes sociais. E se você fosse capaz de antecipar aos problemas relacionados a lentidão? Neste post você vai perceber que você é capaz sim!

 

Sizing adequado dos servidores de aplicação;

É frequente encontrar empresas que possuem suas aplicações sempre funcionando bem e com tempo aceitável, mas que em momentos de pico, como evento sazonais (imagina o Black Friday) por exemplo, sofre com o repentino crescimento da demanda. Neste momento entram em cena soluções como os ambientes autoscaling, muito utilizados hoje em dia.

Alto tráfego causando gargalo no throughput da rede;

As aplicações possuem infraestrutura onde são suportadas e um dos componentes, a rede, pode ser muitas vezes o gargalo. A solução APM da Econocom com a ferramenta AppDynamics|Cisco oferece funcionalidades que te ajudam a ter visibilidade 360o da sua rede, indicando por exemplo a taxa de PIE (Performance Impacting Events).

Queries SQL com lentidão ou problemas de contenção;

Bancos de dados são geralmente um assunto quente quando falamos de problemas nas aplicações. Não por serem o causador do problema, mas na maioria das vezes pela dificuldade em unificar as visões e times de aplicação e banco de dados.

Com a ferramenta AppDynamics é simples de separar os pontos de problema e oferecer visibilidade unificada para que os times possam trabalhar em conjunto e resolver os problemas rapidamente.

Códigos mal escritos;

Não tão frequente em ambientes produtivos, uma vez que as aplicações costumam passar por toda uma esteira de ambientes pré-produtivos antes de chegar à produção, mas que ainda assim existem no dia a dia. Com o recurso do Call Graph do AppDynamics é possível identificar o ponto de lentidão da sua transação e identificar se a lentidão reside no próprio código, separando por classes e métodos todo seu fluxo de execução.

Vazamentos de memória (Memory Leak);

Problema que geralmente causa um pouco mais de dor de cabeça. O Memory Leak acontece quando sua aplicação utiliza objetos em tempo de execução e mesmo sem precisar mais desses objetos, não marca os mesmos para a limpeza, causando um consumo de memória cada vez maior, que pode no fim das contas gerar um Out Of Memory (problema que ocorre quando não há mais memória disponível para uso da aplicação).
Algumas das funcionalidades do AppDynamics, como Leak Detection, Object Instance Tracking, Custom Memory Structures e Garbage Collection podem te auxiliar nesse tipo de troubleshooting.

Chamadas API externas;

Pode acontecer também da sua aplicação sofrer de lentidão enquanto o problema não é de sua responsabilidade . É o caso de chamadas externas, como chamadas de autenticação ou uso de APIs externas. Com o constante crescimento de novas tecnologias e ambientes distribuídos, está cada vez mais comum ambientes interligados com diversos serviços. Com o AppDynamics, uma vez que sua aplicação esteja monitorada, você consegue de forma clara e objetiva identificar se a causa é externa, e coletar evidências desse problema.

Com a solução de APM da Econocom, você será capaz de antecipar os principais problemas relacionados a lentidão e com isto aumentar a rentabilidade da empresa e garantir uma melhor experiência ao usuário final. E claro, ter mais sossego nos plantões e  mais horas de sono. =)