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
510
O Mundo Mágico dos Profilers
dianaarnos
0
140
Trabalhar na gringa - Como chegar lá?
dianaarnos
0
330
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
540
PHP, Symfony and Security
dianaarnos
0
760
Back End Performático - CPGoiás 2019
dianaarnos
0
92
Other Decks in Programming
See All in Programming
20250429 - CNTUG Meetup #67 / DevOps Taiwan Meetup #69 - Deep Dive into Tetragon: Building Runtime Security and Observability with eBPF
tico88612
0
170
KawaiiLT 登壇資料 キャリアとモチベーション
hiiragi
0
160
今話題のMCPサーバーをFastAPIでサッと作ってみた
yuukis
0
110
ニーリーQAのこれまでとこれから
nealle
2
160
状態と共に暮らす:ステートフルへの挑戦
ypresto
3
1.1k
Make Parsers Compatible Using Automata Learning
makenowjust
2
6.9k
By the way Google Cloud Next 2025に行ってみてどうだった
ymd65536
0
110
State of Namespace
tagomoris
5
2.4k
fieldalignmentから見るGoの構造体
kuro_kurorrr
0
130
一緒に働きたくなるプログラマの思想 #QiitaConference
mu_zaru
78
20k
2ヶ月で生産性2倍、お買い物アプリ「カウシェ」4チーム同時改善の取り組み
ike002jp
1
110
Deoptimization: How YJIT Speeds Up Ruby by Slowing Down / RubyKaigi 2025
k0kubun
2
1.9k
Featured
See All Featured
Designing for Performance
lara
608
69k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
23
2.7k
How GitHub (no longer) Works
holman
314
140k
Scaling GitHub
holman
459
140k
Building an army of robots
kneath
305
45k
Java REST API Framework Comparison - PWX 2021
mraible
31
8.5k
Testing 201, or: Great Expectations
jmmastey
42
7.5k
Making Projects Easy
brettharned
116
6.2k
Optimising Largest Contentful Paint
csswizardry
37
3.2k
Designing Experiences People Love
moore
142
24k
The Pragmatic Product Professional
lauravandoore
33
6.6k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.6k
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