weblogic调优
上一篇 / 下一篇 2007-08-28 08:15:04 / 个人分类:其他
A8j T\:F'A4x:Ek0 注:在下面做的介绍都是以Weblogic8.1为例的,其它版本的Weblogic可能会有些许不同。51Testing软件测试网e/rK1R0G6@%n%LZ
51Testing软件测试网0~w7nDx9KN1) 设置JAVA参数;51Testing软件测试网.@8Ez"G%F
51Testing软件测试网;Q FoMC_a) 编辑Weblogic Server启动脚本文件;
rJ|7M;J"m}Fl0 51Testing软件测试网9y3BG-FIl BEA_HOME\user_projects\domains\domain-name\startWebLogic.cmd(startWebLogic.sh on Unix)
r2[:jAg;D3GXM7DY0io4Wo!|/@[T3Zkw A0l BEA_HOME\user_projects\domains\domain-name\startManagedWebLogic.cmd(startManagedWebLogic.sh on Unix)51Testing软件测试网F)`9j'cZy
51Testing软件测试网fE9[bC"T)x0}Ib) 编辑set JAVA_OPTIONS命令,如:set JAVA_OPTIONS=-Xms
A+};`9Sd p0c) 保存,重启即可。
&^Jk$_l%af5e0E$Y8Dy(^,?(cq0注:在WebLogic中,为了获得更好的性能,BEA公司推荐最小Java堆等于最大Java堆。51Testing软件测试网(JD8_,X/yI
a/?"vm~/K+tg02) 开发模式 vs. 产品模式;51Testing软件测试网3A#_)wk9y b#?#H$JS,B
u)l;l:i4]7wk0开发模式和产品模式的一些参数的默认值不同,可能会对性能造成影响,下面是对性能有影响的参数列表:
'X2_cQ4X9q0
w@3F,O[Iv0参数 ATG E4UU$F0 |
51Testing软件测试网J6S b![4[5uYUW
q 开发模式默认值51Testing软件测试网0G1N(k3Gf"b"E#[Q+a*A |
51Testing软件测试网
gR:vyq @/Z.]o'x 产品模式默认值51Testing软件测试网*N9? i|!Q4@ f5i |
51Testing软件测试网9A$g+|i#@6|N Execute Queue: Thread Count 9m[Y"_d4LuI7x9c4\0 |
+}.WY;CaU015 threads 1D:X@5e-m0 |
51Testing软件测试网#[7@;p-[aWmV 25 threads 6](nKX#Z'f'F"f4W0 |
51Testing软件测试网R"V%H8`.G JDBC Connection Pool: MaxCapacity t3i!xs.X'Z0 |
51Testing软件测试网I~c#xI3p 15 connnections #Aeb\#H@'{/Ns0 |
6cM$q.O1bfG6W@[K025 connections51Testing软件测试网e*H,hqr)C1ut |
通过启动管理控制台,在域(如:mydomain)> 配置 > 常规选择产品模式。
1sO8c7d!Y:`0 51Testing软件测试网 Q5F0G9l.@3) 尽量开启本地I/O;51Testing软件测试网lhPEB;@1@2rrT
,_nEe2^[0通过启动管理控制台,在域(如:mydomain)> 服务器 > server实例(如:myserver)> 配置 > 调整选择启用本地I/O。51Testing软件测试网_1sJ Ft7pU
51Testing软件测试网.XOko(g4w注:此值也可通过手动的修改config.xml配置文件。51Testing软件测试网"H)bGp hHZ F:l
51Testing软件测试网*{ea3@_2Y4) 调优执行队列线程;
X0n m[J L0 51Testing软件测试网J.\I L pje!Pj,{a) 修改默认执行线程数51Testing软件测试网 H0w0e Dv5E&m
51Testing软件测试网El_^4q在这里,执行队列的线程数表示执行队列能够同时执行的操作的数量。但此值不是设的越大越好,应该恰到好处的去设置它,太小了,执行队列中将会积累很多待处理的任务,太大了,则会消耗大量的系统资源从而影响整体的性能。在产品模式下默认为25个执行线程。
6\#J)F1E+pn/^J0tU9Y%ZG1]ff0为了设置理想的执行队列的线程数,我们可以启动管理控制台,在域(如:mydomain)> 服务器 > server实例(如:myserver)> 监视 > 性能中监控最大负载时执行队列的吞吐量和队列中的等待请求数,据此确定理想的数值。
,}#s xD;j0%cb|@,Q E0 理想的默认执行线程数是由多方面的因素决定的,比如机器CPU性能、总体体系架构、I/O、操作系统的进程调度机制、JVM的线程调度机制。随着CPU个数的增加,WebLogic可以近乎线性地提高线程数。线程数越多,花费在线程切换的时间也就越多;线程数越小,CPU可能无法得到充分的利用。为获取一个理想的线程数,需要经过反复的测试。在测试中,可以以25*CPU个数为基准进行调整。当空闲线程较少,CPU利用率较低时,可以适当增加线程数的大小(每五个递增)。对于PC Server和Windows 2000,则最好每个CPU小于50个线程,以CPU利用率为90%左右为最佳。
2sc8q9Jkt+y0$itb$H1cu:y^E0 通过启动管理控制台,在域(如:mydomain)> 服务器 > server实例(如:myserver)> Execute Queue > weblogic.kernel.Defalt > 配置中修改线程计数。51Testing软件测试网q#WRq){_$U*u
51Testing软件测试网 \+M6}]s%@b {b) 设定执行队列的溢出条件;51Testing软件测试网4i[/t Z` H*z
51Testing软件测试网'pE}(I1@LTWeblogic Server提供给默认的执行队列或用户自定义的执行队列自定义溢出条件的功能,当满足此溢出条件时,服务器改变其状态为“警告”状态,并且额外的再分配一些线程去处理在队列中的请求,而达到降低队列长度的目的。51Testing软件测试网OVe*t'K0K eB
51Testing软件测试网7Rgg7D5[oV {'`b通过启动管理控制台,在域(如:mydomain)> 服务器 > server实例(如:myserver)> Execute Queue > weblogic.kernel.Defalt > 配置下面几项:51Testing软件测试网 t:Q'yn Q2Nd b
;p$M p w#~%o2`Bd0l 队列长度:此值表示执行队列中可容纳的最大请求数,默认值是65536,最后不要手动改变此值。
;p.TPZi0N"UN'{lo;t0l 队列长度阈值百分比:此值表示溢出条件,在此服务器指出队列溢出之前可以达到的队列长度大小的百分比。
};G?L,eA9W3H n02|y"Smh @ N s#[0l 线程数增加:当检测到溢出条件时,将增加到执行队列中的线程数量。如果CPU和内存不是足够的高,尽量不要改变默认值“0”。因为Weblogic一旦增加后不会自动缩减,虽然最终可能确实起到了降低请求的作用,但在将来的运行中将影响程序的性能。
yD2f/u7s8F+l6C0 51Testing软件测试网vz{K8q?_:tKPl 最大线程数:为了防止创建过多的线程数量,可以通过设定最大的线程数进行控制。51Testing软件测试网)ofD!Q[3WA
Jn@3o0K y/g:g0在实际的应用场景中,应根据具体情况适当的调整以上参数。51Testing软件测试网G] | n'@4Gf
51Testing软件测试网d:l&N