WebSphere WebSphere Enterprise Service Bus V6.0.1 操作系统: AIX, HP-UX, Linux, Solaris, Windows

连接池设置

可以在管理控制台的“连接池属性”面板上更改连接池的各个属性值。

用途

“连接池设置”面板用来为连接池指定常规属性值。可以编辑属性,例如,超时、清除策略和连接限制。

配置选项卡

连接超时

指定连接请求超时并抛出 ConnectionWaitTimeoutException 之前的时间间隔(以秒计)。

此值指示发生以下情况时对连接的请求会等待的秒数:空闲池中没有连接可用并且不可 以创建任何新的连接,这通常因为特定连接池中的连接数已经达到最大值。例如,如果将“连接超时”设置为 300 并且最大数目的连接全部都在使用中,则池管理器会等待 300 秒以便某个物理连接变为可用的。如果在此期间物理连接不可用,则池管理器会触发 ConnectionWaitTimeout 异常。重试 getConnection() 方法通常是没有意义的;如果需要等待较长的时间,则应该增大“连接超时”设置值。如果 ConnectionWaitTimeout 异常被应用程序捕获,则管理员应该查看应用程序对连接池的预期使用情况并相应地调整连接池和数据库。

如果将“连接超时”设置为 0,则如有必要,池管理器会等待足够长的时间,直到某个连接可用为止。当应用程序完成事务并将连接返回给连接池时,或者当连接的数目下降到“最大连接数”以下从而允许创建新的物理连接时,就会发生这种情况。

如果将“最大连接数”设置为 0,这会启用无数的物理连接,则“连接超时”值被忽略。
数据类型 整数
单位
缺省值 180
范围 0 至最大的整数
最大连接数

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

这些都是至后端资源的物理连接。一旦达到此数目,则不会再创建新的物理连接,并且请求者会一直等待,直到当前使用的物理连接返回至连接池或池管理器发出 ConnectionWaitTimeout 异常为止。

例如,如果将“最大连接 数”值设置为 5 并且有五个物理连接正在使用,则池管理器会等待“连接超时”中指定的时间量,以便某个 物理连接变为空闲的。

如果将“最大连接数”设置为 0,则允许连接池无限地增长。这样做也有其副作用,即导致“连接超时”值被忽略。

如果多个独立应用程序服务器使用同一数据源,则对于每个应用程序服务器,都会存在一个池。如果使用了克隆,则对于每个克隆,都会存在一个数据池。在配置数据库最大连接数时,了解数据池的数目是很重要的。

可以使用“Tivoli Performance Viewer”来找到池中连接的最佳数目。如果同时等待者的数目大于 0,当 CPU 负载未接近 100%,则考虑增加连接池大小。如果“使用百分比”值始终低于正常工作负载,则考虑减少池中连接的数目。
数据类型 整数
缺省值 10
范围 0 至最大的整数
最小连接数

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

如果连接池的大小小于或等于最小连接池大小,则“未使用超时”线程不会废弃物理连接。但是,连接池不会只是为了确保维持最小连接池大小而创建连接。另外,如果为“时效超时”设置了值,则过期的连接将被废弃,而不考虑最小池大小设置。

例如,如果将 “最小连接数”值设置为 3 并且创建了一个物理连接,则“未使用超时”线程不会废弃该连接。同样道理, 该线程不会自动创建其他的两个物理连接来满足“最小连接数”设置。
数据类型 整数
缺省值 1
范围 0 至最大的整数
收集时间

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

例如,如果将“收集时间”设置为 60,则池维护线程每 60 秒运行一次。“收集时间”间隔会影响“未使用超时”和“时效超时”这两项设置的准确度。时间间隔越小,准确度就越高。如果启用了池维护线程,则将“收集时间”值设置为小于“未使用超时”和“时效超时”这两者的值。当池维护线程运行时,如果任何连接在超过“未使用超时”中指定的时间值后仍 未被使用,则该线程会废弃这些连接,直到达到“最小连接数”中指定的连接数为止。如果任何连接在超过“时效超时”中指定的时间值后仍保持活动,则池维护线程也会废弃这些连接。

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

要禁用池维护线程,将“收集时间”设置为 0 或将“未使用超时”和“时效超时”同时设置为 0。建议禁用池维护线程的方法是将“收集时间”设置为 0,在这种情况下,可以忽略“未使用超时”和“时效超时”。但是,如果将“未使用超时”和“时效 超时”均设置为 0,则虽然池维护线程会运行,但是仅会废弃由于非零超时值而超时的那些物理连接。
数据类型 整数
单位
缺省值 180
范围 0 至最大的整数
未使用超时

指定废弃未使用或空闲连接之前的时间间隔(以秒计)。

将“未使用超时”值设置为大于“收集超时”值,以获得最佳性能。仅在当前连接数超过“最小连接数”设置时,才会废弃未使用的物理连接。例如,如果未使用超时值设置为 120 并且启用了池维护线程(“收集时间”不为 0),则任何保持未使用时间达两分钟的任何物理连接将被 废弃。注意,此超时的准确度以及性能都受“收集时间”值影响。有关更多信息,请参阅“收集时间”。

数据类型 整数
单位
缺省值 1800
范围 0 至最大的整数
时效超时

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

将“时效超时”设置为 0 会支持活动的物理连接无限期地保留在池中。将“时效超时”值设置得比“收集超时”值要高,以获得最佳性能。例如,如果 将“时效超时”值设置为 1200 且“收集时间”值不为 0,则任何存在时间达 1200 秒(20 分钟)的物理 连接都会从池中被废弃。注意,此超时的准确度以及性能都受“收集时间”值影响。有关更多信息,请参阅 “收集时间”。

数据类型 整数
单位
缺省值 0
范围 0 至最大的整数
清除策略

指定在检测到旧连接或严重连接错误时清除连接的方式。

有效值为:
  • EntirePool:将连接池中所有连接都标记为旧连接。任何未在使用的连接都将被 立即关闭。正在使用的连接将被关闭,并且在对该连接进行下一个操作的期间,发出旧连接异常。来自应用 程序的后续 getConnection() 请求将导致打开至数据库的新连接。在使用此清除策略 时,可能会出现这种情况:不必要地关闭池中一些非旧连接的连接。不过,这种情况不常发生。在大多数情况下,EntirePool 清除策略都是最佳选择。
  • FailingConnectionOnly:仅关闭导致旧文连接异常的连接。虽然此设置消除了 不必要地关闭有效连接的可能性,但是它使从应用程序透视图进行恢复变得更为复杂。仅关闭当前失效的连接,因此,很有可能出现这种情况:来自应用程序的下一个 getConnection() 请求将从连接池返回的连接也是旧连接,从而导致更多的旧连接异常 。连接预测试功能会尝试从无效的合用连接隔离应用程序。当后端资源(例如,数据库)逐渐耗尽时,空闲池中可能会存在无效的合用连接。尤其是在在清除策略为 failingConnectionOnly 时会 发生这种情况;在这种情况下,将从池中除去失效的连接。视失效情况而定,仍然在池中的连接可能无效。
数据类型 字符串
缺省值 EntirePool
相关任务
设置连接池的常规属性

参考主题

使用条款 | 评价此页

Timestamp icon上次更新时间: 3 Mar 2006
http://publib.boulder.ibm.com/infocenter/dmndhelp/v6rxmx/index.jsp?topic=/com.ibm.websphere.wesb.doc.nl1_6.0.1\doc\rdep_connpoolsettings.html

(C) Copyright IBM Corporation 2005, 2006. All Rights Reserved.
本信息中心基于 Eclipse 技术。(http://www.eclipse.org)