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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Diana Arnos
December 07, 2019
Programming
410
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
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
More Decks by Diana Arnos
See All by Diana Arnos
PHP Além do Síncrono
dianaarnos
1
540
O Mundo Mágico dos Profilers
dianaarnos
0
170
Trabalhar na gringa - Como chegar lá?
dianaarnos
0
390
PCS2020 - PHP Além do Síncrono
dianaarnos
2
1.1k
VDPWeekend - Emprego dos Sonhos - O que esperam de você e como ser cada vez melhor
dianaarnos
1
220
PHPPR Live 2020 - PHP Paralelo e Distribuído
dianaarnos
0
180
PHP e Segurança: é possível - PHPConference BR 2019
dianaarnos
0
590
PHP, Symfony and Security
dianaarnos
0
820
Back End Performático - CPGoiás 2019
dianaarnos
0
130
Other Decks in Programming
See All in Programming
Signal Forms: Details & Live Coding @enterJS 2026 in Mannheim
manfredsteyer
PRO
0
230
これからAgentCoreを触る方へトレンドはGatewayです
har1101
6
480
「正の参照」と 「負の導出」で組む ハーネスエンジニアリング
cottpan
1
140
Claude Opus 4.6以後の受託開発エンジニアの変化(Claude Code開発ノウハウ大公開スペシャルbyクラスメソッド)
iidatakuma
1
560
【やさしく解説 設計編 #1】「ドメイン駆動」と「実装駆動」ってなに? 〜設計の考え方を、たとえ話で学ぼう〜
panda728
PRO
1
110
自作OSでスライド発表する
uyuki234
1
3.8k
AI 輔助遺留系統現代化的經驗分享
jame2408
1
1.2k
Generative UI & AI-Assistants for Your Angular Solutions
manfredsteyer
PRO
1
160
Generative UI & AI-Assistants for Your Angular Solutions
manfredsteyer
PRO
0
100
技術記事、 専門家としてのプログラマ、 言語化
mizchi
14
7.4k
1B+ /day規模のログを管理する技術
broadleaf
0
130
AIキャラアプリkaiwaの低遅延音声通話基盤をどう作ったか - AWS Gravitonで支える低遅延・低コストAI Agent基盤
mogamit
0
170
Featured
See All Featured
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
2
320
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.8k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
890
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
Utilizing Notion as your number one productivity tool
mfonobong
4
380
The Spectacular Lies of Maps
axbom
PRO
1
850
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.2k
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
220
エンジニアに許された特別な時間の終わり
watany
107
250k
Designing for humans not robots
tammielis
254
26k
Principles of Awesome APIs and How to Build Them.
keavy
128
18k
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