使用此页面配置会话池设置。
该管理控制台页面对一系列资源类型是公共的;例如,JMS 队列连接工厂。 要查看此页面,其路径取决于资源类型,但通常选择资源提供程序的实例,再选择资源类型实例,然后单击会话池。例如:单击资源 > WebSphere JMS 提供程序 > WebSphere 队列连接工厂 > connection_factory > 会话池。
“配置”选项卡
资源(如 JDBC 提供程序、名称空间绑定或共享库)可以在多个作用域上定义,在较特定的作用域上定义的资源覆盖较一般作用域上定义的重复项。
注意,无论定义的资源的作用域是什么,资源的属性仅在单个服务器级别上应用。例如,如果您在单元级别上定义数据源的作用域(它在该单元内是唯一的),则该单元中的所有用户都可以查找和使用该数据源。然而,资源属性设置对于单元中的每台服务器是本地的。例如,如果您设置最大连接数为 10,那么该单元中的每台服务器都可以有 10 个连接。
当创建资源时,它们总是创建到面板中所选的当前作用域中。要在其它作用域中查看作用域,在作用域选择表单中指定不同的节点或服务器。
| 数据类型 | String |
达到连接特定连接池的最大值(最大连接数)时,等待是必需的。例如,如果连接超时设置为 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 到最大整数 |
有效值是 EntirePool 和 FailingConnectionOnly。JCA 数据源可以任选一个选项。WebSphere V4.0 数据源总是有 EntirePool 的清除策略。
| 数据类型 | String |
| 缺省 | FailingConnectionOnly |
| 范围 |
|