當您想了解如何配置 Keycloak 資料庫連線池的注意事項和最佳實踐時,請參考本節。如需查看應用此配置的範例,請訪問使用 Keycloak Operator 部署 Keycloak 以實現高可用性。
建立新的資料庫連線需要時間,因此成本較高。在請求到達時才建立連線會延遲響應,因此最好在請求到達之前就建立好連線。它也可能導致快取奔潰效應,在短時間內建立大量連線會使情況更糟,因為這會減慢系統速度並阻塞執行緒。關閉連線也會使該連線的所有伺服器端陳述式快取失效。
為了獲得最佳效能,資料庫連線池的初始大小、最小大小和最大大小的值應該全部相等。這樣可以避免在新的請求進入時建立新的資料庫連線,這會耗費大量資源。
盡可能長時間保持資料庫連線開啟,可以允許與連線綁定的伺服器端陳述式快取。以 PostgreSQL 為例,要使用伺服器端預備陳述式,一個查詢需要(預設情況下)至少執行五次。
有關更多資訊,請參閱PostgreSQL 關於預備陳述式的文件。