Uma introdução ao profiling e sua execução com xdebug e blackfire.io
PROFILING 101O que é e como fazer?
View Slide
@dianaarnosDev, Sec, Music, Kung Fu.Engenheira de Software @ Blackfire.ioArquiteta e Desenvolvedora @ MT4Evangelista @ PHPSPEvangelista @ PHPWomenBR
ERA UMA VEZ UMA APLICAÇÃO...
NA SEMANA SEGUINTE...
VOCÊ FAZ DEPLOY?
NÃO.
E QUANDO A PERFORMANCE ÉMENOR?
PERFORMANCE RUIM = - DINHEIROS
RUIM PARA O NEGÓCIO = DISFUNÇÃO
DISFUNÇÃO = BUG
PERFORMANCE = FEATURE
https://edge.akamai.com/ec/us/highlights/keynote-speakers.jsp#edge2016futureofcommercemodalALIEXPRESS-36% LOAD TIME = +10,5% DE PEDIDOS
PERFORMANCE NO CICLO DE VIDADE DESENVOLVIMENTO
COMO MEDIR?
PROFILING.
PROFILING.PROFILING?
ANÁLISE DINÂMICA
ANÁLISE DINÂMICAMEDIÇÕES (MEMÓRIA, TEMPO, CHAMADAS)
ANÁLISE DINÂMICAMEDIÇÕES (MEMÓRIA, TEMPO, CHAMADAS)OTIMIZAÇÃO
EXISTEM ALGUMAS FERRAMENTAS
PROFILER EMBUTIDO
#php.inixdebug.profiler_enable = 1xdebug.profiler_output_dir = /caminho/diretório
cachegrind.out.{hash/PID}
KCACHEGRIND
ON-DEMAND
ON-DEMANDTODOS OS AMBIENTES
ON-DEMANDTODOS OS AMBIENTESSEM OVERHEAD EM NON-PROFILINGREQUESTS
BUILDS
REFERÊNCIAShttp://bit.ly/diana-ref2
SLIDEShttp://bit.ly/diana-slides2
OBRIGADA!Fale comigo: @dianaarnos