数据库连接池概念

了解这些概念,避免资源耗尽和拥塞

本节旨在帮助您了解如何为 Keycloak 配置数据库连接池的注意事项和最佳实践。要了解应用此配置的场景,请访问 使用 Keycloak 运算符部署 Keycloak 以实现 HA

概念

创建新的数据库连接成本很高,因为需要时间。在请求到达时创建它们会延迟响应,因此最好在请求到达之前创建它们。它还可能导致 踩踏效应,即在短时间内创建大量连接会使情况变得更糟,因为它会减慢系统速度并阻塞线程。关闭连接还会使该连接的所有服务器端语句缓存失效。

为了获得最佳性能,初始、最小和最大数据库连接池大小的值应该都相等。这可以避免在新的请求到达时创建新的数据库连接,而这成本很高。

尽可能长时间保持数据库连接打开,可以允许绑定到连接的服务器端语句缓存。在 PostgreSQL 的情况下,要使用服务器端准备语句,查询至少需要执行五次(默认情况下)

有关更多信息,请参阅 PostgreSQL 关于准备语句的文档

本页内容