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
テレメトリーシグナルが導くパフォーマンス最適化 / Performance Optimizat...
Search
shiro seike
PRO
March 20, 2026
Programming
410
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
テレメトリーシグナルが導くパフォーマンス最適化 / 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
地方こそサーバーレス — 10年続けた、顔が見えるチームで確かな基盤を / Serverless Matters Most in Regional Areas — 10 Years of Building Reliable Foundations with Close-Knit Teams
seike460
PRO
1
310
Everything will be SERVERLESS — 信じて運用した10年の経験値 / Everything Will be Serverless — Lessons Learned from 10 Years of Operational Experience
seike460
PRO
1
1.3k
Seeing Through Serverless: Observability for AWS Lambda with ADOT and CloudWatch Application Signals
seike460
PRO
1
190
Seeing Through Serverless: ADOT と CloudWatch Application Signals で実現する AWS Lambda のオブザーバビリティ(日本語版)/ Seeing Through Serverless (Japanese Edition)
seike460
PRO
1
55
モノレポの型は、そのままつながる 〜Hono RPCで型を素通しする開発体験〜 / Monorepo Types Connect As-Is: Passing Types Through with Hono RPC
seike460
PRO
1
60
OSSのコンセプトを知る / Understanding the Concept Behind an OSS
seike460
PRO
1
62
型も通る、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
720
コミュニティの有益性 ~JAWS Days 2026 での体験を通して~ / The Benefits of a Community ~Through My Experience at JAWS Days 2026~
seike460
PRO
0
510
実行委員長目線で振り返る JAWS DAYS 2026 / JAWS DAYS 2026 from the Chair's Perspective
seike460
PRO
1
53
Other Decks in Programming
See All in Programming
protojson における文字化けの扱い
kazuki1023
0
210
TanStack Vue Query と Pinia Colada から学ぶ非同期状態の型設計
aoshi
0
630
SODA - FACT BOOK(JP)
sodainc
1
40k
Goコンパイラを作ってGoをもっと理解する / Build a Go compiler to better understand Go
ikura_hamu
0
130
AI Augmentation Techniques with Liberty
ivargrimstad
1
410
AI時代のIaC入門 〜なぜインフラをコードで管理したいのか?〜 / Introduction to IaC in the AI Era
akihisaikeda
6
1.4k
AIが生成したコードは読むべきか?抽象化設計とコードの品質保証 / abstraction-design-and-quality
minodriven
16
8.9k
Будущее локальных LLM – Алексей Голобурдин, PythoNN
sobolevn
0
110
作れるエンジニアから、価値を届けるエンジニアへ
ryunakayama
1
240
学びを記事・スライド・Xへ高速展開する― AI-assisted Learning Loopで回すコンテンツ生成術
ochtum
0
200
Zero-Tap Sign-In対応、結局何をすればいいの?
mitohato14
0
1.8k
S3 TablesのIcebergデータに、AIエージェントからアクセスしてみた / 20261016developersio2026joetsu-accessing-iceberg-in-s3tables-via-agent
kasacchiful
PRO
0
290
Featured
See All Featured
WCS-LA-2024
lcolladotor
0
980
Thoughts on Productivity
jonyablonski
76
5.5k
ラッコキーワード サービス紹介資料
rakko
5
5.7M
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.6k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
23k
The Cult of Friendly URLs
andyhume
79
7.1k
Agile that works and the tools we love
rasmusluckow
331
22k
RailsConf 2023
tenderlove
30
1.6k
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
360
How to train your dragon (web standard)
notwaldorf
96
6.9k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.9k
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 で検出できるパターン • スパン数・形状・ギャップ が手がかり •
コードレビューで見逃すパターンを 発見