Showing posts with label websphere. Show all posts
Showing posts with label websphere. Show all posts

Wednesday, January 14, 2009

所有 OS 平台上的常规 WebSphere 调整

更多精彩请到 http://www.139ya.com


转自: 所有 OS 平台上的常规 WebSphere 调整: http://publib.boulder.ibm.com/tividd/td/ITPME/SC23-1284-00/zh_CN/HTML/p12plmst93.htm

本部分描述如何设置与 Tivoli Privacy Manager 性能直接相关的 WebSphere 调整参数。
设置连接属性值

此过程仅适用于 WebSphere 4.x。要配置定制数据源属性,请启动 WebSphere 管理控制台,并执行以下步骤。

1. 在 WebSphere 管理域层次结构(左框架)中打开资源文件夹。
2. 打开 JDBC 提供程序文件夹。
3. 打开包含必需数据源的 JDBC 提供程序(例如 DB2UDBjdbcProvider)。
4. 选择数据源文件夹。
5. 在属性窗格中右键单击必需的数据源 PrivacyDataSource,并从弹出菜单选择属性。
6. 选择常规选项卡。
7. 在定制属性下,在名称字段中找到 ConnectionAttribute,并在值字段中添加以下值:

cursorhold=1,autoCommit=0

8. 单击应用以处理更改,然后停止并重新启动 Default Server。

设置连接池超时

要配置数据源连接池超时,请启动 WebSphere 管理控制台并执行以下步骤。
WebSphere 4.x

1. 在 WebSphere 管理域层次结构(左框架)中打开资源文件夹。
2. 打开 JDBC 提供程序文件夹。
3. 打开包含必需数据源的 JDBC 提供程序(例如 DB2UDBjdbcProvider)。
4. 选择数据源文件夹。
5. 在属性窗格中右键单击必需的数据源 PrivacyDataSource,并从弹出菜单选择属性。
6. 选择连接池选项卡。
7. 将连接超时值更改为 360 秒。
注:
确保此值小于事务超时。(请参阅设置事务超时。)
8. 选择应用以保存设置。

WebSphere 5.x

请参阅设置语句高速缓存大小和连接池参数,以了解关于在 WebSphere 5.x 中设置连接超时值的步骤。
设置事务超时

要配置事务超时,请启动 WebSphere 管理控制台并执行以下步骤。
WebSphere 4.x

1. 在 WebSphere 管理域层次结构(左框架)中,找到并右键单击您的应用程序服务器(例如 Default Server)。要定位缺省服务器,请单击节点-> 服务器名称-> 应用程序服务器-> 缺省服务器。
2. 从弹出菜单选择属性。
3. 选择事务选项卡。将事务超时和事务不活动超时值设置为 600 秒。
注:
确保此值大于数据源连接池超时值。(请参阅设置连接池超时。)
4. 单击确定以保存更改。

WebSphere 5.x

1. 选择服务器-> 应用程序服务器-> Server1-> 事务服务。(Server1 是 WebSphere 4.x 中缺省服务器的等价服务器。)
2. 将事务生存期超时和客户机不活动超时值设置为 600 秒。
注:
确保此值大于数据源连接池超时值。(请参阅设置连接池超时。)
3. 单击确定以保存更改。

设置 WebSphere 4.x 的性能参数

以下指示信息仅适用于 WebSphere 4.x,且是从 IBM WebSphere V4.0 Advanced Edition Handbook(红皮书号 SG24-6176)中摘录的。关于此 Web 站点,请参阅性能调整参考。
注:
如果您要在 WebSphere 5.x 下运行,请跳过本节到下一节(设置 WebSphere 5.x 的性能参数)来执行该节中描述的任务。
22.7 性能调整向导

可如下使用此 WebSphere 管理控制台向导来调整公共的与性能相关的应用程序服务器设置:

1. 通过从 WebSphere 管理控制台主菜单选择控制台-> 向导-> 性能调整器启动性能调整器向导。
2. 在“应用程序服务器”窗口中,选择要调整的应用程序服务器(通常是 Default Server)或服务器组。
3. 该 Web 容器窗口用于指定可用于 Tivoli Privacy Manager 控制台的线程数。缺省值应当是足够的。
4. 在“ORB 属性”窗口中,提供了以下对象请求代理程序属性用于调整:

由引用传递
不要选择此选项。选中此值将导致错误且 Tivoli Privacy Manager 将不会启动。
ORB 线程池大小
每个 EJB 请求都需要一个线程。通常是从使用 RMI/IIOP 的另一 JVM 的小服务程序中,以及使用 RMI/IIOP 的远程 EJB 客户机应用程序中调用企业 bean 的。ORB 线程池大小应当能容纳这两个请求源。关于使用 Tivoli Privacy Manager 连接来帮助确定 ORB 线程池大小的指南,请参阅配置 Tivoli Privacy Manager 监视器。

5. 在“数据源”窗口中,选择与选定应用程序服务器关联的数据源(例如 PrivacyDataSource),并单击下一步。
1. 在“数据源连接池大小”窗口中,将应用程序的数据源最大连接数设置基于小服务程序和企业 bean 所使用的并发连接数之和。关于计算此值的指南,请参阅确保 Tivoli Privacy Manager 中的可靠性和数据完整性。
2. 在“数据源预备语句高速缓存大小”窗口中,将预备语句高速缓存大小设置为等于已配置数据源连接最大数目(请参阅计算数据源连接池大小)x 200(Tivoli Privacy Manager 中 SQL 预备语句的大致数目)。
3. 在“数据库”窗口(仅对于 DB2)中,选中调整数据库选项来调整 DB2 数据库。在调整数据库之前,建议您备份数据库。完成剩下的窗口并在“摘要”窗口中单击完成之后,“调整器”向导将调用 DB2SmartGuide API 来调整与数据源(此步骤开始处所指定的)关联的 DB2 数据库。必须停止并重新启动数据库实例以使 DB2SmartGuide 更改生效。
注:
如果已植入了数据库,则 DB2SmartGuide 调整更为高效。定期重复此步骤以使 DB2SmartGuide 能够作出调整来响应随着时间的推移而积累的数据。
6. 在“JVM 堆大小”窗口中,调整 JVM 起始堆大小和 JVM 最大堆大小。Java 虚拟机(JVM)堆大小设置将影响 Java 对象的无用数据收集。如果增加堆大小,则无用数据收集的发生频率将降低,但是花费时间较长。这些设置很大程度上取决于您的应用程序以及可用的物理内存数量。请考虑:
* 选定应用程序服务器的 JVM 堆是否与同一机器上的其它应用程序服务器 JVM 堆共享物理内存。例如,您是以本地方式还是以远程方式运行监视器?Tivoli Privacy Manager 服务器是否运行在与它用来存储记录的 DB2 实例相同的机器上?关于在何处放置 Tivoli Privacy Manager 组件和其它必备产品的建议,请参阅设置生产环境。
* 指定 JVM 堆驻留在物理内存中并防止交换到磁盘。
* 将起始 JVM 堆大小设置为最大 JVM 堆大小的 1/4。
* 如果机器上只有一个应用程序服务器,则将最大 JVM 堆大小设置为以下值:
o 128 MB(内存小于 1 GB 的系统)
o 256 MB(内存 1 - 2 GB 的系统)
o 512 MB(内存大于 2 GB 的系统)
7. 在“摘要”窗口中,复查您的调整属性。单击完成可应用属性,或者单击上一步可作进一步更改。
注:
对于超出各个“最大”大小的警告,单击确定。

单击“停止/重新启动缺省服务器”。
设置 WebSphere 5.x 的性能参数

本节描述如何设置 WebSphere 5.x 性能参数。请参阅设置 WebSphere 4.x 的性能参数,以获取关于设置 WebSphere 4.x 性能参数的信息。
设置 JVM 起始堆大小和最大堆大小

Java 虚拟机(JVM)堆大小设置将影响 Java 对象的无用数据收集。如果增加堆大小,则无用数据收集的发生频率将降低,但是花费时间较长。这些设置很大程度上取决于您的应用程序以及可用的物理内存数量。JVM 最大堆大小不应设置为会向磁盘实施页面调度的值。如出现内存页面调度,将在很大程度上降低性能。

建议 Tivoli Privacy Manager 服务器正在其中运行的 JVM 的起始 JVM 堆大小为 256 MB。建议最大的 JVM 堆大小为 512 MB。这些设置基于运行于大型密集型数据环境中的服务器的性能测试,其中服务器配置为具有 1 到 2 GB 的内存。

设置最小及最大 JVM 堆大小的一般准则是:

* 考虑选定应用程序服务器的 JVM 堆是否与同一机器上的其它应用程序服务器共享物理内存。例如,您是以本地方式还是以远程方式运行监视器?Tivoli Privacy Manager 服务器是否运行在与它用来存储记录的 DB2 实例相同的机器上?关于在何处放置 Tivoli Privacy Manager 组件和其它必备产品的建议,请参阅设置生产环境。
* 如果机器上只有一个应用程序服务器,则将最大 JVM 堆大小设置为以下值:
o 128 MB(内存小于 1 GB 的系统)
o 256 MB(内存在 1 - 2 GB 的系统)
o 512 MB(内存大于 2 GB 的系统)

使用以下过程来设置 JVM 堆大小:

1. 选择服务器-> 应用程序服务器-> Server1-> 进程定义->Java 虚拟机。
2. 滚动到初始堆大小和最大堆大小字段并设置值。
3. 单击确定以保存更改。

设置语句高速缓存大小和连接池参数

本节描述的任务适用于 WebSphere 5.x。请参阅设置连接池超时,以了解 WebSphere 4.x 中的等价任务。

要设置最大连接池大小和语句高速缓存大小,请在 WebSphere 管理控制台中执行以下步骤:

1. 选择资源-> JDBC 供应程序-> DB2 JDBC 供应程序-> 数据源(V4)
2. 选择安装 WebSphere Application Server 过程中提供给 Tivoli Privacy Manager 的数据源名称。例如,PrivacyDataSource。
3. 在其它属性下,选择连接池。
4. 将最大池大小设置为 20。
5. 将语句高速缓存大小设置为 200。
6. 将连接超时、空闲超时及孤线程超时值设置为 360(秒)。
注:
确保连接超时值小于事务超时。(请参阅设置事务超时。)
7. 选择确定以保存这些设置并退出。

防止 ORB 线程池增长

可通过将 Java 系统属性 com.ibm.ws.OrbThreadPoolGrowable 设置为 false 来限制 ORB 线程池。要设置该属性,请在 WebSphere 管理控制台中执行以下步骤。
WebSphere 4.x

1. 在 WebSphere 管理域层次结构(左框架)中,找到并右键单击您的应用程序服务器(例如 Default Server)。
2. 从弹出菜单选择属性。
3. 选择 JVM 设置选项卡。
4. 选择高级 JVM 设置选项卡。
5. 在命令行参数字段中,输入以下字符串:

-Dcom.ibm.ws.OrbThreadPoolGrowable=false

6. 单击确定,然后单击应用保存这些更改。

WebSphere 5.x

1. 选择服务器-> 应用程序服务器-> Server1-> ORB 服务。(Server1 是 WebSphere 4.x 中缺省服务器的等价服务器。)
2. 在其它属性下,选择线程池。
3. 确保未选中可增长线程池选项。
4. 单击确定然后单击应用以保存更改。

Tuesday, January 13, 2009

WebSphere监控软件 TPV(Tivoli Performance Viewer)的缺点

更多精彩请到 http://www.139ya.com

WebSphere监控软件 TPV(Tivoli Performance Viewer)的缺点


大家都知道,IBM 的 WebSphere Application Server(WAS)在v5之后自带有TPV(Tivoli Performance Viewer),用来监控WAS的运行状况,包括JVM内存使用状况、数据库连接池、WEB容器线程池、应用程序、用户会话、事务、缓存等资源。

但是TPV存在的缺点主要有:

(1)TPV本身是图形工具

假如要远程使用,我们只能用Extra!X等图形终端登录系统,不像telnet或Web系统那么方便。

(2)集中监控方面存在缺陷

如果是WebSphere ND版本,那么你可以在一个TPV中监控所有加入该ND单元(Cell)的Base节点, 一个节点就是一台WAS服务器,那么假设我有10个系统共40台WebSphere服务器,是否也可以都加入到一个ND单元来管理呢?

答案是不可取。原因主要在于两点:

一是这样TPV在启动的时候会非常慢,CPU占用率会非常高,因为要去连接40台机器的SOAP|RMI端口,还要读取它们的监控级别,实践证实在生产环境中,一旦ND中加入的Base节点超过10个,TPV在启动时的CPU占用率将超过50%,而且启动成功通常要消耗很长时间(根据系统性能、网络快慢而定),如果放到生产环境,会严重影响系统运行。

二是这样对WAS的管理不方便,试想一个ND单元中有40个节点,分别属于10个系统,逻辑上不清楚,通常的做法是一个系统对应一个ND单元,可能这个单元中会有多台WAS 的Base节点来分担负载。

(3)保存性能数据方面存在缺陷

TPV提供了一种日志模式,可以将性能数据存到xml文件中。但是这些xml文件一是我们看起来很费力,因为它的格式是IBM内定的,不像数据库的TABLE那样整齐清楚;二是这些xml文件的大小增长很快,通常1小时后就能有上G的数据,可想而知我们查看起来有多麻烦。

假如我想把监控得到的性能数据记录到自定义的日志或数据库怎么办?TPV也没法做到。

(4)在性能报警上存在不足

TPV里面有“性能顾问程序”,但是使用过的人都知道,它其实没什么用。我们经常会遇到WAS服务器停止响应(hang)、宕机(Crash)、内存溢出 (OutOfMemory)等等情况,我们想随时监控WAS的性能状况,却又不想一直守着TPV,希望在WAS性能超过阀值时及时地通知我们,比如发 EMail,或在一个集中监控平台上有弹出框、红色提示等信息。这些TPV都没法做到。

(5)没有报表

如果我想查看某台WAS服务器一小时、一天、一周、一月或是任意指定的时间范围内的性能走势图,怎么办?TPV在这方面也存在欠缺。而且IBM好像也没有类似的好工具。

websphere 相关链接

更多精彩请到 http://www.139ya.com

websphere china net: http://www.webspherechina.net

性能优化

websphere china net: http://www.webspherechina.net/club/forumdisplay.php?fid=8&page=2

was和ihs的优化文档: http://www.webspherechina.net/club/viewthread.php?tid=5727&extra=page%3D2

急性者的 WebSphere 优化: http://www.ibm.com/developerworks/cn/websphere/library/techarticles/0602_lurie/0602_lurie.html

websphere性能优化的几个方法

更多精彩请到 http://www.139ya.com


websphere性能优化的几个方法

1,更改http server的配置文件参数KeepAlive。
原因:这个值说明是否保持客户与HTTP SERVER的连接,如果设置为ON,则请求数到达MaxKeepAliveRequests设定值时请求将排队,导致响应变慢。
方法:打开ibm http server安装目录,打开文件夹conf,打开文件httpd.conf,查找KeepAlive值,改ON为OFF,其默认为ON

2,更改http server的配置文件参数ThreadsPerChild值到更大数目,默认为50
原因:服务器响应线程的数量
方法:打开ibm http server安装目录,打开文件夹conf,打开文件httpd.conf,查找ThreadsPerChild值,默认为50,改到更大数目,视用户数多少而定,一般改到客户机数量的1.1倍,如200台,则设为220

3,关闭http server日志纪录
原因:http server的日志IO影响性能
方法:打开ibm http server安装目录,打开文件夹conf,打开文件httpd.conf,查找CustomLog值,找到没有注释的那行(行的开头没有符号"#"),将那行用符号"#"注释掉,以关闭日志纪录,提高处理性能。

4,更改Websphere的服务器处理线程数
原因:线程的数量影响同时并发的请求数量
方法:打开管理控制台,依次打开目录树,服务器->server1->web容器->线程池,修改"最大大小"的值,默认是50,改到更大数目,具体视总用户数量和机器的配置而定,一般设置其等于或小于http server设置的MaxKeepAliveRequests的值。