XDebug é um pacote de debug e análise para PHP, provendo informações úteis como uso de memória, rastreamento de funções e pilhas, e desempenho.
KCacheGrind é um aplicativo para análise de dados de desempenho como os gerados pelo XDebug. Tem vários recursos gráficos para visulizar a execução do programa sendo analisado e os recursos utilizados por cada unidade deste programa.
O XDebug não deve ser instalado em máquinas de produção pois causa uma carga extra em função de suas análises. A instalação dos pacotes em distribuições baseadas em Debian (Debian/Ubuntu/XUbuntu) se dá pelo comando:
apt-get php5-xdebug kcachegrind graphviz
A análise de desempenho (profiler) deve ser adicionada ao seu php.ini (em /etc/php5/apache2/php.ini). O valor 1 liga a análise, 0 desliga a análise.
xdebug.profiler_enable = 1
Após a alteração, reinicie o Apache.
/etc/init.d/apache2 restart
A cada execução, o XDebug criará um arquivo em /tmp com os dados da análise de desempenho. O nome do arquivo será parecido com
cachegrind.out.*
onde * é o número do processo apache que deu origem a esta análise. É um arquivo de texto puro.
Aqui entra o KCacheGrind. Abra o arquivo cachegrind.out.* e veja onde seu script está gastando mais tempo. Otimize primeiro o que está gastando mais tempo. A unidade de tempo do KCacheGrind é simplesmente uma unidade de tempo e não o tempo de execução em milisegundos.
Como otimizar? Isso fica pra outro post.
Maiores informações:
http://kcachegrind.sourceforge.net/html/Home.html
http://www.xdebug.org/
ou deixe um comentário.
