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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
shiro seike
PRO
March 20, 2026
Programming
250
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
Why Continue AWS Community Builders
seike460
PRO
0
61
AWSコミュニティ活動は顧客のクラウド推進に効くのか / Do AWS community activities help customers adopt the cloud?
seike460
PRO
0
170
AI-DLC 入門 〜AIコーディングの本質は「コード」ではなく「構造」〜 / Introduction to AI-DLC: The Essence of AI Coding Is Not “Code” but “Structure”
seike460
PRO
0
910
今さら聞けないサーバーレスのいいところ 〜運用から解放される世界を目指して〜 / The Benefits of Serverless You Might Be Too Embarrassed to Ask About Now — Aiming for a World Free from Operational Burdens
seike460
PRO
0
95
AWS Lambda Durable Functions のユースケースを探る / Exploring Use Cases for AWS Lambda Durable Functions
seike460
PRO
0
86
歴史から学ぶ「Why PHP?」 PHPを書く理由を改めて理解する / Learning from History: “Why PHP?” Rediscovering the Reasons for Writing PHP
seike460
PRO
0
470
Team-First Serverless Platform Engineering Approach to PHP Applications with Laravel and Bref
seike460
PRO
1
150
地方だからできる!コミュニティ参加と登壇を続ける意義 / “It’s Possible Because We’re in a Regional Area!” The Significance of Continuing to Participate in and Speak at Community Events
seike460
PRO
0
24
地方で実現!九州、福岡近郊のAWS活用事例 / Success Stories from the Regions! AWS Use Cases in Kyushu and the Fukuoka Area
seike460
PRO
0
22
Other Decks in Programming
See All in Programming
SkillsをS3 Filesに置く時のあれこれ
watany
3
1.6k
リセットCSSを1行消したらアクセシビリティが向上した話
pvcresin
4
520
書籍「ユーザーストーリーマッピング」が私のバイブル
asumikam
4
490
WebAssembly を読み込むベストプラクティス 2026年春版 / Best Practices for Loading WebAssembly (Spring 2026)
petamoriken
5
1.1k
運転動画を検索可能にする〜Cosmos-Embed1とDatabricks Vector Searchで〜/cosmos-embed1-databricks-vector-search
studio_graph
3
950
AI時代のエンジニアリングの原則 / Engineering Principles in the AI Era
haru860
0
1.3k
【ディップ|26年新卒研修資料】OpenAPI/Swagger REST API研修
dip_tech
PRO
0
170
My daily life on Ruby
a_matsuda
3
400
書き換えて学ぶTemporal #fukts
pirosikick
2
380
KMP × Kotlin 2.3 - How Android Got Slower While iOS Builds Improved by 47%
rio432
0
200
検索設計から 推論設計への重心移動と Recall-First Retrieval
po3rin
5
1.7k
Agentic Elixir
whatyouhide
0
450
Featured
See All Featured
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.9k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.5k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.8k
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
180
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
140
Believing is Seeing
oripsolob
1
120
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
190
Music & Morning Musume
bryan
47
7.2k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
780
How to train your dragon (web standard)
notwaldorf
97
6.6k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
150
Information Architects: The Missing Link in Design Systems
soysaucechin
0
920
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 で検出できるパターン • スパン数・形状・ギャップ が手がかり •
コードレビューで見逃すパターンを 発見