|
Durante o desenvolvimento de aplicações, muitas vezes precisamos ter uma percepção real de onde se encontram os "gargalos" de nossa aplicação.
Para tanto, venho apresentar na dica de hoje, duas ferramentas simples que utilizo para realização de Profiling.
Profiling é o processo de analisar
a performance, utilização de recursos e tempo de execução de uma aplicação. No processo geralmente são gerados relatórios que informam graficamente o percentual, o tempo de processamento e o fluxo/ordem das requisições.
Para o PHP utilizo o XDebug e para análise de HTML/Ajax o FireBug
O XDebug é instalado como uma extensão do PHP no servidor web. Abaixo as configurações do arquivo php.ini que utilizo:
;XDEBUG SETTINGS
xdebug.profiler_aggregate = 1
xdebug.profiler_output_name = cachegrind.out.%H%R
xdebug.profiler_enable = 1
xdebug.profiler_output_dir = /php_profile
xdebug.auto_trace = 0
xdebug.trace_output_dir = /php_trace
A opção xdebug.profiler_output_dir diz onde onde serão gravados os arquivos de profile. No meu caso, mandei que fossem escritos em /php_profile
Não esquecer de configurar as permissões de escrita no diretório! Dentro deles serão gerados arquivos como cachegrind.out.nome_do_site (Na minha configuração. O padrão é criar um arquivo de nome único)
Uma vez instalada, configurada e habilitada, a extensão XDebug irá gerar os arquivos cachegrind para serem analisados por outra ferramenta. No linux utilizo o KCacheGrind
Abaixo você vê um screenshot da ferramenta analisando uma requisição feita ao Joomla.
A instalação do FireBug é bastante simples, como qualquer outra extensão do Firefox. Abaixo você confere um screenshot da utilização da ferramenta.
 Ajax Profiling
 HTML Profiling
|