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
420
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
550
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
600
PHP, Symfony and Security
dianaarnos
0
830
Back End Performático - CPGoiás 2019
dianaarnos
0
130
Other Decks in Programming
See All in Programming
作るコストが小さくなった時代 幸せに働くために改めて考えたいこと 〜エンジニアとして価値を出し続けるために注視している二分野〜
yuppeeng
0
180
JAWS-UG横浜 #102 AWSサ終供養LT会 成仏できない AWS サービスたち 〜本日、三体供養します〜
maroon1st
0
310
壊れたパーサから始める関数型設計と構成的なパーサ #fp_matsuri
raiga0310
2
440
komatsuna「分散システムにおけるバグ分析手法」
komatsunaqa
0
230
信頼性について考えてみる(SRE NEXT 2026 miniLT)
hayama17
0
240
Built Our Own Background Agent at LayerX
layerx
PRO
9
4.8k
為什麼你並不需要ViewModel / No, you don't need a ViewModel
lovee
1
480
仕様駆動開発へのトライを機に チームに適合する手法を模索し続けている話
freee
PRO
0
400
型も通る、synthも通る、それでも危ない 〜AIのCDKの権限とコストを機械で検証する〜 / It Passes Type Checks, It Passes Synth Checks, but It’s Still Risky — Automatically Verifying Permissions and Costs in AI’s CDK —
seike460
PRO
1
530
20260722_microCMSで考える、AI時代のコンテンツ運用設計
yosh1
0
340
freee が目指す データ マネジメント戦略 AI-Ready 時代を支える 攻めのガバナンスとは
freee
PRO
0
250
torikago - Ruby::Boxで照らすモジュラモノリスの実行境界
se4weed
1
330
Featured
See All Featured
Fireside Chat
paigeccino
42
4k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.2k
エンジニアに許された特別な時間の終わり
watany
108
250k
VelocityConf: Rendering Performance Case Studies
addyosmani
333
25k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
820
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
270
A Tale of Four Properties
chriscoyier
163
24k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Designing for Timeless Needs
cassininazir
1
430
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
3k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
440
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
11k
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