Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
プロファイラを使ったPHPアプリケーション改善の勘所
Search
Ryo Tomidokoro
January 30, 2019
Programming
4.8k
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
プロファイラを使ったPHPアプリケーション改善の勘所
PHPでのプロファイラを使ったパフォーマンスチューニングについて
Ryo Tomidokoro
January 30, 2019
Transcript
35 slides
ϓϩϑΝΠϥΛͬͨ PHPΞϓϦέʔγϣϯվળͷצॴ 1)1ษڧձ
໊લॴ྄ 3ZP5PNJEPLPSP ৬ۀ8FC"QQMJDBUJPO&OHJOFFS ॴଐ*OOPWBUPS+BQBO*OD ࡶ༻୲ झຯόεέοτϘʔϧ؍ઓ
ຊͷ͓ʹ͍ͭͯ
PHPΞϓϦέʔγϣϯվળ ύϑΥʔϚϯενϡʔχϯά ※ϦϑΝΫλϦϯάͰͳ͍
ύϑΥʔϚϯενϡʔχϯάͱʁ
ύϑΥʔϚϯενϡʔχϯάͱʁ ࠓճϨεϙϯελΠϜͷվળʹ͍ͭͯ ϓϩϑΝΠϥΛͬͯཧ٧ΊͰߦ͏ํ๏
ࣄલࣝͷ෮श
8FCΞϓϦέʔγϣϯ͕Ϣʔβʹಧ͘·Ͱ ࢀর) ωοτϫʔΫͳͥͭͳ͕Δͷ͔ʁ - ށࠜۈ (ܦBPࣾ) P10
ίϯτϩʔϧͰ͖ͳ͍ཁૉ͕ଟ͍ ྫʣαʔϏεɾϓϩόΠμ ϢʔβʔࣗͷωοτϫʔΫػثɾ 8FCΞϓϦέʔγϣϯ͕Ϣʔβʹಧ͘·Ͱ
ΞϓϦέʔγϣϯ୯ମͰग़དྷͳ͍ղܾ๏ ྫʣCDNͰίϯςϯπ·ͰͷڑΛॖΊΔ Ұ෦ػೳΛSaaSʹΓସ͑Δ 8FCΞϓϦέʔγϣϯ͕Ϣʔβʹಧ͘·Ͱ
֮͑ͯཉ͍͠ݴ༿ ϨΠςϯγʔ ͭͨΊʹ͔͔ͬͨ࣌ؒΛܭଌͨ͠ ࢀর) ৄղγεςϜɾύϑΥʔϚϯε - Brendan Gregg ༃ߛ
ඌ ߴ߂ (ΦϥΠϦʔδϟύϯ) P6 ༷ʑͳέʔεͰར༻͞ΕΔ HTTPͷϦΫΤετ͔ΒϨεϙϯε·Ͱ DBͷΫΤϦૹ৴͔Βσʔλड৴·Ͱ
ϨΠςϯγʔͷܭଌ νϡʔχϯάͷલʹܭଌ͕ඞਢ ਪଌ͢ΔͳɺܭଌͤΑɻ
ཧ༝ͳ͠ͷվળ/( αʔϏεӡӦʹແӨڹ ٕज़తຬ͚ͩΛٻΊΔͷNG ࣌ؒ༗ݶ ཧը໘ܥ ΄΅ΘΕͳ͍ϨΞػೳ όονॲཧ ແҋʹϛυϧΣΞͱ͔ಋೖ͠ͳ͍
νϡʔχϯάΛߦ͏ཧ༝ͷྫ SLA ΫϨʔϜ ίετ໘ Ṗͷ̏ඵϧʔϧͰɺແ͍ΑΓϚγ ϨΠςϯγʔඪͷઃఆ ҰൠϢʔβɺιʔγϟϧΤΰαʔν αʔόʔݮ ػձଛࣦΛͳ͘͢ɻTVCMɻ
ͬͱຊ
νϡʔχϯάͷର ୯Ұαʔόͷੑೳ্ ࢀর) αʔό/ΠϯϑϥΛࢧ͑Δٕज़ - ٕज़ධࣾ 4ষ όοΫΤϯυΤϯδχΞͷ ˍίϯτʔϧՄೳͳྖҬ
νϡʔχϯάͷྲྀΕ ϨΠςϯγʔͷܭଌ ͷ͋Δϓϩηεͷಛఆ ϓϩϑΝΠϦϯά νϡʔχϯά ϨΠςϯγʔͷܭଌ
ϓϩϑΝΠϦϯά ίʔυ࣮ߦ࣌ʹҰମͲͷॲཧʹͲΕ͘Β͍ͷ࣌ ͕͔͔͍ؒͬͯΔͷ͔Λܭଌͨ͠ͷ Α͏͢Δʹ… ҰମԿ͕ͳΜͩʂʁΛڭ͑ͯ͘ΕΔ
ϨΠςϯγʔܭଌ WebΞϓϦϨεϙϯελΠϜͰOK Logʹग़ྗ curlͰԿͰ͍͍…ଌΕΕɻ Nginx : $request_time Apache : %D
ࠓճར༻͢ΔϓϩϑΝΠϥ blackfire.io ଞҙແ͍Ͱ͢ɺݱ࣌Ͱൺֱతಋೖ͕؆୯ͳSaaS ※ҙ AlpineͰಈ࡞͠ͳ͔ͬͨͰ͢
ϓϩϑΝΠϧ݁Ռ
ϓϩϑΝΠϧ݁Ռ
ϓϩϑΝΠϧ݁ՌΛධՁ վળՄೳͳΛܭࢉ 969 - 449 = 520msec ϘτϧωοΫΛղফ͢Δͱ50%ఔੑೳվળ
ϓϩϑΝΠϧ݁Ռ
ϓϩϑΝΠϧ݁Ռ
ϓϩϑΝΠϧ݁ՌΛධՁ վળՄೳͳΛܭࢉ 514 - 185 = 329msec ϘτϧωοΫΛղফ͢Δͱ35%ఔੑೳվળ
ϓϩϑΝΠϧ݁Ռ
νϡʔχϯάͷྲྀΕ ϨΠςϯγʔͷܭଌ ͷ͋Δϓϩηεͷಛఆ ϓϩϑΝΠϦϯά νϡʔχϯά ϨΠςϯγʔͷܭଌ
େࣄͳ৺ಘ
νϡʔχϯά࣌ͷඪޠ ϘτϧωοΫ͔ΒΛҳΒ͞ͳ͍ ؆୯Ͱখ͍͞վળʹಀ͛ͳ͍ ݪҼͱ݁Ռͷ๏ଇ ޮՌతͰͳ͍ ແବͳίʔυΛੜΉ
·ͱΊ
·ͱΊ ɾϓϩϑΝΠϦϯάສೳͰͳ͍ ɾܭଌ͕ඞਢ ɾཧ٧ΊͷTry & Error ৭Μͳղܾ๏ͷதͷ̍ͭͰ͔͠ͳ͍ ৬ਓܳෆཁɻࣈͰޠΓ·͠ΐ͏
͞ΒʹΓ͍ͨਓ…
͓͓ͪͯ͠Γ·͢ -BSBWFM+1$POGFSFODF
-BSBWFM+1$POGFSFODF ελοϑͰϫϯνϟϯ…
More Decks by Ryo Tomidokoro
See All by Ryo Tomidokoro
Laravelで学ぶ Webアプリケーションチューニング入門/web_application_tuning_101
hanhan1978
4
2.6k
あるアーキテクチャ決定と その結果/architecture-decision-and-its-result
hanhan1978
2
1.9k
開発者が知っておきたい複雑さの正体/where-the-complexity-comes-from
hanhan1978
8
4k
Spec Driven Development入門/spec_driven_development_for_learners
hanhan1978
2
2k
フロントエンドがTypeScriptなら、バックエンドはPHPでもいいじゃない/php-is-not-bad
hanhan1978
8
14k
どうすると生き残れないのか/how-not-to-survive
hanhan1978
17
15k
100分で本番デプロイ!Laravelで作るWebアプリケーション作成/100min_web_app_cicd
hanhan1978
1
310
PHPerのための計算量入門/Complexity101 for PHPer
hanhan1978
8
4.1k
集中して作業する技術/how_to_work_deeply
hanhan1978
69
62k
Other Decks in Programming
See All in Programming
AI時代のFlutter品質設計 — アプリ品質を守るQuality Layers
omatty198
0
370
[DroidKnights 2026] Workflow AX: From Auto-Documented Policies to E2E Testing
raeminkang
0
570
あなたの await、OS まで届いてる? strace で覗く JavaScript の非同期
hasutosasaki
1
2.3k
Getting Started with Vibe Coding
miccheng
0
220
우리의 Nitro Modules는 당신의 Turbo Modules보다 아름답다
l2hyunwoo
0
260
조합이폭발하는디자인시스템이걸눈으로도테스트하라고요
giljongyu
0
750
全ての永続トークンを、生まれる前に消し去りたい!
sylph01
3
1.7k
クラウドゲーミングのパフォーマンス最適化に挑む / Cloud Gaming Performance Tuning
vivion
0
330
Rails初心者がパスキーを実装してみて大変だったこと
ktombow
0
180
まずはコードより業務と向き合う:テーブル解体のためにPdMを呼んだ話
sakawe_ee
0
220
Engineering Biometric UX Across Android Versions | DroidKnights 2026
ryunen344
1
200
AIがコードを書いてくれる時代、我々は何を確かめるのか
yosuke_furukawa
PRO
13
5.9k
Featured
See All Featured
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.6k
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
340
StorybookのUI Testing Handbookを読んだ
zakiyama
31
7.1k
From π to Pie charts
rasagy
1
450
Into the Great Unknown - MozCon
thekraken
41
2.8k
brightonSEO & MeasureFest 2025 - Winning Strategies for Black Friday CRO & PPC - Christian Goodrich
cargoodrich
3
900
Fashionably flexible responsive web design (full day workshop)
malarkey
409
67k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
690
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.8k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
31k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
23k
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
2
400