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
460
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
200
ペアプロの価値はコードを書くことだけじゃない
codmoninc
PRO
0
370
スクラムで身についていた動き方を、XPで捉え直してみた
codmoninc
PRO
1
600
「正解の仕様」を求めて、決断する
codmoninc
PRO
0
94
AI時代のPHP開発にASTクエリツール で コードベースの地図を作る / ast-query-tool-php-codebase-map
codmoninc
PRO
0
460
コドモンに入社してAI活用により、 設計がより重要だと感じた背景
codmoninc
PRO
0
150
実装・設計だけでなく、運用・保守にもAIを広げてみた / We Took AI Beyond Coding and Into Operations and Maintenance
codmoninc
PRO
0
120
AIが無かった頃の素敵な出会いの話
codmoninc
PRO
1
590
5分で問診!Composer セキュリティ健康診断
codmoninc
PRO
0
1.4k
Other Decks in Technology
See All in Technology
20260930_Gemma4_Hands-on
tsho
0
230
OSC2026on_the-world-is-waiting-for-your-voice.pdf
naruoga
0
350
自律型 AI をセキュアに実装!Gemini と MIG で作る動的コード実行環境
recruitengineers
PRO
1
220
ai_cording_with_k8s_knowledge.pdf
mochizuki875
1
300
【データ横丁主催】AI Agentがコンテキストを使って仕事をした後、何が残るのか― 組織の経験を次の判断に引き継ぐ「Agent Memory」
shisyu_gaku
2
330
あなたの知らないAmazon VPC Route Server/Amazon VPC Route Server you don't know about
masakiokuda
2
230
分析AIエージェントを育てる、動く環境を育てる
codatum
0
120
FactoryBotアンチパターン / factory_bot anti-patterns
toshimaru
0
140
転んだ話が背中を預ける理由になる / A_story_about_falling_down_gives_you_a_reason_to_watch_each_other_s_backs.pdf
pauli
3
310
検証フェーズはAIの回答を判断するための学習機会
toru_kubota
2
510
Lambda MicroVMsが分からなすぎたので使い所を1から考えてみた
tsukuboshi
2
420
使いこなすために知っておきたい Azure SRE Agent アンチパターン
torumakabe
2
400
Featured
See All Featured
Information Architects: The Missing Link in Design Systems
soysaucechin
1
1.2k
Heart Work Chapter 1 - Part 1
lfama
PRO
10
36k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
203
76k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.7k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
3k
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
1
440
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
510
The Limits of Empathy - UXLibs8
cassininazir
1
700
The SEO Collaboration Effect
kristinabergwall1
1
590
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.7k
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