Weblogic Performance Tuning.docx
- 文档编号:7226905
- 上传时间:2023-01-22
- 格式:DOCX
- 页数:19
- 大小:1.08MB
Weblogic Performance Tuning.docx
《Weblogic Performance Tuning.docx》由会员分享,可在线阅读,更多相关《Weblogic Performance Tuning.docx(19页珍藏版)》请在冰豆网上搜索。
WeblogicPerformanceTuning
WeblogicPerformanceTuning
2010年7月15日
By史仲青Spoker
系统平台信息
Weblogic版本信息
需使用工具信息
WindowsServer2003R2
Weblogic8SP3
jvisualvm.exe/jconsole.exe/JrockitManagementConsole
优化篇
1.设置合理的JAVA参数
几乎所有的Weblogic的优化文章都会提及JVM的配置问题,一般是两个方面:
JAVAHeap(JAVA堆大小)与GC(垃圾回收)。
1.1配置Java堆内存,修改commEnv.cmd文件中配置信息,
默认为:
setJAVA_VM=-server
setMEM_ARGS=-Xms32m-Xmx200m-XX:
MaxPermSize=128m
查看启动Weblogic实际效果:
更改后:
setJAVA_VM=-server
setMEM_ARGS=-Xms512m-Xmx512m-XX:
MaxPermSize=512m
查看启动Weblogic实际效果:
1.2配置GC信息
关于GC这部分需要知道堆内存大小决定了GC的频度和时间。
堆越大,GC频度低,速度慢。
堆越小,GC频度高,速度快,详细的GC信息可通过配置-verbosegc来生成相关的GC日志,能过GC日志的信息来调整堆内存或可能通过JDK的工具来调整。
在Weblgic8的console中也有些关于GC的配置选项。
2.设置Weblogic模式
2.1.在Webloigc具有开发模式与产品模式两种状态,具体区别如下:
功能
开发模式
产品模式
SSL
你可以使用WebLogic安全服务提供的验证数字证书。
有这些证书,你开发的应用程序会在SSL保护的环境下运行。
如果你使用验证数字证书,会收到警告信息。
应用部署
支持热部署与更新
不支持自动更新
LogFileRotation
启动服务器后,服务器自动重命名本地日志文件为server-name.log.n,为了滞留的session,只要日志文件的达到500kb,日志文件就会滚转一次。
当日志文件达到500kb,就会滚转。
ExecuteQueues
默认的执行线程为15
默认的执行线程为25
JDBCConnectionPoolCapacity
默认的容量为15
默认的容量为25
附:
WebLogic为产品模式,此时sun和hpjvmJIT引擎为-server,默认情况下打开JIT编译模式对性能也有帮助。
2.2.配置模式
配置Weblogic的模式及为简单,只需配置Weblogic的全局属性文件commEnv.sh或域中startWebLogic.sh文件中的PRODUCTION_MODE=true即可。
3.开启Weblogic“启用本地IO”性能包
在Weblogic中针对IO包有JAVA版与本地IO库两种,为更好的得到性能优化需尽可能的开启本地IO库。
当然,单单开启本地IO还是不够的,在*UNIX平台中,更好的优化系统本身的线程与Socket数,也会增加Weblogic的性能。
4.配置队列
1.1Weblogic本身已经给我们配置了些默认队列信息,当然在实际生产中这些仅仅是不够的。
前面提到在Weblogic模式里,开发模式与产品模式中默认队列数是不同的,在此可能通过查看weblogic.kernel.Default信息可看:
需要解释说明:
weblogic.admin.HTTP队列是针对管理控制台所使用的。
weblogic.admin.RMI队列是针对管理信息的传输,不可配置,供Weblogic内部用。
weblogic.kernel.Default队列为默认队列,是我们常配置的。
weblogic.kernel.System队列与weblogic.kernel.Non-Blocking同样与weblogic.admin.RMI相同为Weblogic自己内部使用,不可配置。
1.2配置默认队列
1.2.1更改默认队列有更改默认weblogic.kernel.Default队列与用户自定义队列两种,
更改默认队列:
1.2.2用户自定义队列:
在管理控制台中自定义队列,然后在用户域的xml中配置上此队列名即可。
即在xml中添加
1.3查看队列情况
在Weblogic中可自定义一些告警阀值(警告与危险),以方便了解队列在用情况。
5.配置连接数
在Weblogic中默认的连接数为50
通过更改此项的值来配置所需的连接数。
6.配置JDBC连接池
新增连接池的连接还是比较简单的
配置JDBC的容量
附:
可以考虑配置Oracle的连接情况与Weblogic的线程情况。
7.配置JAVA编译器
Weblogic的默认编译器是javac,除此之外,我们还可以考虑更改为si,jlks提高性能。
8.系统层面的配置
在linux中最好通过设置limint–nvalue来限制java应用Socket连接进程所打开的文件大小限制。
对于已开启服务的java进程来说,可通过netstat–ae|grepjava中的state状态来查看socket情况,如显示为TIME_WAIT,表现有问题了,需修改系统内核参数修改。
9.事务管理的配置
配置运行事务的Server的控制等.
性能分析篇
1.分析Weblogic性能
分析Weblogic首先要会想到的使用Weblogic自带的工具。
在Weblogic整体性分析方面可以利用的免费性能分析与监控软件太少了,只能找破解版本。
如Quest公司的SpotlightforWeblogic,Borland.Optimizeit.Enterprise.Suite,ITCAMforWebSphere,等
2.分析Java性能
能过分析JVM的一些信息,也能为优化Weblogic找到方法和入口,
Jconsole
重要的是支持远程连接
Jvisualvm
这个被我个人经常使用,除了具有jsconsole的功能外,还具有快照的信息,要熟练使用快照功能,可以方便我们在工作中保存记录。
JrockitManagementConsole
开启SNMP
开启SNMP服务并合理的配置基参数,可方便我们利用SNMP网管协议监控Weblogic的性能情况.
诊断篇
在服务器已承现hang等情况下,除了可以使用Jvisualvm进行快照保存信息进行分析外,还可以利用JDK现有的其它工具,进行进一步分析
1.利用JDK1.6
简单显示该进程在内存中的内容
显示该显示所使用的内存对象
显示该进程的详细使用信息,并分析
2.通过生成DUMP文件分析
ThreadDump中记录着我们对问题进行诊断时,非常重要的信息,所以学习和掌握这部分技术也是十分重要的。
如ps–ef|grepjava找出PID之后执行kill-3pid来生成dump文件进行分析。
关于各种操作系统平台生成DUMP文件方法:
Unix系统(Solaris、HP、AIX)
使用kill-3
确保在每个服务器上执行几次,每次间隔大约5到10秒,以帮助诊断死锁问题。
为达到诊断目的,用nohup启动服务启进程(请参考解决方案S-12292和S-15924)。
Windows、XP、NT
每个服务器需要
确保在每个服务器上执行几次,每次间隔大约5到10秒,以帮助诊断死锁问题。
在NT上,在命令shell中输入CTRL-Break。
Linux
Linux操作系统查看线程的方式不同于其它操作系统。
该操作系统将每个线程视为一个进程。
若要在Linux上进行ThreadDump,查找通过其启动所有其它进程的进程ID。
使用命令:
· 若要获得根PID,使用:
ps-efHl|grepjava
使用一个作为字符串的grep参数(可在与服务器启动命令匹配的进程堆栈中找到该字符串)。
如果ps命令还没有管道传送到另一个例程,则报告的第一个PID将是根进程。
· 使用weblogic.Admin命令THREAD_DUMP
进行ThreadDump的另一种方法是使用THREAD_DUMPadmin命令。
此方法与正在运行服务器实例的操作系统无关。
javaweblogic.Admin-urlManagedHost:
8001-usernameweblogic-passwordweblogicTHREAD_DUMP
日志篇
在Weblogic的日志配置,使用,分析是我们诊断与分析Weblogic是否已出现问题或是否已达到我们所需求效果的一种手段,所以我们也不可必免的学习log的配置。
1.WeblogicServer运行日志
1.1一般性日志
每当开启或关闭WeblogicServer的时候,会在终端中显示记录信息,配置该信息可以补捉些关于Serverer启动或关闭过程中的信息。
附:
注意些该中还会记录些dump信息。
1.2访问日志
Weblogic还可配置访问日志,用来记录HTTP/HTTPS的访问信息,判断客户端访问些的信息,可能会在服务器受到DDOS攻击时启到作用。
1.3JDOC数据源日志
无乎不用到
1.4事务日志
在WeblogicServer提供事务处理,配置该日志可以帮我们记录下失败的事务信息.
1.5域运行日志
配置域记录可以用来记录该域下各Server运行情况.
参数篇
1.概念
在我所接触到的所有中间件产品中,如Tomcat,Jboss,WAS等等,都会把一些参数的配置文件XML中,Weblogic做为一款优秀的中间件产品,也具有相同的做法,其配置文件为config.xml,被放置在domain下各Server中.
在该配置文件中可配置包括JDBCconnectionpools、JMS、JTA、logging、clustering、deployedapplication等等参数.而XML的写法也非常的简单,在此就不讲了,我们可在你所使的Weblogic版本的管方说明文档中找到相关的配置参数,加入该XML文件中,如param-name.
写法:
2.技巧
我们来学习通过配置XML实现某项功能的配置技巧.所使用工具EDITPLUS.
1配置参数param-name,
/temp/myjspclasses#指定class的目录
该参数作用为配置classs目录,防止Weblogic重启之后重新编译.
2配置队列
#wl-dispatch-policy为通过console新增的队列名.
服务配置篇
1.虚拟主机配置
关于虚拟主机的配置,非常实用,配置过程也及为简单.
1修改其应用的WEB_INF目录下weblogic.xml文件context的参数为;
没有则新建一个
xmlversion="1.0"encoding="UTF-8"?
>
DOCTYPEweblogic-web-appPUBLIC"-//BEASystems,Inc.//DTDWebApplication6.1//EN""
2配置并指定建立虚拟主机
2.Tuxedo整合
群集篇
1.配置
2.优化
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Weblogic Performance Tuning
![提示](https://static.bdocx.com/images/bang_tan.gif)