コンテンツにスキップ

ラジオの話題08:アプリを増やしたら、DBが苦しくなった

← ラジオの話題一覧 · 元の教材・詳しい解説

今日の話題:①一台20接続なら安全? → ②commitしたのに返ってこない → ③SQLは速いのにpool待ち。

気になったところから自由に。順番や時間は決めず、話しやすい話題だけ拾って構いません。

話を広げるメモ

  • 10台なら最大200、30台なら最大600という設計例。
  • workerや旧新アプリの入替も足した?

小ネタ:poolはローカルな上限

各プロセスのpool上限を小さくしても、プロセス数が増えれば全体の最大接続数は増える。上限と常時使用数も別。共有DBの予算で考える。

話の芯:一台の安全と、全体の安全を分ける。

話を広げるメモ

  • transaction終了と、poolへの接続返却。
  • 返却したら毎回TCPも切れる?

小ネタ:接続とtransaction

同じ接続を複数のtransactionで再利用できる。COMMIT後もアプリが保持すればpoolへ戻らないし、poolへ返しても通常は即座に切断するとは限らない。

話の芯:接続を借りた時間を、最後まで追う。

話を広げるメモ

  • 接続を借りたまま外部APIを待つ。
  • DBのCPUが低いのに空きがない。

小ネタ:hold time

借用から返却までにはSQL、lock待ち、外部I/O、アプリ処理などが入る。SQL実行時間だけでは接続の占有時間を説明できない。

話の芯:DBに仕事をさせていない時間も、接続は使われる。

「この話を、次に調査や設計をするときどう思い出したいか?」

既存の学習振り返り教材から話題を選び、AIが小ネタとして再構成しました。説明・設計例と、本人の回答・実測の記録は別です。数値例は記載した仮定に基づくもので、本人の本番実績ではありません。

定義の詳細・前提・一次資料・対象版・確認日は元の教材を参照してください。今回の作成では新しい実験・学習評価は行っていません。