| Feb 16 |
ANTS Profiler: Dica de ferramenta para Performance Test em .NETDica rápida pessoal Se você é um desenvolvedor/analista/arquiteto em plataforma microsoft .net então compensa gastar um minutinho na leitura. Faz um tempo que conheci essa ferramenta e queria postar algo aqui para quem estiver interessado. Trata-se do ANTS Performance Profiler, uma ferramenta da Red Gate para ajudar na análise e medição do seu código com relação a performance da aplicação. O próprio Visual Studio nos dá excelentes ferramentas para analisar e refatorar nosso código em busca de performance, mas, o que eu gostei particularmente no ANTS é na facilidade de utilização e na coerência dos resultados. O ANTS possui várias ferramentas muito simples de usar e oferece ganhos significativos para você que é desenvolvedor e está num projeto solo ou para você que é arquiteto pensando em como provar uma arquitetura ou modelo para o próximo projeto. Você pode baixar uma versão trial no site da Red Gate e experimentar por 14 dias todas as funcionalidades da ferramenta. A idéia é muito simples: Você aponta para um site que está publicado em sua rede local, ou mesmo para a pasta onde seu projeto web está “deploiado”. No caso da pasta, o próprio ANTS vai iniciar um application server (cassini) e carregar sua aplicação. Enquanto você navega pela sua página, o ANTS vai registrando um gráfico de recursos da aplicação. Este gráfico contém contadores que são totalmente configuráveis (processador, memória, IO, etc). Ao encontrar picos de utilização, você pode selecionar a área na time-line com o mouse. Automaticamente, o ANTS mostrará o código implementado com todos os métodos e quais são os candidatos a estarem causando o problema. Podemos ver na imagem abaixo, um exemplo da análise: Além de aplicações web, você também pode utilizar o profiler para desktops, fazendo a análise diretamente dos arquivos executáveis. Eu já utilizei o ANTS em um projeto crítico de performance e ele me ajudou muito. Só na primeira utilização, conseguimos melhorar a performance de uma página home em quase 60%. Então recomendo fortemente que vocêteste e comece a utilizar por uns dias. Se gostar, vale a pena o preço. A idéia é você utilize uma ferramenta de profiler e se preocupe com a performance do seu código no dia-a-dia, a cada linha de código escrita. Muitos desenvolvedores só pensam na performance de sua aplicação quando terminam de desenvolver todo o código e passam o sistema para a “fase de validação”. Quando o sistema é colocado no ambiente do cliente ou num ambiente de testes preparado com infraestrutura e dados reais. Só que aí, descobre-se que aquele design de arquitetura lindo que você leu num livro e colocou no projeto está fazendo com que um tela do sistema leve 5 minutos para carregar. Podemos classificar isso como um AntiPattern (desenvolve, testa, “tuna”), mas vamos falar sobre isso em outro artigo Enquanto isso, espero que o ANTS ajude a todos vocês como me ajudou. Grande abraço. André Nascimento 4 Responses to “ANTS Profiler: Dica de ferramenta para Performance Test em .NET”Leave a Reply |


Ae andré, só pra constar: favoritei seu blog E “comprarei” esse programa pra brincar aqui.
Fala André,
Show de bola a dica.
Não sei se concordo com a sua visão sobre antecipar o cuidado com a performance, principalmente quando você fala em cada linha de código escrita.
Penso que o que precisa ser feito em um primeiro momento é analisar se a solução como um todo não possui alguma característica que pode vir a se tornar um gargalo no cenário a ser atendido.
É claro que isso não significa que podemos desprezar alguns elementos básicos durante a fase de desenvolvimento – por exemplo utilizar incorretamente a Sessão do HTTP.
Mas aquilo que realmente é tuning, acredito que vem mais pra frente, até porque não é tão fácil assim identificar que tipo de problema mais pontual pode vir a existir.
Sim, sim Rafa. A sua visão está correta sob o ponto de vista do design da aplicação.
Talvez “cada linha de código” tenha sido uma colocação infeliz. O que eu quero dizer é que a maioria dos desenvolvedores escreve código sem se preocupar com fatos como: Onde e Como a aplicação vai rodar; Qual será o volume de dados; Acessos; Se existirão horários de pico; etc.
Este inclusive é uma das maiores causas de problemas quando o software é entregue. Claro que há outros pontos que ajudam a minimizar este risco, como entregas parciais (por exemplo),
Também não acho que deixe de ser necessário um momento para tratar do tunning da aplicação após esta ser entregue. Até porque grande parte desses problemas acontecem mesmo em ambiente de homologação / produção.
O pior é que essa prática de deixar pra testar e ajustar tudo no final acabou virando regra pra todo mundo. Tornou normal escrever de qualquer jeito, porque estamos contanto que depois da entrega um “arquiteto” ficará alocado no cliente 1 mês pra poder “tunar” a aplicação.
Eu considero essa prática um AntiPattern, sob o ponto de vista de que precisamos nos preocupar com as questões de performance desde o início do desenvolvimento e não só no final.
Abraços
Valeu Thales… muito obrigado pela atenção e pelo comentário.
Espero sempre trazer posts interessantes pra comunidade.
Grande abraço.