terça-feira, 3 de fevereiro de 2015

A memória do servidor não para de subir! E agora?

O DESAFIO


Um novo sistema web de monitoramento de execução de serviços nos ativos da empresa, recém-colocado em produção, apresentou consumo excessivo de memória. A arquitetura da aplicação apresentava elevada complexidade devido à integração com o PABX da empresa, servidor de cache dedicado e sistema de push de eventos para os browsers conectados. O crescimento ilimitado da memória causava recycle no pool de aplicações do IIS (Internet Information Services) fazendo com que todos os usuários clientes perdessem a conexão com o servidor e consequentemente interrompendo os atendimentos e consultas com os fornecedores de serviço.


A SOLUÇÃO

Com a utilização de ferramentas de análise dos arquivos de Dump (Despejo) do servidor o time de analistas da DTI identificou um vazamento de memória na comunicação entre a aplicação web e o servidor de cache dedicado – AppFabric. Uma vez encontrado o ponto ofensor, foi realizada a refatoração do código das classes de interface com o servidor de cache garantindo a segurança na execução desta comunicação.


A ABORDAGEM ÁGIL DTI

A equipe de analistas da DTI, contando com a colaboração da equipe de TI do cliente, elaborou uma abordagem de ataque ao problema seguindo passos bem estruturados e levantando eficientemente todos os possíveis pontos causadores do vazamento de memória. Utilizando conhecimentos nas mais avançadas ferramentas de depuração de memória para ambiente .NET, identificamos e isolamos o problema para entender exatamente o comportamento da aplicação conseguindo, inclusive, replicar o comportamento em um ambiente de testes.


O RESULTADO

Após o reparo da causa raiz do vazamento de memória, foi realizada uma nova publicação da aplicação e o acompanhamento posterior mostrou que o consumo de memória havia estabilizado. Além disso, durante a análise do código, foram encontrados outros potenciais problemas no código que também foram corrigidos fazendo com que está intervenção fosse amplamente benéfica para o sistema do cliente.
Em outra oportunidade, a equipe da DTI realizou a análise de um vazamento de memória em ambiente Java-NetWeaver-Oracle de um sistema de integração de dados de produção industriais – MES – sendo também bem sucedida nesta tarefa.

Palavras chave, conceitos e tecnologias: AppFabric, Memory Leak, IIS, Vazamento de Memória, .NET, análise de Dump, memória gerenciada, memoria não-gerenciada


Visite nosso site: www.dtisistemas.com.br
Contato: marcelo.szuster@dtisistemas.com.br
Tel.: (31) 2514-0901

Nenhum comentário:

Postar um comentário