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
テレメトリーシグナルが導くパフォーマンス最適化 / Performance Optimizat...
Search
shiro seike
PRO
March 20, 2026
Programming
220
2
Share
テレメトリーシグナルが導くパフォーマンス最適化 / Performance Optimization Driven by Telemetry Signals
PHPerKaigi2026
https://phperkaigi.jp/2026/
shiro seike
PRO
March 20, 2026
More Decks by shiro seike
See All by shiro seike
AWSコミュニティ活動は顧客のクラウド推進に効くのか / Do AWS community activities help customers adopt the cloud?
seike460
PRO
0
56
AI-DLC 入門 〜AIコーディングの本質は「コード」ではなく「構造」〜 / Introduction to AI-DLC: The Essence of AI Coding Is Not “Code” but “Structure”
seike460
PRO
0
270
今さら聞けないサーバーレスのいいところ 〜運用から解放される世界を目指して〜 / The Benefits of Serverless You Might Be Too Embarrassed to Ask About Now — Aiming for a World Free from Operational Burdens
seike460
PRO
0
15
歴史から学ぶ「Why PHP?」 PHPを書く理由を改めて理解する / Learning from History: “Why PHP?” Rediscovering the Reasons for Writing PHP
seike460
PRO
0
440
Team-First Serverless Platform Engineering Approach to PHP Applications with Laravel and Bref
seike460
PRO
1
68
地方で実現!九州、福岡近郊のAWS活用事例 / Success Stories from the Regions! AWS Use Cases in Kyushu and the Fukuoka Area
seike460
PRO
0
14
なぜ適用するか、移行して理解するClean Architecture 〜構造を超えて設計を継承する〜 / Why Apply, Migrate and Understand Clean Architecture - Inherit Design Beyond Structure
seike460
PRO
3
1k
生成AIコーディングとの向き合い方、AIと共創するという考え方 / How to deal with generative AI coding and the concept of co-creating with AI
seike460
PRO
1
500
地方のPHPerもクラウドを使う理由 ~コストの最適化とチームに向き合う~ / Why even local PHPers use the cloud ~optimize costs and face the team
seike460
PRO
0
110
Other Decks in Programming
See All in Programming
GNU Makeの使い方 / How to use GNU Make
kaityo256
PRO
16
5.6k
アーキテクチャモダナイゼーションとは何か
nwiizo
17
4.6k
RSAが破られる前に知っておきたい 耐量子計算機暗号(PQC)入門 / Intro to PQC: Preparing for the Post-RSA Era
mackey0225
3
120
3分でわかるatama plusのQA/about atama plus QA
atamaplus
0
120
AIエージェントで業務改善してみた
taku271
0
500
Offline should be the norm: building local-first apps with CRDTs & Kotlin Multiplatform
renaudmathieu
0
160
PHPで TLSのプロトコルを実装してみるをもう一度しゃべりたい
higaki_program
0
180
飯MCP
yusukebe
0
490
生成 AI 時代のスナップショットテストってやつを見せてあげますよ(α版)
ojun9
0
340
Kubernetes上でAgentを動かすための最新動向と押さえるべき概念まとめ
sotamaki0421
3
440
瑠璃の宝石に学ぶ技術の声の聴き方 / 【劇場版】アニメから得た学びを発表会2026 #エンジニアニメ
mazrean
0
190
「話せることがない」を乗り越える 〜日常業務から登壇テーマをつくる思考法〜
shoheimitani
2
210
Featured
See All Featured
Become a Pro
speakerdeck
PRO
31
5.9k
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
410
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
190
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.4k
So, you think you're a good person
axbom
PRO
2
2k
The Spectacular Lies of Maps
axbom
PRO
1
680
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
220
Reality Check: Gamification 10 Years Later
codingconduct
0
2.1k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
23k
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
10k
WENDY [Excerpt]
tessaabrams
9
37k
A Modern Web Designer's Workflow
chriscoyier
698
190k
Transcript
©Fusic Co., Ltd. CONFIDENTIAL OSEKKAI × TECHNOLOGY テレメトリーシグナルが導くパフォーマンス最適化 PHPerKaigi 2026
2026.03.20 清家史郎 @seike460
©Fusic Co., Ltd. 自己紹介 はじめに 清家 史郎 (@seike460) SHIRO SEIKE
株式会社Fusicプリンシパルエンジニア/エバンジェリスト AWS User Group Leaders AWS Community Builder Serverless 2025 Japan AWS Top Engineers JAWS Days 2026 実行委員長
©Fusic Co., Ltd. アジェンダ
©Fusic Co., Ltd. 「なんか遅いんだよね」 • 勘と経験で 推測 する改善 • 本当に速くなったか
答えられない
©Fusic Co., Ltd. 推測するな、計測せよ • "Don't tune until you've measured"
• 計測には 3つのシグナル が必要
©Fusic Co., Ltd. • CNCF公式の ベンダーフリー テレメトリ基盤 • PHP: PECL拡張で
コード変更ゼロ計装 OpenTelemetry — 計測の標準基盤
©Fusic Co., Ltd. テレメトリパイプラインの設計
©Fusic Co., Ltd. 属性設計 — シグナルに意味を持たせる • api.version 属性で V1/V2
を区別 • Metrics のラベルとしても自動伝播
©Fusic Co., Ltd. 今日のサンプルアプリ : BookShelf API • V1 ボトルネックあり
/ V2 最適化済み • Docker Compose で 1コマンド起動
©Fusic Co., Ltd. 今日のサンプルアプリ : BookShelf API • V1 ボトルネックあり
/ V2 最適化済み • Docker Compose で 1コマンド起動
©Fusic Co., Ltd. Traces — ボトルネックを可視化する • 自動計装 がスパンツリーを自動生成 •
ウォーターフォールで 時間の内訳 が一目瞭然
©Fusic Co., Ltd. ボトルネック 1: N+1クエリ — V1 /books •
Book::all() — ページネーションなし • $book->author — 都度SELECT発行
©Fusic Co., Ltd. V1 トレース実測 : 50,009スパン / 約62秒 •
GET /api/v1/books の 実測 トレースデータ • 50,009スパン の異常なDB操作
©Fusic Co., Ltd. V2 の修正: Eager Loading + Pagination •
with() で N+1を解消 • paginate(20) で 20件ずつ 取得
©Fusic Co., Ltd. V2 トレース: 23スパン / 23ms 約2,700倍の改善 V1
V2 改善 レイテンシ 62,370ms 23ms ~2,700x スパン数 50,009 23 2,174x SQLクエリ ~10,001 4 2,500x
©Fusic Co., Ltd. ボトルネック 2: 同期外部API — V1 /orders
©Fusic Co., Ltd. Traces のウォーターフォール : 約5.5秒の内訳 • DB操作は 100ms以下
— 処理時間の 0.3% • 残り 99.7% は外部API + sleep
©Fusic Co., Ltd. V2 の修正: 非同期Job化 • 重い処理を Queue Job
にオフロード • 5,537ms → 1,017ms (約5倍改善)
©Fusic Co., Ltd. Metrics — 改善効果を計測する • Traces = 点の分析
/ Metrics = 線の監視 • spanmetrics で RED Metrics 自動生成
©Fusic Co., Ltd. spanmetrics connector Traces から Metrics を自動生成
©Fusic Co., Ltd. V1 vs V2 レイテンシ比較 — 実データ エンドポイント
V1 p95 V2 p95 改善率 GET /books 62,370ms 23ms ~2,700x POST /orders 5,537ms 1,017ms ~5x GET /books/{id} 35ms 29ms 1.2x GET /books/search 396ms 28ms ~14x
©Fusic Co., Ltd. Grafana ダッシュボード — 継続的な監視 • api_version ラベルで
V1/V2 比較 • V1/V2 比較 をリアルタイム監視
©Fusic Co., Ltd. カスタムメトリクスの設計
©Fusic Co., Ltd. Logs — コンテキストを補完する • trace_id でログへ直接ジャンプ •
構造化ログ で検索・フィルタ可能に
©Fusic Co., Ltd. Logs でバグを発見 : cache テーブル欠損
©Fusic Co., Ltd. 3シグナルの相関 — Trace IDで紐づける • spanmetrics で自動変換
• Exemplar で逆引き • これらをOpenTelemetryMCPを利用して「データソース」 に出来る
勘と経験に頼らず シグナルが導く改善を始めよう
©Fusic Co., Ltd. 本番運用の知見 • コスト・パフォーマンス・データ量の バランス • デモ環境と本番は 別物
©Fusic Co., Ltd. サンプリング戦略 • Head-based: 開始時に確率判定 • Tail-based: 完了後に条件判定
©Fusic Co., Ltd. Tail-based サンプリングの実践 • エラー/遅延トレースは 100% 収集 •
正常トレースは 10% サンプリング
©Fusic Co., Ltd. Collector 構成: memory_limiter と batch • memory_limiter:
512MiB 上限 • batch: 1024スパン ごと送信
©Fusic Co., Ltd. spanmetrics: カーディナリティに注意 • dimension 過多で メトリクス爆発 •
値が有限な属性だけを選ぶ
©Fusic Co., Ltd. 今日から始める 3ステップ • 計装 → 収集 →
可視化 の3ステップ • 数時間で 小さく始められる
©Fusic Co., Ltd. テレメトリーシグナルを取得して オブザーバビリティを始めよう まとめ • Traces — ボトルネック可視化
• Metrics — 改善効果の定量化 • Logs — 根本原因の特定
©Fusic Co., Ltd. OSEKKAI × TECHNOLOGY ご清聴いただきありがとうございました Thank You ココロと技術で、ぴったりも、びっくりも。
©Fusic Co., Ltd. Appendix 時間の関係で紹介しきれなかったスライドを供養するゾーンです
©Fusic Co., Ltd. Before/After — データに基づく改善効果
©Fusic Co., Ltd. N+1だけじゃない Traces で検出できるパターン • スパン数・形状・ギャップ が手がかり •
コードレビューで見逃すパターンを 発見