疑问

如何配置WebSphere Commerce服务器的WebContainer线程池与数据库连接池的大小?

答案

WebContainer线程池与数据库连接池是WebSphere Application Server应用服务器可配置的两组重要参数,它的具体配置对WebSphere Commerce站点的性能和稳定性具有非常重要的影响。

文档由以下几部分组成:

WebContainer 线程池

在WebSphere 控制管理台配置WebContainer线程池

利用配置文件判断WebContainer线程池大小

数据库连接池

在WebSphere 控制管理台配置数据库线程池

利用配置文件判断数据库线程池大小

WebContainer线程池与数据库连接池的推荐初值

WebContainer 线程池

WebContainer线程池大小决定了在WebSphere Commerce JVM中可以同时运行的WebContainer线程。请查看WebSphere Commerce V6信息中心的WebSphere Application Server部分了解更多的细节。

在WebSphere 控制管理台配置WebContainer线程池

请按照以下步骤在WebSphere 控制管理台配置WebContainer线程池:

1. 登录到WebSphere Application Server管理控制台。

2. 点击服务器 -> 应用服务器。

3. 选择你的应用服务器。

4. 在“其他属性”中点击线程池。

5. 点击WebContainer线程池。

6. 在该页面你将能看到WebContainer线程池的最小值和最大值设置。请确认不要勾上“允许线程分配超过最大线程大小”。

7. 在该页面修改你想要设置的值。

8. 如果你使用的是集群环境,对集群中的其他服务器重复以上步骤。

利用配置文件判断WebContainer线程池大小

请按照以下步骤读取XML配置文件来判断WebContainer线程池大小:

1. 找到server.xml的存放位置:

WAS_installdir/profiles/ profile_name/config/cells/ cell_name/nodes/ node_name/servers/ WAS_server_name/server.xml

WAS_userdir/profiles/ profile_name/config/cells/ cell_name/nodes/ node_name/servers

2. 用文本编辑器打开该文件。

3. 查找类似以下文本内容,它将显示WebContainer线程池的配置。

4. 如果你要更新该文件的话,请勿直接更改。您需要使用WebSphere Application Server管理控制台。

数据库连接池

最大连接池大小:

在您设置数据库最大连接池参数时,需要考虑以下问题:

1. 您的WebSphere Commerce集群能打开的数据库连接的总和不应该压垮你的数据库数据器。

2. 为了避免死锁,您需要保证任何可能需要数据库连接的线程都能申请到一个连接,因为不仅仅只有WebContainer线程需要数据库连接。下面这个式子将帮你确定最大连接池大小的设置。

数据源连接池大小 >= WebContainer线程的数量 + WebSphere Commerce Scheduler 线程的数量 + 1(用于WebSphere Commerce Key Manager) + 1(用于WebSphere Commerce Auditing)+ 并行的与序列化的MQ 监听进程 + 定制代码用到的非WebContainer线程的数量

为了满足上述条件,你可能或者需要增加连接池数量,或者减少上述线程的数量。

最小连接池大小:

最小连接池的默认值是5,对于大部分应用是适用的。但是如果您的WebSphere Application Server节点和数据库之间有防火墙的话,请参考技术文档“在防火墙条件下如何配置WebSphere 数据源参数”以确认防火墙不会影响您的数据库连接。

请查看WebSphere Commerce V6信息中心的WebSphere Application Server部分了解更多的细节。

在WebSphere 控制管理台配置数据库连接池

请按照以下步骤在WebSphere 控制管理台配置数据库连接池:

1. 登录到WebSphere Application Server管理控制台。

2. 点击资源 -> JDBC 提供程序。

3. 选择你的应用服务器。

4. 选择WebSphere Commerce的JDBC 提供程序。

5. 在“其他属性”中点击数据源。

6. 选择WebSphere Commerce的数据源。

7. 在“其他属性”中点击连接池属性。

8. 该页将显示数据源的连接池属性,你可以更改相应的值。

利用配置文件判断数据库连接池大小

请按照以下步骤读取XML配置文件来判断数据库连接池大小:

1. 找到resource.xml的存放位置: WAS_installdir/profiles/ profile_name/config/cells/ cell_name/nodes/ node_name/servers/ WAS_server_name/resources.xml

WAS_userdir/profiles/ profile_name/config/cells/ cell_name/nodes/ node_name/servers/ WAS_server_name/resources.xml

2. 用文本编辑器打开该文件。

3. 查看connectionPool节点可得到数据库连接池的配置信息,请确认该节点属于WebSphere Commerce数据源。

...

...

4. 如果你要更新该文件的话,请勿直接更改。您需要使用WebSphere Application Server管理控制台。

WebContainer线程池与数据库连接池的推荐初值

下面列出WebContainer线程池与数据库连接池的推荐初值供参考,针对你的特定系统的最优值可能不同,您需要执行相应的性能调优来获得最佳设置。

Mininum Maximun

WebContainer 25 25

线程池 0 55

两节点生产实配:

WebContainer 10 100

线程池 10 500

推荐上述初值主要有以下考虑:

1. WebContainer的最大值等于最小值是为了避免创建和销毁线程的开销。

2. 通常情况下,25个WebContainer线程能够获得较高吞吐量和达到并发性要求。

3. 数据库连接池配置需要保证所有的WebContainer线程都能获得相应的连接请求。

4. 数据库连接池最小值设为0是为了防止防火墙设置引起问题,以及减少不可用连接的维护花销

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐