6.2. 池属性
本节详细介绍了可为优化数据源或资源适配器性能配置的所选池属性的建议。有关如何配置这些属性的说明,请参阅:
- 配置数据源池属性
- 最小池大小
min-pool-size
属性定义连接池的最小大小。默认最小连接为零连接。如果为零min-pool-size
,则在第一次事务发生时创建连接并放入池中。如果
min-pool-size
太小,则在执行初始数据库命令时会导致延迟增加,因为可能需要建立新的连接。如果min-pool-size
太大,则会导致到数据源或资源适配器的连接浪费。在不活动期间,连接池将缩小,可能会缩小到
min-pool-size
值。红帽建议您将
min-pool-size
设置为允许理想按需吞吐量的连接数量。- 最大池大小
max-pool-size
属性定义连接池的最大大小。这是一个重要的性能参数,因为它限制了活动连接的数量,因此也限制了并发活动的数量。如果
max-pool-size
太小,可能会导致请求被不必要的阻止。如果max-pool-size
太大,则可能会导致 JBoss EAP 环境、数据源或资源适配器使用超出其处理的资源。红帽建议您将
max-pool-size
设置为至少 15% 大于负载 监控性能 后观察到的MaxUsedCount
。这样,一些缓冲区可满足高于预期条件。- 预填充
pool-prefill
属性指定 JBoss EAP 是否在 JBoss EAP 启动时预先填充连接池,其连接数量最少。默认值为false
。当
pool-prefill
设为true
时,JBoss EAP 会在启动时使用更多资源,但初始事务的延迟会较小。如果您优化了
min
设置为-pool-size,红帽建议将 pool-
prefilltrue
。- 严格的最小值
pool-use-strict-min
属性指定 JBoss EAP 是否允许池中的连接数低于指定的最小值。如果
pool-use-strict-min
设为true
,则 JBoss EAP 不允许连接数量暂时低于指定的最小值。默认值为false
。尽管指定了最少的池连接数,但当 JBoss EAP 关闭连接时,例如如果连接处于空闲状态并且已达到超时时间,则结束可能会导致连接总数暂时低于创建新连接并添加到池中前的最低连接。
- 超时
连接池可以配置多个超时选项,但性能调优的一个重要选项为
空闲时间
超时。idle-timeout-minutes
属性指定连接在关闭前的最空闲时间(以分钟为单位)。随着空闲连接关闭,池中的连接数量将向下减少到指定的最小值。超时时间越长,使用的资源越多,但请求可能会更快。超时越少,使用的资源越少,但可能需要等待创建新连接。