调整参数活动表
下面这个最新的列表包含一些建议,这些建议已提高了许多应用程序的性能和/或可伸缩性。
- 查看硬件和软件需求
满足最小的硬件和软件需求的正确功能和性能非常重要。请参阅详细介绍硬件和软件需求的 IBM® WebSphere Application Server 支持的硬件、软件和 API Web 站点。
安装最新的更新包、修订包和建议的临时修订
建议的更新列表可在支持站点上获得。
- 检查硬件配置和设置
检查网络连接以确保它们以其最高速度运行。有关更多信息,请参阅调整应用程序服务环境。
验证设置的网络互连和硬件配置以获取最佳性能。
调整操作系统
操作系统配置在性能中取着很重要的作用。例如,您的应用程序可能需要调节诸如 TCP/IP 之类的参数
调整 IBM i 系统
操作系统配置在性能中取着很重要的作用。例如,您的应用程序可能需要调节诸如 TCP/IP 之类的参数。
IBM Power Systems Performance Capabilities Reference IBM i operating system Version 7.2
- 设置 Java™ 虚拟机 (JVM) 堆大小的最大和最小值
很多应用程序需要大于缺省值的堆大小以获取最佳性能。 还建议您根据应用程序特征选择合适的 GC 策略。
使用 4 类(或纯 Java)JDBC 驱动程序
通常,如果数据库和 WebSphere 实例位于同一物理机器上,那么建议使用 2 类 JDBC 驱动程序。但是,如果数据库处于不同的层次中,那么 4 类 JDBC 驱动程序将提供最快的性能,这是因为它们是纯 Java,无需本机实现。请使用上面的链接来查看特定于数据库供应商的需求列表,它可以告诉您 4 类 JDBC 驱动程序是否受数据库的支持。
将 2 类 JDBC 驱动程序用于本地数据存取,将 4 类(或纯 Java)JDBC 驱动程序用于远程数据存取
一般情况下,建议使用 2 类 JDBC 驱动程序。请使用上面的链接来查看特定于数据库供应商的需求列表,它可以告诉您 4 类 JDBC 驱动程序是否受数据库的支持。
调整 WebSphere Application Server JDBC 数据源和相关的连接池
JDBC 数据源配置对性能有显著的影响。例如,需要根据正在处理的并发请求数和应用程序的设计来确定连接池和预编译语句高速缓存的大小。
请参阅连接池主题以了解更多信息。
启用按引用传递选项
使用可以利用按引用传递选项的应用程序以避免将参数复制到堆栈的成本。
- 确保将事务日志分配到快速磁盘
一些应用程序向事务日志中生成大量的写入。将事务日志放置在快速磁盘或磁盘阵列上可以减少响应时间。
- 调整相关组件,如数据库
在大多数情况下,某些其他组件(如数据库)需要调整才能使整个配置达到较高的吞吐量。
- 禁用不需要的功能
例如,如果应用程序不使用 Web Service 寻址 (WS-Addressing) 支持,那么禁用此功能可以提高性能。
注意:因为应用程序可能需要 WS-Addressing MAP 才能正常工作,所以使用此属性时要小心。设置此属性还禁用 WebSphere Application Server 对以下以 WS-Addressing 为根据的规范的禁用:Web Service 原子事务、Web Service 企业协议和 Web Service 通知。
要禁用对 WS-Addressing 的支持,请参阅对 JAX-RPC 应用程序启用 Web Service 寻址支持。
调整索引
产品编程模型和运行时的一个目的是极大地简化应用程序开发者编写和部署应用程序所需的工作。有时我们认为产品会将应用程序员从开发应用程序的繁重的任务中解脱出来。例如,应用程序代码不会关注自身的远程通信 - 它定位本地或远程的对象并驱动方法。所以,您在应用程序代码中不会看到任何直接使用的套接字调用或 TCP/IP 编程。
这种将您要执行的与您在何处执行分开的做法,是将应用程序员从繁重的任务中解脱的一个方面。其他注意事项是不必处理有些 bean 类型的数据调用,潜在地用户认证和线程技术。通常,应用程序代码中不会出现对套接字、RACF® 调用或线程技术管理的调用。从应用程序员除去它不意味着不执行此工作。相反,它意味着对于 DBA、网络管理员、安全性管理员和性能分析员可能会有更多的工作。
需要处理四层调整:在本文中我们以单独的部分处理前三个调整,简要地谈及了第四个。有关调整应用程序的更多信息,请参阅使用应用程序客户机.
调整子系统
调整 z/OS 子系统以优化产品性能的步骤包括:
调整产品运行时
调整产品运行时以优化性能的步骤包括查看下列:查看产品配置
首先要查看产品配置。这样做的简单方法是查看一下 SDSF 中的应用程序控制和服务器区域。当每个服务器启动时,运行时打印出作业日志中的当前配置数据。
产品的内部跟踪提示
在检测和诊断问题时,产品跟踪非常有用。通过正确地设置跟踪选项,您可捕获检测问题所需的信息而无需重大的性能开销。
- 请验证收集的诊断是否会超过需要。
您应该检查您的跟踪选项以验证已将 ras_trace_defaultTracingLevel 属性设置为 0 或 1,而且没有设置 ras_trace_basic 和 ras_trace_detail 属性。
如何查看或设置:在管理控制台中:- 单击 。
- 在配置选项卡上,检查名称字段中的所有这些属性并观察它们在值字段中的设置。
- 要更改这些属性中的某个设置,请单击属性名称的名称字段,然后在值字段中指定新设置。 您也可以在此选项卡上的描述字段中对设置进行描述。
- 要添加这些属性中的某个属性,请单击新建,然后在名称字段中指定属性名称,在值字段中指定属性设置。
- 如果您使用任何级别的跟踪(包括 ras_trace_defaultTracingLevel=1),请验证是否已将 ras_trace_outputLocation 属性设置为 BUFFER。当将 ras_trace_defaultTracingLevel 属性设置为 1 时,会将异常写入到跟踪日志和 ERROR 日志中。
- 最好跟踪到 CTRACE。
如果您正在跟踪 SYSPRINT(ras_trace_defaultTracingLeve 设置为 3),那么您可能会遇到几乎 100% 吞吐量的降级问题。但是如果您正在跟踪 CTRACE,那么您可能只会遇到 15% 的吞吐量降级问题。
- 最好跟踪到 CTRACE。
- 将 ras_trace_BufferCount 属性设置为 4,将 ras_trace_BufferSize 属性设置为 128.
此设置为跟踪缓冲区保留 512 KB 的存储,这是允许的最小存储量,从而降低内存需求。
- 禁用 JRAS 跟踪。要禁用 JRAS 跟踪,请查找 Java 虚拟机属性文件指向的 trace.dat 文件中的以下行:
请验证已将两行均设置为 disable,或删除这两行。com.ibm.ejs.*=all=disable com.ibm.ws390.orb=all=disable
注: 如果为 ras_trace_outputLocation 属性指定了值,那么可能在您不知道的情况下对您进行跟踪。
- 请验证收集的诊断是否会超过需要。
可执行程序的位置提示
在配置中要查看的下一件事是您的程序代码位于何处。IBM 建议您尽可能多地安装 LPA 中的合理的产品代码。这会确保您已消除任何不必要的 steplib,它会对性能产生不利的影响。如果您必须使用 STEPLIB,请验证控制器和服务方 procs 中的 STEPLIB DD 是否指向任何非必需的库。请参阅z/OS 的 UNIX 系统服务 (USS) 调整技巧以获取 USS 共享文件系统调整注意事项。
如果您选择不要将大部分运行时放置在 LPA 中,那么处理器存储器会因为负荷增加而面临考验。最小值时,产品将启动三个地址空间,以便非共享的任何代码装入三个副本,而不是一个。随着装入增加,更多的服务方将启动并增加处理器存储器的额外负担。
查看 PATH 语句以确保只有必需的程序在 PATH 中,并确保 PATH 的排序中经常引用的程序放在前面。
调整 J2EE 应用程序
涉及调整 J2EE 应用程序性能的步骤包括:- 查看应用程序设计
许多性能问题可以追溯到应用程序设计。查看该设计来确定它是否导致了性能问题。
- CDI 行为更改
缺省情况下,CDI 1.2 会扫描所有应用程序归档。CDI 1.2 可以对启动时间产生严重影响,尤其对于大型应用程序。 要禁用对注释的隐式归档扫描,请将系统属性 enableImplicitBeanArchives 设置为 false。此设置会跳过归档扫描,除非它们包含 beans.xml 文件。