ラジオの話題08:アプリを増やしたら、DBが苦しくなった
今日の話題:①一台20接続なら安全? → ②commitしたのに返ってこない → ③SQLは速いのにpool待ち。
気になったところから自由に。順番や時間は決めず、話しやすい話題だけ拾って構いません。
1. 一台20接続なら安全?
Section titled “1. 一台20接続なら安全?”話を広げるメモ
- 10台なら最大200、30台なら最大600という設計例。
- workerや旧新アプリの入替も足した?
小ネタ:poolはローカルな上限
各プロセスのpool上限を小さくしても、プロセス数が増えれば全体の最大接続数は増える。上限と常時使用数も別。共有DBの予算で考える。
話の芯:一台の安全と、全体の安全を分ける。
2. commitしたのに返ってこない
Section titled “2. commitしたのに返ってこない”話を広げるメモ
- transaction終了と、poolへの接続返却。
- 返却したら毎回TCPも切れる?
小ネタ:接続とtransaction
同じ接続を複数のtransactionで再利用できる。COMMIT後もアプリが保持すればpoolへ戻らないし、poolへ返しても通常は即座に切断するとは限らない。
話の芯:接続を借りた時間を、最後まで追う。
3. SQLは速いのにpool待ち
Section titled “3. SQLは速いのにpool待ち”話を広げるメモ
- 接続を借りたまま外部APIを待つ。
- DBのCPUが低いのに空きがない。
小ネタ:hold time
借用から返却までにはSQL、lock待ち、外部I/O、アプリ処理などが入る。SQL実行時間だけでは接続の占有時間を説明できない。
話の芯:DBに仕事をさせていない時間も、接続は使われる。
最後に一言、話すなら
Section titled “最後に一言、話すなら”「この話を、次に調査や設計をするときどう思い出したいか?」
このメモの材料
Section titled “このメモの材料”既存の学習振り返り教材から話題を選び、AIが小ネタとして再構成しました。説明・設計例と、本人の回答・実測の記録は別です。数値例は記載した仮定に基づくもので、本人の本番実績ではありません。
定義の詳細・前提・一次資料・対象版・確認日は元の教材を参照してください。今回の作成では新しい実験・学習評価は行っていません。