---
title: Connection Pool相關概念與問題紀錄
---
###### tags: `Database`
# Connection Pool相關概念與問題紀錄
#### 1. 依照下圖實驗紀錄來看,當執行緒 < 連線數時,再提高連線數量對於系統效能表現是沒有幫助的 
#### 2. 當connection pool > DB可連線數量,會產生何種影響? 根據上圖結論,如果使用多執行緒透過CP > DB 可連線數量時會爆;然而在沒有使用執行序去壓測前又是否會報錯呢
#### 3. 使用CP時,每次關閉連線的行為只是將連線交還給CP,而非真的切段與DB的連線
#### 4. 依上圖結果,連線數 > 最大連接數時,結果是全部錯誤。 但依照一般情況,除非timeout時間過短,否則應該呈現排隊處理的狀況,並不會全部失敗。 為何測試會是這個結果?
#### 5. 為何在單執行緒情況下,增加CP與minimum-idle,對於效能有明顯改善? 與第一點是衝突的結論。 (專案實際情形,非鬼故事)
經查,spring data 會在進入db執行以後即開始下一個執行緒,以節省等待db處理與回應的時間。 因此才會出現上述測試結果。