会话池设置

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

该管理控制台页面对一系列资源类型是公共的;例如,JMS 队列连接工厂。 要查看此页面,其路径取决于资源类型,但通常选择资源提供程序的实例,再选择资源类型实例,然后单击会话池。例如:单击资源 > WebSphere JMS 提供程序 > WebSphere 队列连接工厂 > connection_factory > 会话池

“配置”选项卡

作用域
指定可看到此资源定义的级别 - 单元、节点或服务器级别。

资源(如 JDBC 提供程序、名称空间绑定或共享库)可以在多个作用域上定义,在较特定的作用域上定义的资源覆盖较一般作用域上定义的重复项。

注意,无论定义的资源的作用域是什么,资源的属性仅在单个服务器级别上应用。例如,如果您在单元级别上定义数据源的作用域(它在该单元内是唯一的),则该单元中的所有用户都可以查找和使用该数据源。然而,资源属性设置对于单元中的每台服务器是本地的。例如,如果您设置最大连接数为 10,那么该单元中的每台服务器都可以有 10 个连接。

单元
最常规的作用域。在“单元”作用域上定义的资源对于所有节点和服务器都是可见的,除非它们被覆盖了。 要查看单元作用域中定义的资源,不要在作用域选择表单中指定服务器或节点名。
节点
多数资源类型的缺省作用域。在“节点”作用域上定义的资源覆盖任何在“单元”作用域上定义的重复项,并且对于相同节点上的所有服务器都是可见的,除非它们在该节点上的服务器作用域中被覆盖了。要查看节点作用域中定义的资源,不要指定服务器,但是要在作用域选择表单中选择节点名。
服务器
定义资源的最特定作用域。在“服务器”作用域上定义的资源覆盖任何在“单元”作用域或父“节点”作用域上定义的重复资源定义,并且它们仅对于特定服务器是可见的。要查看服务器作用域中定义的资源,在作用域选择表单中指定服务器名和节点名。

当创建资源时,它们总是创建到面板中所选的当前作用域中。要在其它作用域中查看作用域,在作用域选择表单中指定不同的节点或服务器。

数据类型 String
连接超时
指定间隔(以秒为单位),这个间隔时间过后连接请求超时并抛出 ConnectionWaitTimeoutException。

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

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

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

数据类型 整型
单位
缺省 180
范围 0 到最大整数
最大连接数
指定您可以在此池中创建的最大物理连接数。

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

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

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

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

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

您可以使用 Tivoli 性能查看器查找池中的最佳连接数。如果并发等待者的数目大于 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 到最大整数
清除策略
指定检测到旧文件连接致命连接错误时指定如何清除连接。

有效值是 EntirePoolFailingConnectionOnly。JCA 数据源可以任选一个选项。WebSphere V4.0 数据源总是有 EntirePool 的清除策略。

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

相关信息

管理控制台按钮
管理控制台页面功能