|
对 WebLogic Server 和 WebLogic Server 应用程序进行性能调整是一个复杂和反复的过程。以下部分提供调整路线图和调整提示,可用于提高系统性能:
以下步骤构成了一幅流程图,这幅流程图有助于调整应用程序环境以优化性能:
要确定性能目标,需要了解已部署的应用程序,以及环境对系统的约束。收集有关应用程序组件应达到的活动级别的信息,如:
确定硬件要求并无一定之规。确定充分满足应用程序需要所需的软硬件配置类型的过程称为容量规划。要进行容量规划,需要对系统性能目标进行评估,还必须了解应用程序。应将服务器硬件的容量规划重点放在最高性能要求上。请参阅能力规划。
此信息将用于设置应用程序环境的实际性能目标,如响应时间、吞吐量和特定硬件上的负载。
在了解性能目标中确定性能条件之后,对将用于量化性能目标的规格进行测量。请参阅加载测试工具。以下部分将提供有关测量基本性能规格的信息:
其目的是确定应用服务器是否达到目标 CPU 利用率。如果发现应用服务器 CPU 未得到充分利用,请确认数据库是否有瓶颈。如果数据库 CPU 利用率是 100%,请检查应用程序 SQL 调用查询计划。例如,SQL 调用是否正在使用索引或正在执行线性搜索?此外,还要确认用在应用程序中的 ORDER BY 子句是否太多,影响了数据库 CPU。请参阅操作系统调整。
如果发现数据库磁盘是瓶颈(例如,如果磁盘利用率为 100%),则尝试改为配置更快的磁盘或 RAID(独立磁盘冗余阵列),前提是应用程序此后不必执行更多写操作。
知道数据库服务器不是瓶颈之后,判断应用服务器磁盘是否为瓶颈。应用服务器磁盘的某些磁盘瓶颈包括:
使用更快的磁盘或 RAID、禁用 JMS 同步写入、对 tlog 应用 JTA 直接写入,或增大 HTTP 日志缓冲区,均可优化应用服务器上的磁盘 I/O。
检查应用程序和应用服务器之间及应用服务器和数据库服务器之间的数据传输量。此数据量不应该超过网络带宽;否则,网络将成为瓶颈。请参阅使用 ndd 命令设置 TCP 参数。
如果确定网络和数据库服务器都不是瓶颈,则开始在操作系统、JVM 和 WebLogic Server 配置中查找瓶颈。最重要的是,运行 WebLogic Server 的计算机是否能在客户端负载很重的情况下达到目标 CPU 利用率?如果不能,则检查应用程序中是否发生锁定。应该用商业工具(如 JProbe 或 OptimizeIt)分析应用程序,以查明瓶颈,提高应用程序性能。
提示:即使发现 CPU 利用率为 100%,也应该分析应用程序以提高性能。
有关应用程序分析工具的详细信息,请参阅性能分析工具。
在此步骤中将调整环境,以便将瓶颈对性能目标的影响降到最低程度。在此步骤中是将瓶颈的影响降到最低程度而不是将其消除,意识到这一点很重要。可以通过调整资源来获得性能目标。就本文档的讨论范围而言,调整项目包括(按重要性从高到低排列):
引用《Mastering BEA WebLogic Server: Best Practices for Building and Deploying J2EE Applications》作者的话:“应用程序的高性能始于良好的应用程序设计。无论用于提高性能的系统级调整和采用的最佳实践如何,过度复杂或设计拙劣的应用程序的性能都会很差。”换句话说,设计拙劣的应用程序会产生不必要的瓶颈。例如,资源争用可能是由拙劣的设计而不是应用程序域本身所致。
数据库可能是主要的企业级瓶颈。数据库的优化可能很复杂,其效果取决于不同的供应商。请参阅数据库调整。
WebLogic Server 使用了许多 OOTB(现成的)性能相关参数,可对其进行微调,具体取决于环境和应用程序。根据系统要求调整这些参数(而不是以默认设置运行),可大大提高单节点性能和应用程序的可伸缩性。请参阅调整 WebLogic Server。
Java 虚拟机(Java virtual machine,简称 JVM)是一种虚拟“执行引擎”实例,可在微处理器上执行 Java 类文件中的字节码。请参阅调整 Java 虚拟机 (JVM)。
每种操作系统的默认调整参数设置都各不相同。对于 Windows 平台,其默认设置通常已经够用。但对于 UNIX 和 Linux 操作系统,通常需要对其作相应调整。请参阅操作系统调整。
性能调整是一种迭代过程。将瓶颈对系统的影响降到最低程度之后,转到步骤 2 测量性能规格,然后确定是否已达到性能目标。
|