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
コネクションをピン留めさせずに SELECTクエリのタイムアウトを設定した話
Search
コドモン開発チーム
PRO
August 09, 2026
Technology
560
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
コネクションをピン留めさせずに SELECTクエリのタイムアウトを設定した話
コドモン開発チーム
PRO
August 09, 2026
More Decks by コドモン開発チーム
See All by コドモン開発チーム
夫婦で子育てするための育児標準化
codmoninc
PRO
0
620
関数型プログラミングに出会って考え方の幅が広がった話 / server_side_kotlin_meetup_20_functional_fujimura
codmoninc
PRO
0
22
無理せず続ける、子育てエンジニアの学び
codmoninc
PRO
0
1.2k
ペアプロの価値はコードを書くことだけじゃない
codmoninc
PRO
0
450
スクラムで身についていた動き方を、XPで捉え直してみた
codmoninc
PRO
1
670
「正解の仕様」を求めて、決断する
codmoninc
PRO
0
99
AI時代のPHP開発にASTクエリツール で コードベースの地図を作る / ast-query-tool-php-codebase-map
codmoninc
PRO
0
530
コドモンに入社してAI活用により、 設計がより重要だと感じた背景
codmoninc
PRO
0
160
実装・設計だけでなく、運用・保守にもAIを広げてみた / We Took AI Beyond Coding and Into Operations and Maintenance
codmoninc
PRO
0
130
Other Decks in Technology
See All in Technology
スクラム祭り2026福井トラック_閉じたループから価値のスパイラルへ
kc_nakanishi
0
190
Devin プロモコードの受け取りと適用(2026.10.27)
kinopeee
1
650
Agent 活用環境の構築・運用のための AWS サービスのご紹介/agentcore-for-building-and-operating-agents
ren8k
1
210
[re:Invent2026事前勉強会(有志開催)]続きは、ラスベガスの廊下で / continue-in-the-vegas-hallway
sh_fk2
0
340
AI駆動開発における開発環境のセキュリティの考え方
yamahiro
2
650
Adversary Infrastructure Hunting101
disconinja
0
160
Snowflake でできることが増えたら、 ABAC が必要になった
kaeton
0
110
Deep Data Security 機能解説
oracle4engineer
PRO
3
950
2026-10-24 JAWS JAWS-UG 茨城 #18 IAM Policy Autopilotってなにさ。terraform planからIAM Policyつくれるの? / What's IAM Policy Autopilot
masasuzu
0
180
「社外イベント=意識高い」の壁を壊せ!元々無関心だった僕らが部内で社外イベントを民主化して15人を連れ出すまで
say_no_w
0
160
AIをリアル世界に解き放つ 〜M5Stack×AIであなたのアイディアを手の平に〜
hamadakoji
1
580
AI時代のエンジニアの情報発信〜個人の発信を組織の力に変える〜
ryo_kawamata
0
160
Featured
See All Featured
Test your architecture with Archunit
thirion
2
2.5k
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.8k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
My Coaching Mixtape
mlcsv
0
370
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.2k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.4k
[Rails World 2026] Durable orchestration on Rails: from continuation to workflow
palkan
2
950
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.3k
Color Theory Basics | Prateek | Gurzu
gurzu
1
500
Mind Mapping
helmedeiros
1
410
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
560
Transcript
PHPカンファレンス2026 リジェクトコン&アフターイベント コネクションをピン留めさせずに SELECTクエリのタイムアウトを設定した話 株式会社コドモン プロダクト開発部 村松 遼 2026年08月06日
自己紹介 村松 遼 むらまつ りょう 経歴 2023年に新卒でコドモンにジョインしました。 請求関連機能チームを経て、現在はDBの負荷対策に取り組んでいます。 最近はりゅうじのバズレシピをもとに自炊にチャレンジしてます! 2023.04
コドモンに新卒エンジニアとして入社 2024.06 テーブル解体チームにJOIN 2
こんなプロダクトを開発しています すべての先生に 子どもと向き合う 時間と心のゆとりを メインプロダクトは、保育・教育施設向けWebアプリケーション。 保護者と施設のやり取りを支えるモバイルアプリケーションや、施設職員向けモバイル版 アプリケーション、外部サービスと連携するAPIなども開発しています。 3
4
いきなりですが 5
スロークエリありますか...? 6
弊社はあります💪 7
たまに急に発生するスロークエリも... 8
最悪の場合、DB負荷でサービス停止に😱 9
そんな未来は避けたい 10
そんなときの救世主👼 11
max_execution_time (クエリタイムアウト) 12
クエリタイムアウトを設定して DB負荷を未然に防ぐお話 (MySQL) 13
今日話すこと 1 クエリタイムアウトについて 2 設定する際の落とし穴 3 コドモンでどうしてる? 14
今日話すこと 1 クエリタイムアウトについて 2 設定する際の落とし穴 3 コドモンでどうしてる? 15
1. クエリタイムアウトについて • max_execution_timeって?? CONFIDENTIAL - © 2022 CoDMON Inc.
16 16
1. クエリタイムアウトについて • max_execution_timeって?? →設定値を越える長時間のクエリは3024エラーで中断される CONFIDENTIAL - © 2022 CoDMON
Inc. 17 17
1. クエリタイムアウトについて • max_execution_timeって?? →設定値を越える長時間のクエリは3024エラーで中断される →読み取り専用の SELECT 文にだけ適用される CONFIDENTIAL -
© 2022 CoDMON Inc. 18 18
1. クエリタイムアウトについて • max_execution_timeって?? →設定値を越える長時間のクエリは3024エラーで中断される →読み取り専用の SELECT 文にだけ適用される →MySQL 5.7
から利用できる設定項目 CONFIDENTIAL - © 2022 CoDMON Inc. 19 19
1. クエリタイムアウトについて • max_execution_timeの設定方法 CONFIDENTIAL - © 2022 CoDMON Inc.
20 20
1. クエリタイムアウトについて • max_execution_timeの設定方法 → SET SESSION max_execution_time = 5000;
CONFIDENTIAL - © 2022 CoDMON Inc. 21 21
1. クエリタイムアウトについて • max_execution_timeの設定方法 → SET SESSION max_execution_time = 5000;
→ SELECT /*+ MAX_EXECUTION_TIME(5000) */ * FROM table_name ~~; CONFIDENTIAL - © 2022 CoDMON Inc. 22 22
1. クエリタイムアウトについて これで長時間実行される クエリは撲滅!! CONFIDENTIAL - © 2022 CoDMON Inc.
23 23
1. クエリタイムアウトについて しかし実は落とし穴が😱 CONFIDENTIAL - © 2022 CoDMON Inc. 24
24
今日話すこと 1 クエリタイムアウトについて 2 設定する際の落とし穴 3 コドモンでどうしてる? 25
2. 設定する際の落とし穴 • max_execution_timeの設定方法 → SET SESSION max_execution_time = 5000;
→ SELECT /*+ MAX_EXECUTION_TIME(5000) */ * FROM table_name ~~; CONFIDENTIAL - © 2022 CoDMON Inc. 26 26
2. 設定する際の落とし穴 • max_execution_timeの設定方法 → SET SESSION max_execution_time = 5000;
→ SELECT /*+ MAX_EXECUTION_TIME(5000) */ * FROM table_name ~~; CONFIDENTIAL - © 2022 CoDMON Inc. 27 27
2. 設定する際の落とし穴 • max_execution_timeの設定方法 → SET SESSION max_execution_time = 5000;
→ SELECT /*+ MAX_EXECUTION_TIME(5000) */ * FROM table_name ~~; かつ、RDS Proxyを使っている場合 CONFIDENTIAL - © 2022 CoDMON Inc. 28 28
2. 設定する際の落とし穴 RDS Proxyでコネクションの ピン留めが発生します😱 CONFIDENTIAL - © 2022 CoDMON
Inc. 29 29
2. 設定する際の落とし穴 ピン留めされるとどうなる? CONFIDENTIAL - © 2022 CoDMON Inc. 30
30
2. 設定する際の落とし穴 • 設定する前 CONFIDENTIAL - © 2022 CoDMON Inc.
31 31
2. 設定する際の落とし穴 • 設定する前 CONFIDENTIAL - © 2022 CoDMON Inc.
32 32
2. 設定する際の落とし穴 • 設定する前 CONFIDENTIAL - © 2022 CoDMON Inc.
33 33
2. 設定する際の落とし穴 • 設定する前 3接続を1コネクションで捌く 🙌 CONFIDENTIAL - © 2022
CoDMON Inc. 34 34
2. 設定する際の落とし穴 しかし、SET SESSIONで タイムアウトを設定すると😱 CONFIDENTIAL - © 2022 CoDMON
Inc. 35 35
2. 設定する際の落とし穴 • 設定した後 CONFIDENTIAL - © 2022 CoDMON Inc.
この接続は タイムアウトが設 定されている ...! 36 36
2. 設定する際の落とし穴 • 設定した後 CONFIDENTIAL - © 2022 CoDMON Inc.
コネクション 使い回せない!! 37 37
2. 設定する際の落とし穴 • 設定した後 3接続で3コネクション使われる 😭 CONFIDENTIAL - © 2022
CoDMON Inc. 38 38
2. 設定する際の落とし穴 最悪の場合、コネクションが 足りなくなる危険性⚠ CONFIDENTIAL - © 2022 CoDMON Inc.
39 39
今日話すこと 1 クエリタイムアウトについて 2 設定する際の落とし穴 3 コドモンでどうしてる? 40
3. コドモンでどうしてる?? • max_execution_timeの設定方法 → SET SESSION max_execution_time = 5000;
→ SELECT /*+ MAX_EXECUTION_TIME(5000) */ * FROM table_name ~~; CONFIDENTIAL - © 2022 CoDMON Inc. 41 41
3. コドモンでどうしてる?? • max_execution_timeの設定方法 → SET SESSION max_execution_time = 5000;
→ SELECT /*+ MAX_EXECUTION_TIME(5000) */ * FROM table_name ~~; CONFIDENTIAL - © 2022 CoDMON Inc. 42 42
3. コドモンでどうしてる?? • max_execution_timeの設定方法 → SET SESSION max_execution_time = 5000;
→ SELECT /*+ MAX_EXECUTION_TIME(5000) */ * FROM table_name ~~; RDS Proxyでピン留めされない 🙌 CONFIDENTIAL - © 2022 CoDMON Inc. 43 43
3. コドモンでどうしてる?? • Laravel12 では👇のように書けます 参考: https://laravel-news.com/laravel-12-51-0 CONFIDENTIAL - ©
2022 CoDMON Inc. 44 44
3. コドモンでどうしてる?? • グローバルスコープを介してデフォルトとしても適用可 参考: https://laravel-news.com/laravel-12-51-0 CONFIDENTIAL - © 2022
CoDMON Inc. 45 45
3. コドモンでどうしてる?? Laravel10→12にVerUP中💪 CONFIDENTIAL - © 2022 CoDMON Inc. 46
46
さいごに CONFIDENTIAL - © 2022 CoDMON Inc. 47 47
教訓 SET SESSION は気をつけよう🚨 (RDS Proxyでピン留めされるかも) 参考: https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/rds-proxy-pinning.html#rds-proxy-pinning.mysql-tracked-vars CONFIDENTIAL -
© 2022 CoDMON Inc. 48 48
ご清聴ありがとうございました! 49
None