Linux, Open-source, Programação e Produtividade

Performance Probe

Jonas Abreu em 07/04/2012

Uma coisa que sempre costumo fazer para reduzir o Confounding Factor nos testes de performance é separar blocos que façam sentido dentro da aplicação e analiso eles individualmente.

Por exemplo, separar as conexões de rede costuma ser fundamental, porque costumo testar a aplicação fora do ambiente de produção, que em geral tem uma rede dedicada de alta performance.

Depois disso, algumas vezes separo também a camada de visualização. Um caso que fiz isso foi de uma aplicação que usava Xslt com várias estensões para gerar a view, o que em geral consumia 60% do tempo de processamento da requisição.

Pra fazer isso, a melhor forma que encontrei foi colocar dentro da aplicação uma classe boba que simplesmente mede o tempo gasto em cada um desses pedaços, que é o que chamo de Performance Probe.

A implementação disso não tem nenhum segredo. É apenas uma classe com vários métodos static que marcam o começo e o fim de cada pedaço da aplicação e que no fim da requisição imprime no console o que foi gasto de tempo.

A grande vantagem é que isso me dá medidas que são mais fáceis de interpretar, mas ao mesmo tempo não são tão pequenas quanto o tempo gasto por um método.

Depois disso parto para o profiler, já sabendo em que parte da aplicação focar.

Creative Commons License
Performance Probe de Jonas Abreu está licenciado sob Creative Commons License.