数据库连接池概念

理解这些概念有助于避免资源耗尽和拥塞

当您想要了解关于如何为 Keycloak 配置数据库连接池的注意事项和最佳实践时,本节旨在为您提供帮助。 关于如何应用这些配置,请访问使用 Keycloak Operator 部署 Keycloak 以实现 HA

概念

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

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

尽可能长时间地保持数据库连接打开,可以为绑定到连接的服务器端语句缓存提供机会。 在 PostgreSQL 的情况下,要使用服务器端预处理语句,一个查询需要执行(默认情况下)至少五次

有关更多信息,请参阅关于预处理语句的 PostgreSQL 文档

本页内容