0Pricing
PHP Academy · Aula

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 Xdebug

Ativando 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.%t

Criaçã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:/tmp

Lendo 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

  1. Análise de desempenho do PHP com Xdebug
  2. OPcache: cache de bytecode
  3. Otimização de consultas ao banco de dados
  4. Gerenciamento de memória e dicas de desempenho
← Voltar para PHP Academy