Wls_weblogic管理监控.doc_第1页
Wls_weblogic管理监控.doc_第2页
Wls_weblogic管理监控.doc_第3页
Wls_weblogic管理监控.doc_第4页
Wls_weblogic管理监控.doc_第5页
全文预览已结束

VIP免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

中间件Weblogic管理监控注意事项Weblogic监控的目的:发现系统中的隐患及系统运行是否稳定。主要从以下几方面进行检查:一、 操作系统:检查系统cpu、内存等使用是否异常。如在负载不大的情况下,cpu是否一直居高不下,内存占用是否一直很大。可以通过top(topas)、vmstat、free m、ps等命令查看。二、 网络:1、位于一个domain中各个服务器是否能够联通。2、weblogic服务器与数据库服务器的链接是否畅通。三、 Weblogic1、检查是否对jvm进行了优化,如最大堆内存、最小堆内存,以及gc算法是否合理。2、检查gc是否正常主要是通过weblogic控制台,查看jvm的空闲内存的变化情况,每次gc的回收情况。特别是可以在控制台强制垃圾回收,看看回收的内存是否太小。如果回收的内存太小,说明可能存在内存益处的隐患。3、检查线程数通过weblogic控制台可以查看线程数的统计信息。weblogic9及以上的线程是自优化的。但应该查看系统的线程最大数是否过大,如果过大,就要注意系统为什么会有这么大的压力。如下为示例截图Active Execute Threads:在活动的线程池内处理请求的线程个数Execute Thread Total Count:线程池内线程的总数Execute Thread Idle Count:池内的空闲线程数。它不包含stuck和standby的线程数。它是指等待接收新请求到来并处理的线程个数queue length :请求队列的长度,及队列中等待线程处理的请求的个数hogging thread count :线程处理一个请求时间超过一定值被视为hogging状态,如果继续处理请求超过一定时间将被视为stuck,或处理完请求后被放回线程池standby thread count :统计在standby(备用)线程池内的线程数。这些线程不需要处理当前请求被放入standby池内,当活动的线程池内需要更多线程时,这些线程将被激活。Execute Thread Total Count= Active Execute Threads+ standby thread count4、线程是否有stuck状态的。 线程stuck状态说明存在超时的线程,也有可能存在线程的死锁。在查看线程数的时候,查看Health一栏,如果出现Warning则代表有stuck(阻塞线程),就要查看系统的运行状态,jvm等的状态是否正常,内存使用率等。立即做thread dump得到当前虚拟机下线程活动快照,就可以分析服务器线程之间是否存在死锁,以及哪些线程处于stuck状态。产生thread dump,可以通过命令ps ef | grep java 列出所有java进程即启动的所有的weblogic server进程,找到有线程阻塞的进程号wls_pid,然后使用kill -3 wls_pid得到thread dump。通常thread dump会被输入到标准输出中,如果用nohup后台方式启动则会出现在nohup.out或重命名的文件中 。如果是windows环境则在dos标准输出窗口中用“ctrl+break”组合键获取thread dump。5、jdbc连接池检查连接池中等待连接的数目是否过大,可以做适当调整。如果用户访问系统变慢,且连接池基本占满,但是weblogic的线程数量很少,就要怀疑应用是否没有释放数据库连接。如下为监控数据库连接池截图示例:查找连接泄露点的方法:如下图所示选中数据源,点击Configuration-Diagnostics,把Profile Connection Leak前打上即可。当再次出现连接池泄漏时查看server日志便可找到具体发生泄露的代码,并加以改正,通常打上finally块,关闭连接。四、 系统日志通过系统的日志分析weblogic服务器及应用程序出现的错误,找到可能影响系统性能的服务器和应用的地方。举例如下:1、已经对用户进行响应java.lang.IllegalStateException: Cannot forward a response that is already committedat ernal.RequestDispatcherImpl.forward(Request DispatcherImpl.java:110)at com.qtong.hebmc.ExceptionFilter.doFilter(ExceptionFilter.java:55)如上异常,为什么对用户的response已经提交给用户了,就要怀疑代码中某些地方在过滤器过滤之前已经显示的提交或关闭了对用户的响应的outputstream。有些时候在过滤器中要做后续的一些处理,这时候filter中出现异常,有可能导致数据库连接不释放及一些后续的处理得不到执行。2、线程一直处于stuck状态STUCK ExecuteThread: 32 for queue: weblogic.kernel.Default (self-tuning) has been busy for 632 seconds working on the request Http Request: /stat/test/TestCtrl.statOracleTest.do, which is more than the configured time (StuckThreadMaxTime) of 600 seconds. 这句表名线程32执行时间超过600秒设定的时间。检查这个请求是否会导致线程执行超时,是否是长时间的处理。当前系统状态是否正常,是否是cpu、内存等资源不足导致的线程执行缓慢。重要的一点要查看线程32是否变成unstuck状态。否则就有可能出现线程死锁。3、数据库连接问题java.sql.SQLException: BEAOracle JDBC DriverError establishing socket to host and port: dbnew2_vip:1521. Reason: Connection refused当出现此问题时,一般系统都执行缓慢。检查是否ping通数据库,是否有权限,也可以请数据库工程师查看数据库是否运行正常。检查dns服务器或本地dns映射是否正常,域名dbnew2_vip能否解析。4、检查Weblogic记录的Error级别的日志。找到可能影响系统运行及功能的问题。如:# Malformed Request /service/js/mareal/mareal.肃移动此出,说明线程1执行请求“/service/js/mareal/mareal.肃移动option value=”的时候,weblogic对这个请求解析失败,可以请工程师修改请求的格式,以免影响应用的功能。5、class文件找不到java.lang.ClassNotFoundException: .service.LoginCtrlat java.lang.Class.forNameImpl(Native Method)at java.lang.Class.forName(Class.java:130)at com.mareal.sterna.Controller.parseController(Controller.java:67). 20 more检查控制器是否书写正确,还是这个java文件没有正确编译部署。6、邮件服务器异常mons.mail.EmailException: Sending the email to the following server failed : 5:25Caused by: javax.mail.MessagingException: Could not connect to SMTP host: 5, port: 25; nested exception is:.SocketException: Connection timed out:could be due to invalid address检查邮件服务器是否有问题,ip是否冲突,网络连接是否正常,以免影响应用的功能。7、是否是算法的bug导致的oom。如下:java.lang.OutOfMemoryError: Initializing Writerat com.sun.imageio.plugins.jpeg.JPEGImageWriter.initJPEGImageWriter(Native Method)at com.sun.imageio.plugins.jpeg.JPEGImageWriter.(JPEGImageWriter.java:206)at com.sun.imageio.plugins.jpeg.JPEGImageWriterSpi.createWriterInstance(JPEGImageWriterSpi.java:130)at javax.imageio.spi.ImageWriterSpi.createWriterInstance(ImageWriterSpi.java:358)at javax.imageio.ImageIO$ImageWriterIterator.next(ImageIO.java:851)at javax.imageio.ImageIO$ImageWriterIterator.next(ImageIO.java:835)at javax.imageio.ImageIO.write(ImageIO.java:1473)at javax.imageio.ImageIO.write(ImageIO.java:1554)at com.qtong.hebmc.controller.LoginCtrl.smsRandomPic(LoginCtrl.java:267). 21 more应该查看com.sun.imageio.plugins.jpeg.JPEGImageWriter是否存在bug,处理大图片时,是否

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论