Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
Profiling 101: o que é e como fazer - PHPConference 2019
Diana Arnos
December 07, 2019
Programming
1
330
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
340
O Mundo Mágico dos Profilers
dianaarnos
0
110
Trabalhar na gringa - Como chegar lá?
dianaarnos
0
210
PCS2020 - PHP Além do Síncrono
dianaarnos
2
860
VDPWeekend - Emprego dos Sonhos - O que esperam de você e como ser cada vez melhor
dianaarnos
1
120
PHPPR Live 2020 - PHP Paralelo e Distribuído
dianaarnos
0
95
PHP e Segurança: é possível - PHPConference BR 2019
dianaarnos
0
490
PHP, Symfony and Security
dianaarnos
0
500
Back End Performático - CPGoiás 2019
dianaarnos
0
77
Other Decks in Programming
See All in Programming
Named Document って何?
harunakano
0
190
Reactでアプリケーションを構築する多様化
sakito
4
2.9k
Angular's new Standalone Components: How Will They Affect My Architecture? @iJS London 2022
manfredsteyer
PRO
0
380
About Type Syntax Proposal
quramy
1
840
ebpfとWASMに思いを馳せる2022 / techfeed-conference-2022-ebpf-wasm-amsy810
masayaaoyama
0
390
機能横断型チームにおける技術改善
takeshiakutsu
3
400
Yumemi.apk #6 ~ゆめみのAndroidエンジニア 日頃の成果大発表会!~ Session 2
blendthink
1
200
Go言語仕様輪読会の開催を通じた振り返り
syumai
1
140
Develop your CI tools
xgouchet
2
180
Groovy Roadmap
paulk
7
13k
iOSアプリの技術選択2022
tattn
6
1.9k
How useEvent would change our applications
koba04
1
1.3k
Featured
See All Featured
Building Applications with DynamoDB
mza
83
4.6k
Designing on Purpose - Digital PM Summit 2013
jponch
106
5.6k
Web development in the modern age
philhawksworth
197
9.3k
Building a Scalable Design System with Sketch
lauravandoore
447
30k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
37
3.2k
Web Components: a chance to create the future
zenorocha
303
40k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
3
430
The Illustrated Children's Guide to Kubernetes
chrisshort
14
34k
Done Done
chrislema
174
14k
Clear Off the Table
cherdarchuk
79
280k
Writing Fast Ruby
sferik
612
57k
Scaling GitHub
holman
451
140k
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