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 tuning...
Search
AEON
August 26, 2025
Technology
1.1k
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
イオン店舗一覧ページのパフォーマンスチューニング事例 / Performance tuning example for AEON store list page
2025年8月26日開催「イオン×ZOZO×『Web配信の技術』著者が語るパフォーマンスチューニング:60分で掴む劇的改善術 | AEON TECH HUB #18」の登壇資料です
AEON
August 26, 2025
More Decks by AEON
See All by AEON
iAEONの段階的リアーキテクト戦略 / iAEON's_Gradual_Re-architecture_Strategy
aeonpeople
0
470
イオンスマートテクノロジーの「SRE×AI」実践録 -インシデントからIaC、可観測性まで-/Aeon Smart Technology’s SRE × AI in Practice
aeonpeople
0
220
AI時代から振り返るTerraform drift運用の歴史 / AI Age Reflections on the History of Terraform Drift Operations
aeonpeople
2
800
New Relic MCPを活用した能動的オブザーバビリティユーザの拡大 / Scaling Active Observability with New Relic MCP
aeonpeople
0
410
Copilot CLI・IDE・Web・スマホで途切れない開発フローを目指して / One Copilot flow - CLI IDE Web Mobile
aeonpeople
1
1.5k
1人目SREが開発組織のトポロジーを変えるまでの実践知/the-first-sre-changed-team-topology
aeonpeople
0
920
AzureのIaC管理からログ調査まで、随所に役立つSkillsとCustom-Instructions / Boosting IaC and Log Analysis with Skills
aeonpeople
0
620
ASTのGitHub CopilotとCopilot CLIの現在地をお話しします/How AST Operates GitHub Copilot and Copilot CLI
aeonpeople
1
580
遊びで始めたNew Relic MCP、気づいたらChatOpsなオブザーバビリティボットができてました/From New Relic MCP to a ChatOps Observability Bot
aeonpeople
1
760
Other Decks in Technology
See All in Technology
新機種発売前に見直そう!端末移行で再ログインが要るアプリ・要らないアプリは何が違うのか 〜シームレスに再開できる設計と実装〜
zozotech
PRO
0
190
AI de Idea
kawaguti
PRO
2
110
「守り」で活用するオンデバイスLLM 〜写ってはいけないを総力戦で防ぐ〜 / iOSDC Japan 2026
nakamuuu
0
160
Amazon Quick on DesktopがIAM Identity Centerで動かない理由
yukiogawa
0
190
アプリをもっと"iOSアプリっぽく"する小さな工夫 / Small Touches That Make Your App Feel More Like an iOS App
matsuji
1
890
DEFCON_CHV_CTF_Write-up.pdf
bata_24
0
150
おい、エージェントを使って終わらせろ
nwiizo
0
240
Deployment の 先にある AI Agent 基盤 - kagent vNext、Agent Substrate、Hermes から読み解く Agent Runtime の現在地 / k8s-matsuri-2-ai-agent-platform-amsy810
masayaaoyama
3
560
LLMに渡さなかった仕事
nanaism
0
170
俺の仕事は AIに奪われないし、たぶんその BIも要らない
hikaruri
0
470
映像変換サーバーなしで端末内でHLSを生成してライブ配信
hikarusato
0
110
ユーザー価値を届け続けるためにウォンテッドリーが大切にしている文化
kotaminato
0
160
Featured
See All Featured
Writing Fast Ruby
sferik
630
63k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Balancing Empowerment & Direction
lara
6
1.3k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
1k
Marketing to machines
jonoalderson
1
5.8k
The World Runs on Bad Software
bkeepers
PRO
72
12k
Context Engineering - Making Every Token Count
addyosmani
9
1.1k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2.1k
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
320
The Cost Of JavaScript in 2023
addyosmani
55
10k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
Transcript
イオン店舗一覧ページの パフォーマンスチューニング事例 イオンスマートテクノロジー株式会社 CTO室 TechLeadチーム 石川晴貴 2025年8月26日
自己紹介 各種紹介 石川 晴貴(X:@h0r4k) イオンスマートテクノロジー株式会社 CTO室テックリードチーム(2024.06ジョイン) 趣味:プログラミング、ギター 最近やっていること ・Claude Codeと仲良くなること
・社内MCPサーバを作りNewRelicのNRQLを叩かせ Claude Codeからメトリクスの分析をやってもらったり、 社内のAPI群をMCP化させてホクホクしたりしています
各種紹介
None
本題にはいります
• アプリケーション寄りのパフォーマンスチューニングの話(PHP寄りかも) • かなり基礎的かつ古典的な話がメインになるので耳タコではあると思いますが、この機会に改めて。 ※のでカリカリチューニング的な話は出てきません • 既にAEON TECH HUBでも記事にしていますが、チームを代表して改めて本LTでご紹介させていただきます! 今回お話すること
はじめに https://engineer-recruiting.aeon.info/aeon-tech-hub/interview_store-page
• 店舗一覧サイト • 所在地検索、業態・ブランド検索、 キーワード検索 • 店舗情報の閲覧・検索のみでDB更新系の 操作なし • 店舗一覧用CMS
• CMSから店舗一覧上の店舗情報を更新可 能 • DB更新系の操作有り そもそもイオンの店舗一覧とは? 背景
• まずちゃんと遅い • レスポンスの平均が1,200msと激遅 • 急なアクセス増に耐えられない • 台風などの災害時に店舗はやっているのか?の確認でアクセスが増える • DBのCPUが100%に張り付いてしまいページが閲覧できなくなる
• 暫定的な対応として、 • DBのスペックを常時2段階あげた(コストは4倍に) • 具体的にはvCPU→4倍、メモリ→4倍 • リードレプリカの追加 どんな課題があったのか? 課題
• しかし、 • この状態は健全ではなくコストもかかる • なので • 調査と改修を行って高速化しつつDBのスケールダウンを目指す • すでにNewRelicは導入済みだったため、
NewRelicのAPMの情報からパフォーマンス劣化の原因を探り対応を行うことに 課題に対する取り組み 課題
では実際にNewRelicをみていく
• 問題 • 本番環境のcomposer installでオプションの最適化がなされていなかった • 対応 • composer installに--optimize-autoloaderのオプションを追加
改善① フレームワークの本番プラクティスに準拠する 改善
• 補足して • しっかり公式Documentを読む、書いてある 改善① フレームワークの本番プラクティスに準拠する 改善
• 問題 • 1トランザクションの平均DB Callが4万件弱となるようなリクエストがあった (ここに限らず複数の箇所でN+1問題が発生) • 対応 • ループ内で呼び出されてしまっているN+1クエリをEloquentのEagerLoadingを利用し
て不要クエリを削減 改善② N+1問題 改善
• 問題 • CMS上での記事検索が遅く、CMS内で検索を行うたびにスロークエリが発生 • 対応 • スロークエリの実行計画を確認し最適化 • Indexの貼られていないカラムにはIndexを貼る
など 改善③ スロークエリ対策 改善
• 問題 • ORMにてSELECT * でカラムを絞り込まずにデータ取得を行った場合に時間を要する • 対応 • 必要なカラムのみに絞り込んでデータを取得
改善④ ORMでのSELECT * 対応 改善
• 問題 • CMSでDB負荷の高い操作を行うと店舗一覧サイトへ影響が出てしまう状態になって いた • CMS側には高負荷な参照クエリが多く、すべてのクエリの高速化対応をすぐに行う ことは当時難しかった • 対応
• CMS上で発行されるクエリについてはマスターDBへ、店舗一覧サイトなどの参照系 の操作についてはリードレプリカDBに実行するよう分離 • CMS/店舗一覧サイトいずれもLaravelでmiddlewareを作成しそれぞれの middlewareGroupsに設定を追記 改善⑤ マスター/リードレプリカ 改善
• コスト • DB費用が1/4に減少 • vCPU→1/4、メモリ→1/4に削減 • レスポンス • 1,200
ms-> 300ms 以下へ改善 改善の結果 改善の結果 アラートもかなり減りました…
• パフォーマンスチューニングの効果について • 古典的かつ基礎的なパフォーマンスチューニング(と本番最適化)は結局重要 • インフラに対するコスト意識に関して • インフラコストの削減はアプリケーション側の意識も重要 • パフォーマンスチューニングの取り掛かり方について
• 今回はまずNewRelicから問題を炙り出しを行った • 定量的に問題を分析して効果の高い順(かつ実装の容易な順)から潰していった • コスト削減とパフォーマンス改善のバランスについて • 今回はコストを削減しつつパフォーマンス改善も行えた • が、場合によってはCDNなどコストをかけながらパフォーマンス改善を行うという やり方もあるためケースバイケースで検討が必要 まとめ さいごに
• パフォーマンスチューニングの効果について • 古典的かつ基礎的なパフォーマンスチューニング(と本番最適化)は結局重要 • インフラに対するコスト意識に関して • インフラコストの削減はアプリケーション側の意識も重要 • パフォーマンスチューニングの取り掛かり方について
• 今回はまずNewRelicから問題を炙り出しを行った • 定量的に問題を分析して効果の高い順(かつ実装の容易な順)から潰していった • コスト削減とパフォーマンス改善のバランスについて • 今回はコストを削減しつつパフォーマンス改善も行えた • が、場合によってはCDNなどコストをかけながらパフォーマンス改善を行うという やり方もあるためケースバイケースで検討が必要 まとめ さいごに 皆さんも是非機会があれば、パフォーマンスチューニングに チャレンジしてみてください!
ご清聴ありがとうございました