第 10 章 数据库连接池的概念
本节适用于对 Red Hat build of Keycloak 配置数据库连接池的注意事项和最佳实践。对于应用此配置,请访问 使用红帽构建的 Keycloak Operator 部署红帽构建的 Keycloak for HA。
10.1. 概念
创建新数据库连接所需的时间非常昂贵。当请求到达时,创建它们会延迟响应,因此在请求到达前,最好创建它们。它还有助于对在短时间内创建大量连接而造成问题的影响,因为它会减慢系统和块线程的速度。https://en.wikipedia.org/wiki/Cache_stampede关闭连接也会使连接的所有服务器端语句缓存无效。
为了获得最佳性能,初始、最小和最大数据库连接池大小的值都应相等。这可避免在新请求出现成本高时创建新的数据库连接。
只要可能,保持数据库连接打开,从而允许绑定至连接的服务器端语句缓存。如果是 PostgreSQL,若要使用服务器端准备好的声明,需要至少执行(默认)查询(默认为 )。
如需更多信息,请参阅有关准备的语句的 PostgreSQL 文档。