Análise de desempenho do PHP com Xdebug
Habilite a análise de desempenho do Xdebug e analise a saída do callgrind para encontrar funções lentas.
Análise de desempenho do PHP com Xdebug é uma aula grátis de PHP Academy no CoddyKit. Esta é a aula 1 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de PHP Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de PHP Academy inclui 4 aulas no total.
O que é Xdebug?
Xdebug é uma extensão do PHP que oferece recursos de depuração, cobertura de código e criação de perfis de desempenho. O criador de perfis registra quanto tempo cada chamada de função leva e quantas vezes ela é chamada.
Instalando o Xdebug
Instale por meio do PECL ou de um gerenciador de pacotes.
# Via PECL:
$ pecl install xdebug
# Via apt:
$ apt install php-xdebug
# Verify:
$ php -v | grep XdebugAtivando o criador de perfis
Configure o Xdebug em php.ini para ativar a criação de perfis.
# php.ini
[xdebug]
zend_extension=xdebug.so
xdebug.mode=profile
xdebug.output_dir=/tmp/xdebug
xdebug.profiler_output_name=cachegrind.out.%tCriação de perfis baseada em gatilhos
Em vez de criar um perfil para cada solicitação, use um gatilho para criar perfis sob demanda.
# php.ini
xdebug.mode=profile
xdebug.start_with_request=trigger
# Trigger via query parameter or cookie:
curl "https://example.com/?XDEBUG_PROFILE=1"Saída do Callgrind
O Xdebug grava um arquivo cachegrind.out.*. Esse formato é lido por visualizadores de perfis de desempenho.
Analisando com KCachegrind / QCachegrind
Abra o arquivo do callgrind no KCachegrind (Linux) ou no QCachegrind (macOS/Windows) para ver: quantidade de chamadas de funções, tempo total, tempo próprio e a árvore de chamadas.
Analisando com WebGrind
WebGrind é um visualizador de callgrind baseado no navegador — mais fácil de configurar que uma ferramenta para computador.
$ docker run -p 8080:80 jokkedk/webgrind -v /tmp/xdebug:/tmpLendo a saída do criador de perfis
Procure funções com o maior "Custo inclusivo" (tempo total, incluindo as funções chamadas) em comparação com o "Custo próprio" (tempo apenas no corpo da função). O custo próprio revela o verdadeiro gargalo.
Gargalos comuns encontrados
Descobertas típicas: consultas N+1 ao banco de dados, expressões regulares ineficientes, chamadas redundantes à API, relacionamentos Eloquent não otimizados e renderização de visualizações dispendiosa.
Criação de perfis versus depuração
A criação de perfis mede o desempenho (tempo e quantidade de chamadas). A depuração (também um recurso do Xdebug) pausa a execução em pontos de interrupção para inspecionar o código. Use modos separados do Xdebug.
Blackfire como alternativa
Blackfire.io é uma ferramenta comercial de criação de perfis com uma interface refinada, integração contínua e asserções de desempenho. É preferível à criação de perfis bruta com Xdebug em ambientes de equipe.
Resumo
Ative o modo de criação de perfis do Xdebug em php.ini, acione uma solicitação e abra o arquivo do callgrind no KCachegrind ou no WebGrind. Concentre-se nas funções com os maiores custos inclusivo e próprio para encontrar gargalos.
Verificação rápida
O que significa "custo próprio" em um relatório de criação de perfis?
Perguntas Frequentes
A aula “Análise de desempenho do PHP com Xdebug” é grátis?
Sim — o texto completo de “Análise de desempenho do PHP com Xdebug” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de PHP Academy, atualize para CoddyKit PRO. O curso de PHP Academy inclui 4 aulas no total.
O que vou aprender em “Análise de desempenho do PHP com Xdebug”?
Habilite a análise de desempenho do Xdebug e analise a saída do callgrind para encontrar funções lentas. Você pratica PHP Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar PHP Academy?
Nenhuma experiência prévia é necessária. PHP Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 4.
Quanto tempo leva a aula “Análise de desempenho do PHP com Xdebug”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de PHP Academy?
Sim. Cada aula de PHP Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Análise de desempenho do PHP com Xdebug
- OPcache: cache de bytecode
- Otimização de consultas ao banco de dados
- Gerenciamento de memória e dicas de desempenho