Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Profiling 101: o que é e como fazer - PHPConfer...
Search
Diana Arnos
December 07, 2019
Programming
1
390
Profiling 101: o que é e como fazer - PHPConference 2019
Uma introdução ao profiling e sua execução com xdebug e blackfire.io
Diana Arnos
December 07, 2019
Tweet
Share
More Decks by Diana Arnos
See All by Diana Arnos
PHP Além do Síncrono
dianaarnos
1
520
O Mundo Mágico dos Profilers
dianaarnos
0
140
Trabalhar na gringa - Como chegar lá?
dianaarnos
0
340
PCS2020 - PHP Além do Síncrono
dianaarnos
2
1k
VDPWeekend - Emprego dos Sonhos - O que esperam de você e como ser cada vez melhor
dianaarnos
1
170
PHPPR Live 2020 - PHP Paralelo e Distribuído
dianaarnos
0
130
PHP e Segurança: é possível - PHPConference BR 2019
dianaarnos
0
550
PHP, Symfony and Security
dianaarnos
0
770
Back End Performático - CPGoiás 2019
dianaarnos
0
96
Other Decks in Programming
See All in Programming
「MCPを使ってる人」が より詳しくなるための解説
yamaguchidesu
0
590
"使いづらい" をリバースエンジニアリングする UI の読み解き方
rebase_engineering
0
110
ワイがおすすめする新潟の食 / 20250530phpconf-niigata-eve
kasacchiful
0
180
What Spring Developers Should Know About Jakarta EE
ivargrimstad
1
590
tsconfigのオプションで変わる型世界
keisukeikeda
1
130
AI時代のリアーキテクチャ戦略 / Re-architecture Strategy in the AI Era
dachi023
0
190
バランスを見極めよう!実装の意味を明示するための型定義 TSKaigi 2025 Day2 (5/24)
whatasoda
2
770
List Unfolding - 'unfold' as the Computational Dual of 'fold', and how 'unfold' relates to 'iterate'"
philipschwarz
PRO
0
130
Rethinking Data Access: The New httpResource in Angular
manfredsteyer
PRO
0
220
ユーザーにサブドメインの ECサイトを提供したい (あるいは) 2026年函館で一番熱くなるかもしれない言語の話
uvb_76
0
170
Investigating Multithreaded PostgreSQL
macdice
0
150
TypeScriptのmoduleオプションを改めて整理する
bicstone
4
420
Featured
See All Featured
Building Better People: How to give real-time feedback that sticks.
wjessup
368
19k
RailsConf 2023
tenderlove
30
1.1k
Product Roadmaps are Hard
iamctodd
PRO
53
11k
Adopting Sorbet at Scale
ufuk
76
9.4k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.8k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
52
2.8k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
129
19k
Bash Introduction
62gerente
614
210k
Intergalactic Javascript Robots from Outer Space
tanoku
271
27k
Making the Leap to Tech Lead
cromwellryan
133
9.3k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
Transcript
PROFILING 101 O que é e como fazer?
@dianaarnos Dev, Sec, Music, Kung Fu. Engenheira de Software @
Blackfire.io Arquiteta e Desenvolvedora @ MT4 Evangelista @ PHPSP Evangelista @ PHPWomenBR
ERA UMA VEZ UMA APLICAÇÃO...
None
None
NA SEMANA SEGUINTE...
None
None
None
VOCÊ FAZ DEPLOY?
None
NÃO.
E QUANDO A PERFORMANCE É MENOR?
PERFORMANCE RUIM = - DINHEIROS
RUIM PARA O NEGÓCIO = DISFUNÇÃO
DISFUNÇÃO = BUG
None
PERFORMANCE = FEATURE
https://edge.akamai.com/ec/us/highlights/keynote-speakers.jsp#edge2016futureofcommercemodal ALIEXPRESS -36% LOAD TIME = +10,5% DE PEDIDOS
PERFORMANCE NO CICLO DE VIDA DE DESENVOLVIMENTO
COMO MEDIR?
PROFILING.
PROFILING. PROFILING?
ANÁLISE DINÂMICA
ANÁLISE DINÂMICA MEDIÇÕES (MEMÓRIA, TEMPO, CHAMADAS)
ANÁLISE DINÂMICA MEDIÇÕES (MEMÓRIA, TEMPO, CHAMADAS) OTIMIZAÇÃO
EXISTEM ALGUMAS FERRAMENTAS
None
PROFILER EMBUTIDO
#php.ini xdebug.profiler_enable = 1 xdebug.profiler_output_dir = /caminho/diretório
cachegrind.out.{hash/PID}
KCACHEGRIND
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
ON-DEMAND
ON-DEMAND TODOS OS AMBIENTES
ON-DEMAND TODOS OS AMBIENTES SEM OVERHEAD EM NON-PROFILING REQUESTS
BUILDS
None
None
None
None
None
None
REFERÊNCIAS http://bit.ly/diana-ref2
SLIDES http://bit.ly/diana-slides2
OBRIGADA! Fale comigo: @dianaarnos