Weblogic8 优化手段

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

Weblogic8优化手段2010年7月15日By史仲青Spoker系统平台信息Weblogic版本信息需使用工具信息WindowsServer2003R2Weblogic8SP3jvisualvm.exe/jconsole.exe/JrockitManagementConsole优化篇1.设置合理的JAVA参数几乎所有的Weblogic的优化文章都会提及JVM的配置问题,一般是两个方面:JAVAHeap(JAVA堆大小)与GC(垃圾回收)。1.1配置Java堆内存,修改commEnv.cmd文件中配置信息,默认为:setJAVA_VM=-serversetMEM_ARGS=-Xms32m-Xmx200m-XX:MaxPermSize=128m查看启动Weblogic实际效果:更改后:setJAVA_VM=-serversetMEM_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默认的执行线程为25JDBCConnectionPoolCapacity默认的容量为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中添加wl-dispatch-policyyourexecutequeue/wl-dispatch-policy1.3查看队列情况在Weblogic中可自定义一些告警阀值(警告与危险),以方便了解队列在用情况。5.配置连接数在Weblogic中默认的连接数为50通过更改此项的值来配置所需的连接数。6.配置JDBC连接池新增连接池的连接还是比较简单的配置JDBC的容量附:可以考虑配置Oracle的连接情况与Weblogic的线程情况。配置多个连接池共指定到同一个应用中,可启到负载的作用.7.配置JAVA编译器Weblogic的默认编译器是javac,除此之外,我们还可以考虑更改为si,jlks提高性能。8.线程与Socket的配置在linux中最好通过设置limint–nvalue来限制java应用Socket连接进程所打开的文件大小限制。对于已开启服务的java进程来说,可通过netstat–ae|grepjava中的state状态来查看socket情况,如显示为TIME_WAIT,表现有问题了,需修改系统内核参数修改。而线程的配置可直接在console中配置9.事务管理的配置配置运行事务的Server的控制等.10.缓减静态页面处理性能在以tomcat的开源中间件架构中,常会用到Apache做为处理静态页,以缓减WEB服务能力.当然Weblogic也是自然可以的,整合Apache-WeblogicServere插件,透明的访问Weblgoci的Servlet引擎.性能监控篇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.使用Jprobe进行分析3.使用OptimizeIt进行分析4.使用Introscope进行分析5.使用Spotlight进行分析6.通过生成DUMP文件分析ThreadDump中记录着我们对问题进行诊断时,非常重要的信息,所以学习和掌握这部分技术也是十分重要的。如ps–ef|grepjava找出PID之后执行kill-3pid来生成dump文件进行分析。关于各种操作系统平台生成DUMP文件方法:Unix系统(Solaris、HP、AIX)使用kill-3weblogicprocessid创建诊断问题所需的ThreadDump。确保在每个服务器上执行几次,每次间隔大约5到10秒,以帮助诊断死锁问题。为达到诊断目的,用nohup启动服务启进程(请参考解决方案S-12292和S-15924)。Windows、XP、NT每个服务器需要Ctrl-Break来创建诊断问题所需的ThreadDump。确保在每个服务器上执行几次,每次间隔大约5到10秒,以帮助诊断死锁问题。在NT上,在命令shell中输入CTRL-Break。LinuxLinux操作系统查看线程的方式不同于其它操作系统。该操作系统将每个线程视为一个进程。若要在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.写法:param-nameworkingDir/param-name2.技巧我们来学习通过配置XML实现某项功能的配置技巧.所使用工具EDITPLUS.1配置参数param-name,param-nameworkingDir/param-name#为该参数配置一个名称param-valueC:/temp/myjspclasses/param-value#指定class的目录该参数作用为配置classs目录,防止Weblogic重启之后重新编译.2配置队列servletservlet-nameMainServlet/servlet-namejsp-file/myapplication/critical.jsp/jsp-fileinit-paramparam-namewl-dispatch-policy/param-nameparam-valueCriticalAppQueue/param-value/init-param/servlet#wl-dispatch-policy为通过console新增的队列名.3配置会话Weblogic默认被配置成处理会话跟踪,不许再配.然而根据生产的应用连接情况及时的配置会话属性对性能的优化也是很关健.在Weblogic的应用中的web.xml中添加的session-timeout属性来配置会话超时情况

1 / 24
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功