Connection Pool
連線池
01你是不是遇到這個 / THE SYMPTOM
流量一大,我的 App 就報「too many connections」或連到資料庫變超慢甚至掛掉。感覺每次處理請求都重新連一次資料庫,連線開開關關很浪費。我想讓連線可以重複用、又不要開到爆。
↑ 如果你點頭了,你要的關鍵字就是 Connection Pool。
02這是什麼 / DEFINITION
連線池是預先建立並維護一組可重複使用的資料庫連線,請求來時借一條、用完還回去,避免每次都付出「建立/關閉連線」的昂貴成本,同時用上限控制同時開啟的連線數,保護資料庫不被打爆。
03什麼時候用 / WHEN TO USE
幾乎所有有點流量的後端服務都該用。尤其是高並發、或資料庫連線數有上限(雲端託管資料庫常見)時,更要靠連線池控管。
04怎麼跟 AI 說 / HOW TO ASK
直接複製這句、貼進 Claude Code / Cursor / Copilot / ChatGPT:
幫我幫資料庫連線改用 connection pool(連線池),設定合理的 pool 上限與閒置逾時,避免每個請求都新建連線、也避免高流量時連線數爆掉。
05常見坑 / WATCH OUT
⚠ 池子大小不是越大越好:要和資料庫本身的「最大連線數」對齊,多個 App 實例各開一個池會疊加,很容易整體超過上限。Serverless/邊緣環境(如 Lambda、Cloudflare Workers)尤其棘手,常需要外部的連線池代理(如 PgBouncer、Hyperdrive、RDS Proxy),不能直接用傳統長連線池。
06相關的詞 / RELATED