优化weblogic.docx
- 文档编号:2846904
- 上传时间:2022-11-15
- 格式:DOCX
- 页数:16
- 大小:29.12KB
优化weblogic.docx
《优化weblogic.docx》由会员分享,可在线阅读,更多相关《优化weblogic.docx(16页珍藏版)》请在冰豆网上搜索。
优化weblogic
优化WebLogic
优化WebLogic服务器性能参数
WebLogic配置文件(config.xml)包含了大量很直观的与性能有关的参数,能通过配置环境与应用程序得到很好的优化。
基于系统的需要调整这些参数不仅能改善单个点的性能,而且能提高整个应用程序性能的可衡量性。
试着采用下列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参数,简单来说,通过WebLogic.Server域的命令行就可以完成,不过,由于这样启动的过程冗长并且易于出错,BEA公司推荐你把这个命令写进脚本里。
为了简化这个过程,你可以修改样例脚本里的默认值,样例脚本是提供WebLogic启动服务器的。
如果你用配置向导创建你的域,WebLogic启动脚本(startWebLogic.cmd)放在domain-name目录里。
默认情况下,这个目录是BEA_HOME\user_projects\domain\domain-name,BEA_HOME表示安装路径,domain-name是在配置模板中设置的域名称。
你需要在这个脚本中修改一些默认的Java参数值,使之适合你的应用环境和程序。
在这个文件中主要的性能参数是JAVA_HOME和Java堆的大小。
n 设JAVA_HOME的值为JDK所在的位置,如:
setJAVA_HOME=C:
\bea\jdk141_03
n 为得到高性能的吞吐量,把Java堆的最小值与最大值设为相等。
如:
"%JAVA_HOME%\bin\java"-hotspot-Xms512m-Xmx512m-classpath%CLASSPATH%-
二、设置与性能有关的配置参数
在一个WebLogic域中,配置文件(config.xml)位于与管理服务器通信的机器里,提供WebLogicMBean的长期存储。
管理服务器作为连接的中心点,为服务实例与系统管理工具提供服务。
域也可以包括其他的WebLogic实例,称之为从服务,主要为应用程序提供服务。
当启动管理服务器是,首先读域配置文件,然后跳过建立在配置文件中管理MBean默认的属性值,每一次用系统管理工具(不管是命令行界面还是管理控制台)改变一个属性值,它都会被存到相应的管理MBean,并且写进配置文件。
下表列出了config.xml文件中影响服务器性能的参数。
元素
属性
控制台标签
备注
Server
NativeIOEnabled
NativeIOEnabled
ExecuteQueue
ThreadCount
ThreadCount
ExecuteQueue
QueueLength
QueueLengthThresholdPercent
ThreadsIncrease
ThreadsMaximum
ThreadPriority
QueueLength
QueueLengthThresholdPercent
(队列长限度百分比)
ThreadsIncrease
ThreadsMaximum
ThreadPriority
Server
StuckThreadMaxTime
StuckThreadTimerInteral
StuckThreadMaxTime
(堵塞线程的最长时间)
StuckThreadTimerInterval
(堵塞线程的时间间隔)
Server
ThreadPoolPercentSocketReaders
SocketReaders
Server
AcceptBacklog
AcceptBacklog
(接受缓存数)
JDBCConnectionPool
InitialCapacity
MaxCapacity
InitialCapacity
MaxCapacity
JDBCConnectionPool
StatementCacheSize
StatementCacheSize
(声明高速缓冲大小)
三、调整开发模式与产品模式默认值
你可以指定域为开发环境或为产品环境。
WebLogic会根据你指定的环境类型使用不同的默认值提供不同的服务。
下表列出了两种模式下的默认值
优化参数
开发模式
产品模式
ExecuteQueue:
ThreadCount
15threads
25threads
JDBCConnectionPool:
MaxCapacity
15connections
25connections
3.1更改运行时模式
在创建了一个域后,按下列步骤可以更改域里所有服务的的运行时模式:
1.为更改运行在一个WebLogic主机上的所有域的运行时模式,用文本编辑器打开WL_HOME\common\bin\commEnv.cmd(Windows)或者WL_HOME\common\bin\commEnv.sh(UNIX),WL_HOME是安装WebLogic的路径。
为指定的域更改运行时模式,就用文本编辑器打开domain-name\StartWebLogic.cmd(Windows)ordomain-name\StartWebLogic.sh(UNIX),domain-name为创建的域的目录。
2.在这个脚本中,更改PRODUCTION_MODE的值,如果你要服务器运行在产品模式,指定其值为TRUE。
3.重启所有的服务器。
3.2两种模式的不同
下表列出了开发模式与产品模式几种关键项的区别:
功用名称
开发模式
产品模式
SSL
你可以使用WebLogic安全服务提供的验证数字证书。
有这些证书,你开发的应用程序会在SSL保护的环境下运行。
如果你使用验证数字证书,会收到警告信息。
部署应用程序
WEBLOGIC实例会自动部署和更新位于domain_name/applications目录下的应用程序(domain_name为域的名称)。
不能使用自动部署功能,必须使用WebLogic控制台或者WebLogiceblogicDeployer工具。
LogFileRotation
启动服务器后,服务器自动重命名本地日志文件为server-name.log.n,为了滞留的session,只要日志文件的达到500kb,日志文件就会滚转一次。
当日志文件达到500kb,就会滚转。
ExecuteQueues
默认的执行线程为15。
默认的执行线程为25。
JDBCConnectionPoolCapacity
默认的容量为15。
默认的容量为25。
四、使用WebLogic“自有的IO”性能包
当你使用自有的性能包,测试基准就表明了主要性能的提高。
性能包采用最优化的平台及多线程的Socket去提高服务器的性能。
例如,本地Socket读的多线程有自己的执行队列而不需要借用默认的执行队列线程,这样可以让默认执行线程很从容去处理应用程序。
不过,如果你一定要用纯Javasocket读在主机上运行,你仍然可以通过配置每个服务器实例和客户机中适当的socket读的线程数量,来提高socket通信的性能。
设置性能包的操作方法:
默认情况下,装载在config.xml中的是自有的性能包。
为了验证这个设置,在配置文件中检查NativeIOEnabled属性是否设为“true”(NativeIOEnabled=true)。
你也可以通过管理控制台来验证,步骤如下:
1, 启动管理服务器。
2, 访问管理控制台。
3, 展开左边面板的Servers节点,显示域服务。
4, 点击你要配置的服务实例。
5, 选择Configuration->Tuningtab。
6, 如果EnableNativeIO复选框没有被选择,选中即可。
7, 点击Apply。
8, 重启服务器。
五、优化默认执行队列线程
默认情况下,一个新的WebLogic实例配置了一个开发模式执行队列,weblogic.kernel.default,它包含15个线程。
另外,WebLogic提供了2个预配置队列:
n weblogic.admin.HTTP——只在管理服务器上才有,这个队列供与管理控制台的通信用,你不能再配置它。
n weblogic.admin.RMI——管理服务器和被管理服务器上都有这个队列,它是供管理的交通之用,也不能再配置它。
如果你不配置额外的执行队列,并且指定应用给这些队列,web应用程序和RMI对象就使用默认的队列weblogic.kernel.default。
注意;如果自带的执行包没有在你的平台上使用,你可能需要调整默认的执行队列线程数和担任socket读的线程的百分比,去实现最佳性能。
5.1你应该更改默认的线程数吗?
增加更多的线程到默认的执行队列并不意味着你能处理更多的工作。
即使增加更多的线程,仍然被处理器的能力限制。
因为线程消耗内存,所以增加线程数属性的值不必要的降低了性能。
一个高的执行线程数导致更多的内存被占用并且增加了上下文
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 优化 weblogic