2024年6月12日发(作者:)

优化WebLogic

优化 WebLogic 服务器性能参数

WebLogic 配置文件()包含了大量很直观的与性能有关的参数,能通过配置环境与应用程序得到很好的优化。基于系统的需要调整这些参数不仅能改善

单个点的性能,而且能提高整个应用程序性能的可衡量性。

试着采用下列WebLogic配置方法,或许能使你的系统达到最佳状态:

一 修改运行队列线程数的值。在WebLogic 中队列元素的线程数等于同时占用运行队列的应用程序的数目。当任务加入一个WebLogic 实例,它就被放到执行队列中,然后

分配给任务一个线程来运行。线程消耗资源,因此要小心处理这个属性——增加不需要的值,会降低性能。

二,如果可能,使用自带的性能包(NativeIOEnabled=true)。

三,使用特定的应用程序执行队列。

四,使用JDBC连接池时,修改下列属性:

n 驱动名称:使用小的驱动或者jDriver。

n 初始容量:设为与最大容量相同的值。

n 最大容量:其值至少应与线程数相同。

五,把连接池的大小设为与执行队列的线程数相同。

六,设置缓冲。

七,为Servlet和JSP使用多个执行队列。

八,改变JSP默认的Java编译器,javac 比jikes或sj要慢。

优化 WebLogic

提要:

n 为 WebLogic 启动设置 Java 参数。

n 设置与性能有关的配置参数。

n 调整开发与产品模式默认值。

n 使用 WebLogic “自有的 IO ”性能包。

n 优化默认执行队列线程。

n 优化连接缓存。

n 如何提高 JDBC 连接池的性能。

n 设置 Java 编译器。

n 使用 WebLogic 集群提高性能。

n 监视 WebLogic 域。

一、为 WebLogic 启动设置 Java 参数

只要启动 WebLogic ,就必须指定 Java 参数,简单来说,通过 域的命令行就可以完成,不过,由于这样启动的过程冗长并且易于出错, BEA

公司推荐你把这个命令写进脚本里。为了简化这个过程,你可以修改样例脚本里的默认值,样例脚本是提供 WebLogic 启动服务器的。

如果你用配置向导创建你的域, WebLogic 启动脚本( )放在 domain-name 目录里。默认情况下,这个目录是

BEA_HOMEuser_projectsdomaindomain-name , BEA_HOME 表示安装路径, domain-name 是在配置模板中设置的域名称。

你需要在这个脚本中修改一些默认的 Java 参数值,使之适合你的应用环境和程序。在这个文件中主要的性能参数是 JAVA_HOME 和 Java 堆的大小。

n 设 JAVA_HOME 的值为 JDK 所在的位置,如:

set JAVA_HOME=C:beajdk141_03

n 为得到高性能的吞吐量,把 Java 堆的最小值与最大值设为相等。如:

"%JAVA_HOME%binjava" -hotspot -Xms512m -Xmx512m -classpath %CLASSPATH% -

二、设置与性能有关的配置参数

在一个 WebLogic 域中,配置文件( )位于与管理服务器通信的机器里,提供 WebLogic MBean 的长期存储。管理服务器作为连接的中心点,为服

务实例与系统管理工具提供服务。域也可以包括其他的 WebLogic 实例,称之为从服务,主要为应用程序提供服务。

当启动管理服务器是,首先读域配置文件,然后跳过建立在配置文件中管理 MBean 默认的属性值,每一次用系统管理工具(不管是命令行界面还是管理控制台)

改变一个属性值,它都会被存到相应的管理 MBean ,并且写进配置文件。

下表列出了 文件中影响服务器性能的参数。

元素 属性 控制台标签 备

Server NativeIOEnabled Native IO Enabled

ExecuteQueue ThreadCount

QueueLength

QueueLengthThresholdPercent

ThreadsIncrease

ThreadsMaximum

ThreadPriority

Thread Count

Queue Length

Queue Length Threshold Percent

(队列长限度百分比)

Threads Increase

Threads Maximum

Thread Priority

ExecuteQueue

Server StuckThreadMaxTime

StuckThreadTimerInteral

Stuck Thread Max Time

(堵塞线程的最长时间)

Stuck Thread Timer Interval

(堵塞线程的时间间隔)

Server ThreadPoolPercentSocketReaders Socket Readers

Server AcceptBacklog Accept Backlog

(接受缓存数)