会话池设置

使用此页面来配置会话池设置。

此管理控制台页面可与一系列资源类型通用;例如,JMS 队列连接工厂。要查看此页面,根据资源的类型决定路径,但通常选择资源提供程序的实例,然后选择资源类型的实例,并单击会话池。例如:单击资源 > JMS > JMS 提供程序->缺省消息传递提供程序->队列连接工厂->connection_factory->会话池

“配置”选项卡

连接超时

指定时间间隔(以秒计),这个时间间隔过后连接请求超时并抛出 ConnectionWaitTimeoutException。

达到连接到特定连接池的最大值(最大连接数)时,等待是必需的。例如,如果连接超时设置为 300 并且 达到了最大连接数,那么池管理器等待 300 秒以获取可用的物理连接。如果物理连接在此时间内不是可用的,那么池管理器抛出 ConnectionWaitTimeoutException。它通常不会重试 getConnection() 方法,因为如果需要更长的等待时间,您应该将连接超时设置设置为更高的值。因此,如果应用程序捕捉了此异常,那么管理员应该查看应用程序的期待用法,并相应地调整连接池和数据库。

如果连接超时设置为 0,那么在分配一个连接之前,只要必需,池管理器会一直等待(这发生在 连接数下降到最大连接数值以下时)。

如果最大连接数设置为 0,允许无限多个物理连接数,那么将忽略连接超时值。

数据类型 整型
单元
缺省值 180
范围 0 到最大整数
最大连接数

指定您可以在此池中创建的最大物理连接数。

这些是到后端资源的物理连接。一旦达到此数,便不再创建新的物理连接,并且在当前使用的物理连接返回池或抛出 ConnectionWaitTimeoutException 之前,请求者会一直等待。

例如,如果最大连接值设置为 5,并已使用了 5 个物理连接,那么池管理器等待连接超时中指定的时间,直至物理连接为空闲。

如果最大连接数设置为 0,那么忽略连接超时值。

要获得更好的性能,将连接池的值设置为小于 Web 容器中最大连接数的值选项。越小的设置(如 10-30 个连接),性能比越高的设置(如 100)更好。

如果使用克隆,那么对于每个克隆,存在一个数据池。配置数据库最大连接数时,了解数据池的个数很重要。

[AIX Solaris HP-UX Linux Windows] [iSeries] 您可使用 Tivoli® Performance Viewer 查找池中最优连接数。如果并发等待者的数目大于 0,但是 CPU 负载未接近 100%,那么考虑增加连接池大小。如果使用百分比值一直低于正常工作负载,那么考虑减少池中的连接数。

[AIX Solaris HP-UX Linux Windows] [iSeries]
数据类型 整型
缺省值 10
范围 0 到最大整数
最小连接数

指定要保持的最小物理连接数。

直到达到这个数以前,池维护线程不废弃物理连接。但是,不尝试使连接数达到这个数。如果设置了时效超时的值,那么不保持最小值。废弃所有时效到期的连接。

例如,如果最小连接数值设置为 3,并且已创建了一个物理连接,那么未使用超时线程不废弃该连接。使用同一个标记,线程不会自动创建达到最小连接数设置的两个其他物理连接。

数据类型 整型
缺省值 1
范围 0 到最大整数
收集时间

指定运行池维护线程之间的时间间隔(以秒计)。

例如,如果收集时间设置为 60,那么池维护线程每 60 秒运行一次。此收集时间的时间间隔影响未使用超时时效超时设置的准确度。时间间隔越小,准确度越大。如果启用了池维护线程,那么您应该将“收集时间”值设置为小于“未使用超时”和“时效超时”的值。当池维护线程运行时,它废弃所有保持未使用的连接(未使用时间长于“未使用超时”中指定的时间值),直到它到达最小连接数中指定的连接数。池维护线程还废弃所有活动时间长于“时效超时”中指定的时间值的连接。

收集时间间隔还影响性能。更短的时间间隔意味着池维护线程将更频繁的运行并降低性能。

要禁用池维护线程,“收集时间”设置为 0,或“未使用超时”和“时效超时”都设置 为 0。禁用池维护线程的建议方法是将“收集时间”设置为 0,在这种情况下,将忽略“未使用超时”和“时效超时”。但是,如果“未使用超时”和“时效超时”都设置为 0,那么池维护线程将运行,但是仅废弃由于非零超时值引起的超时的物理连接。

数据类型 整型
单元
缺省值 180
范围 0 到最大整数
未使用超时

指定废弃未使用的或空闲连接后的时间间隔,以秒为单位。

为了优化性能,设置“未使用超时”值高于“收集超时”值。仅当当前未使用的连接数超过最小连接数设置,才废弃未使用的物理连接。例如,如果未使用超时值设置为 120,并且启用池维护线程(收集时间不是 0),那么将废弃两分钟没有使用的任何物理连接。注意,此超时的准确度和性能都受到收集时间值的影响。有关更多信息,请参阅收集时间

数据类型 整型
单元
缺省值 1800
范围 0 到最大整数
时效超时

指定废弃物理连接前的时间间隔(以秒计)。

时效超时设置为 0 支持活动的物理连接无限期地保留在池中。为了优化性能,设置时效超时值高于获得超时值。例如,如果“时效超时”值设置为 1200,并且“收集时间”值不是 0,那么从池中废弃已经存在 1200 秒(20 分钟)的所有物理连接。注意,这个超时和性能的准确度都受到“收集时间”值的影响。有关更多信息,请参阅收集时间

数据类型 整型
单元
缺省值 0
范围 0 到最大整数
清除策略

指定检测到失效连接致命连接错误时如何清除连接。

有效值是 EntirePoolFailingConnectionOnly。Java™ EE 连接器体系结构(JCA)数据源可以选择其中任意一个。WebSphere® V4.0 数据源的清除策略始终是 EntirePool

数据类型 字符串
缺省值 FailingConnectionOnly
范围
EntirePool
池中的所有连接都标记为失效。立即关闭任何未使用的连接。关闭在使用的连接并在该连接上进行下一个操作期间抛出 StaleConnectionException。来自应用程序的后继 getConnection 请求导致打开到数据库的新连接。使用此清除策略时,可能会不必要地关闭池中不是失效连接的一些连接。然而,这种情况不太可能会发生。在多数情况下,EntirePool 的清除策略是最佳选项。
FailingConnectionOnly
只有导致 StaleConnectionException 的连接关闭。虽然此设置消除不必要地关闭有效连接的可能性,但从应用程序角度看来,它使恢复更为复杂。因为仅关闭了当前失败连接,所以极有可能使应用程序的下一个 getConnection 请求从池中返回也是旧文件的连接,导致更多旧文件连接异常。



标有(在线)的链接要求访问因特网。

相关概念
相关任务
相关参考
V5 WebSphere 队列连接工厂设置


文件名: umj_sesspoolset.html