BEA_HOME/user_projects/domains/domain-name/startWebLogic.sh
BEA_HOME/user_projects/domains/domain-name/startManagedWebLogic.sh
set JAVA_OPTIONS=-Xms1024m –Xmx2048m
;
1.3保存,重启即可。
注:在
WebLogic
中,为了获得更好的性能,
BEA
公司推荐采用Jrockit JDK最小
Java
堆等于最大
Java
堆。
2、开发模式 vs. 产品模式;
开发模式和产品模式的一些参数的默认值不同,可能会对性能造成影响,下面是对性能有影响的参数列表:
参数
|
开发模式默认值
|
产品模式默认值
|
Execute Queue: Thread Count
|
15 threads
|
25 threads
|
JDBC Connection Pool: MaxCapacity
|
15 connnections
|
25 connections
|
通过启动管理控制台,在域(如:
mydomain
)
>
配置
>
常规选择产品模式。
3、尽量开启本地I/O;
通过启动管理控制台,在域(如:
mydomain
)
>
服务器
> server
实例(如:
myserver
)
>
配置
>
调整选择启用本地
I/O
。
注:此值也可通过手动的修改
config.xml
配置文件。
4、调优执行队列线程;
4.1
修改默认执行线程数
在这里,执行队列的线程数表示执行队列能够同时执行的操作的数量。但此值不是设的越大越好,应该恰到好处的去设置它,太小了,执行队列中将会积累很多待处理的任务,太大了,则会消耗大量的系统资源从而影响整体的性能。在产品模式下默认为
25
个执行线程。
为了设置理想的执行队列的线程数,我们可以启动管理控制台,在域(如:
mydomain
)
>
服务器
> server
实例(如:
myserver
)
>
监视
>
性能中监控最大负载时执行队列的吞吐量和队列中的等待请求数,据此确定理想的数值。
理想的默认执行线程数是由多方面的因素决定的,比如机器
CPU
性能、总体体系架构、
I/O
、操作系统的进程调度机制、
JVM
的线程调度机制。随着
CPU
个数的增加,
WebLogic
可以近乎线性地提高线程数。线程数越多,花费在线程切换的时间也就越多;线程数越小,
CPU
可能无法得到充分的利用。为获取一个理想的线程数,需要经过反复的测试。在测试中,可以以
25*CPU
个数为基准进行调整。当空闲线程较少,
CPU
利用率较低时,可以适当增加线程数的大小(每五个递增)。对于
PC Server
和
Windows 2000
,则最好每个
CPU
小于
50
个线程,以
CPU
利用率为
90%
左右为最佳。
通过启动管理控制台,在域(如:
mydomain
)
>
服务器
> server
实例(如:
myserver
)
> Execute Queue > weblogic.kernel.Defalt >
配置中修改线程计数。
4.2
设定执行队列的溢出条件;
Weblogic Server
提供给默认的执行队列或用户自定义的执行队列自定义溢出条件的功能,当满足此溢出条件时,服务器改变其状态为“警告”状态,并且额外的再分配一些线程去处理在队列中的请求,而达到降低队列长度的目的。
通过启动管理控制台,在域(如:
mydomain
)
>
服务器
> server
实例(如:
myserver
)
> Execute Queue > weblogic.kernel.Defalt >
配置下面几项:
4.3
设定执行队列监测行为
Weblogic Server
能够自动监测到当一个执行线程变为“阻塞”。变为“阻塞”状态的执行线程将无法完成当前的工作,也无法再执行新请求。如果执行队列中的所有执行线程都变为“阻塞”状态,
Weblogic server
可能改变状态为“警告”或“严重”状态。如果
Weblogic server
变为“严重”状态,可以通过
Node Manager
来自动关闭此服务器并重新启动它。具体请参考:
Node Manager Capabilities
文档。
通过启动管理控制台,在域(如:
mydomain
)
>
服务器
> server
实例(如:
myserver
)
>
配置
>
调整下可配置下面几项:
5、调优TCP连接缓存数;
WebLogic Server
用
Accept Backlog
参数规定服务器向操作系统请求的队列大小,默认值为
50
。当系统重载负荷时
,
这个值可能过小
,
日志中报
Connection Refused,
导致有效连接请求遭到拒绝
,
此时可以提高
Accept Backlog 25%
直到连接拒绝错误消失。对于
Portal
类型的应用
,
默认值往往是不够的。
Login Timeout
和
SSL Login Timeout
参数表示普通连接和
SSL
连接的超时时间
,
如果客户连接被服务器中断或者
SSL
容量大
,
可以尝试增加该值。
通过启动管理控制台,在域(如:
mydomain
)
>
服务器
> server
实例(如:
myserver
)
>
配置
>
调整下可配置“接受预备连接”。
6、改变Java编译器;
标准的
Java
编译器是
javac
,但编译
JSP servlets
速度太慢,为了提高编译速度,可以使用
Jrockit
或
jikes
编译器取代
javac
编译器。下面说说更改
Java
编译器:
通过启动管理控制台,在域(如:
mydomain
)
>
服务器
> server
实例(如:
myserver
)
>
配置
>
常规下改变
Java
编译器
,默认为javac
。输入完整路径,如:
Jrockit/bin/javac.sh
。然后打开高级选项,在预规划到类路径填写
编译 Java
代码时为
Java
编译器类路径预规划的选项,如:BEA_HOME/
Jrockit
/jre/lib/rt.jar
。
7、使用Multi-pool技术Webogic Server集群提高性能;
与常规集群的配置方式不同,我们采用“Multi-pool”配置,配置为“负载均衡”方式
8、Weblogic JavaBean调优
Bean
设为只读。
Bean
设为用于事务。
Bean
不作优化。此时,即使在交易中未被修改过,容器也会将存储操作优化掉
9、JDBC应用调优
10、JSP调优