Profiling em PHP: onde medir primeiro
Profiling em PHP: onde medir primeiro — Performance é consequência de boas escolhas e de medir o que realmente importa (p95/p99, DB, cache).
O objetivo aqui é prático: decisões pequenas que melhoram confiabilidade e manutenção. Se você já lidou com bugs intermitentes, sabe o valor de padrões simples.
Como eu abordo
- Comece com o caso real (o que está quebrando ou ficando caro).
- Defina uma regra pequena e aplicável (sem reescrever tudo).
- Instrumente: teste, log ou métrica para confirmar melhora.
- Documente o “porquê” em poucas linhas para não perder contexto.
Armadilhas comuns
- Otimizar cedo sem medir.
- Misturar camadas (controller fazendo SQL, por exemplo).
- Não registrar contexto (request id, rota, usuário) nos logs.
- Apostar em “mágica” de framework sem entender o fluxo.
Dica: prefira mudanças pequenas e reversíveis. Se não dá para reverter, você está fazendo uma aposta grande demais.
Checklist rápido
- Qual é o risco principal (segurança, performance, disponibilidade)?
- Como eu valido a mudança (teste, log, métrica)?
- O que pode dar errado e como reverter?
- Quem mantém isso daqui a 3 meses?
Trecho de código
nginx
# Nginx + PHP-FPM: timeouts e buffers (exemplo)
fastcgi_connect_timeout 5s;
fastcgi_send_timeout 30s;
fastcgi_read_timeout 30s;
fastcgi_buffering on;
Se esta nota te poupou tempo, anote o que você ajustou e por quê. Isso vira um guia interno com o tempo.
#profiling #xdebug #php #debug #tls #http2 #lint
Autor
Rafael Almeida
Contato