引言
WPS 是运行于 WebSphere Application Server (WAS) 之上的业务流程集成服务,WAS 中的各种参数的设置都会对 WPS 的运行性能产生直接影响。本文基于 WPS V6.2 版本详细给出可能影响 WPS 运行性能的主要参数的介绍以及调优建议。
影响 WPS 运行性能的主要参数的分类 :
追踪和日志相关的参数
Java 虚拟机 (JVM) 相关的参数
消息驱动的 bean (MDB) 激活规范相关的参数
MQ 侦听器端口 (Listener Port) 相关的参数
线程池大小相关的参数
Java Message Service (JMS) 连接池相关的参数
数据源连接池大小相关的参数
数据源预处理语句 (prepared statement) 缓冲大小相关的参数
消息引擎相关的参数
开发模式
限于篇幅有限,本文无法全面的给出应用以上参数的详细场景,只能较系统的介绍并给出一些建议,本系列的后续文章将给出更多调整这些参数的应用场景。
追踪和日志相关的参数
追踪和日志是进行问题分析最重要的手段之一,越详细的追踪和日志可以帮助用户和 WPS 开发、支持人员获得更多的运行时信息,但同时也带来了较大的 I/O 资源消耗,降低了 WPS 的性能。因此在不需要进行问题分析时应该关闭追踪和日志。
针对 WPS V6.2,应该考虑以下追踪和日志的参数:
(1) 启动和关闭追踪日志的参数
您可以通过管理控制台进行设置:
故障诊断 > 记录和跟踪 > server 名称 > 更改日志详细信息级别 ( 图 1)
在配置 (Configuration) 和运行时 (Runtimes) 页面都有相同的窗口用于设置追踪日志,配置页面和运行时页面不同之处在于在配置页面设置的追踪日志需要重启服务器才能生效,而在运行时页面设置的追踪日志不需要重启服务器,可以即时生效。
为了优化性能,建议在配置和运行时页面同时设置 *=all=disabled, 这意味着所有的追踪都会被关闭,这样可以最大限度的降低 I/O 带来的资源消耗。当然如果需要查看 SystemOut.log 文件中的日志,可以使用 WPS 缺省跟踪字符串 *=info,如果需要更多信息可以依次设为配置 (config) 和详细信息 (detail),也可以依次设置审计 (audit)、警告 (warning)、严重 (severe)、致命 (fatal) 来减少信息打印到 SystemOut.log 日志文件中。如果您设置从 *=fine 到 *=all,将启动跟踪输出到 trace.log 文件中,消耗掉大量的 I/O 资源。
建议您根据需要尽量减少信息输出,尤其是不要开启追踪,从而减少 I/O 带来的性能下降。
图 1. 设置日志详细信息级别
(2) 开闭 PMI 日志
性能监控基础结构 (PMI) 是 WAS 和 WebSphere 系列产品 ( 如 WebSphere Process Server、 Portal、Commerce 等等 ) 的核心监控基础结构。 WebSphere PMI 提供的性能数据有助于监视和调整应用程序服务器性能。
PMI 提供解释运行时和应用程序资源行为的一组全面的数据。例如,PMI 提供数据库连接池大小、servlet 响应时间、 Enterprise JavaBeans(EJB) 方法响应时间、Java 虚拟机 (JVM) 垃圾回收时间以及 CPU 使用量等等。可以使用此数据来了解线程池和连接池等的运行时资源使用模式以及应用程序组件 ( 如 servlet、JSP 和企业 bean) 的性能特性。使用 PMI 数据,可以识别并修正应用程序服务器中的性能瓶颈。例如,Java 数据库连接 (JDBC) 连接池中的某个 PMI 统计是从预编译语句高速缓存废弃的语句数。可使用此统计来调整预编译语句高速缓存大小,以使废弃数减至最小并改进数据库查询性能。
当启用 PMI 进行监控时会带来一定的性能开销,因此建议在不需要监控的时候禁用所有统计信息,以提高性能。
您可以通过管理控制台进行设置:
监视和调整 > 性能监视基础结构 (PMI) > server 名称 ( 图 2)
选择“无” (None) 禁用所有统计信息。
图 2. PMI 设置页面
(3) 启动和关闭跨组件追踪 (Cross-Component Tracing)
跨组件追踪是 WPS 特有的一个日志追踪功能,您可以使用此功能从 SystemOut.log 或 trace.log 日志追踪中识别与 WPS 或 WESB 的模块 (modules) 和组件 (components) 相关的数据。您可以从 trace.log 中查看在 SCA 处理中产生的错误信息,时间信息以及错误数据和运行时的异常,您还可以找到 WPS 的 SCA 组件的输入输出数据 , 并且通过 WID 提供的工具帮助您进行问题诊断。
WPS 跨组件追踪提供两个模式:
开启:此选项将开启 SCA 处理的追踪。所有 SCA 追踪数据将写入 SystemOut.log 和 trace.log 文件。
开启并输出数据快照:此选项除了具有开启功能外还会将 SCA 组件的数据输入和输出信息存储在 logs\XCT 目录下,方便您查看和问题分析。
启动跨组件追踪将消耗 I/O 资源,尤其是启动数据快照模式将会有更大的 I/O 操作将快照输出到文件。因此建议在不需要调试时关闭跨组件追踪功能。您可以通过管理控制台进行设置:故障诊断 > 跨组件跟踪 ( 图 3)
图 3. 跨组件追踪页面
(4) 启动和关闭 IBM 服务日志 (service logs)
IBM 服务日志包含写入 SystemOut.log 流的 WebSphere Application Server 消息和一些包含扩展服务信息的特殊消息,那些信息在分析问题时可能非常重要。一个服务日志用于节点上的所有 WAS Java 虚拟机 (JVM),包括所有应用程序服务器。以二进制格式保存 IBM 服务日志。使用“日志和跟踪分析器“或 Showlog 工具来查看 IBM 服务日志。
服务日志将会造成 I/O 瓶颈,在生产环境必须关闭。
您可以通过管理控制台进行设置:
日志和跟踪 > server 名称 > IBM 服务日志 ( 图 4)
图 4. IBM 服务日志设置页面
调整 Java 虚拟机 (JVM) 相关的参数
您可以通过管理控制台进行 JVM 相关的设置:
服务器 > 应用程序服务器 > server 名称 > 服务器基础结构 > Java 和进程管理 > 进程定义 > Java 虚拟机 ( 图 5)
(1) 调整 Java 对象垃圾回收 (GC) 规则
IBM JVM 默认的 Java GC 规则是标记 – 清除 – 整理 (mark-sweep-compact),Generational Concurrent 是 IBM®Java 5.0 之后引入的新的 Java GC 规则,该规则在许多情况下通过调整短生命周期对象和长生命周期对象所占用 Java 堆的空间大小来提高性能,您可以通过在通用 JVM 参数 (Generic JVM arguments) 中输入 -Xgcpolicy:gencon 来启动 generational concurrent (gencon) 规则 ( 图 5)。
图 5. Java 虚拟机设置页面
(2) 调整 Java 堆栈大小
在调整 Java 堆栈大小时您需要主要考虑三个方面:
初始 Java 堆栈大小。您可以通过填入通用 JVM 参数 (Initail Heap Size) 输入框来设置。( 图 5)
最大 Java 堆栈大小。您可以通过填入最大堆大小 (Maximum Heap Size) 输入框来设置。( 图 5)
以下文章点击率最高
Loading…