关于Weblogic应用集群服务启动慢的缺陷分析及处理办法 (1)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
关于Weblogic应用集群服务启动慢的缺陷分析及处理办法
一、缺陷现象
江苏公司电网GIS部分服务部署在Linux Redhat5.5操作系统的服务器上,使用的中间件版本为Weblogic 9,在电网GIS运行过程中,如果遇到因为应用服务器原因或者检修计划安排,重启Weblogic程序,需要花费10分钟以上的等待时间。
在日常检修中,重启Weblogic程序集群服务的耗时都在30分钟左右,在7*24小时的在线运行系统,中断业务服务时间,严重影响系统的运行及检修工作。国家电网公司核心系统的应用架构,均采用Weblogic集群服务,此缺陷为系统日常检修的通病,造成很多省公司检修系统停机时间过长,甚至不敢停机维护系统,属于中间件的重大缺陷问题,已经存在很久。
二、缺陷分析
对于一个简单部署的Weblogic而言,一般情况下,启动Weblogic最长一般需要2~3分钟时间,同时在启动时,Weblogic的日志内容是滚动的,不会在日志的某个地方静止到5分钟以上,所以这是极不正常的现象。Weblogic启动慢的原因,在Weblogic启动时,通过对线程堆的监控,线程挂在security相关的随机数生成上面。这个由于JDK的配置(JDK从/dev/random读取‘randomness’经常耗费10分钟或者更长的时间)导致的。
三、缺陷处理
针对该问题,有三种解决方案,分别如下:
在Weblogic启动参数里添加“-Djava.security.egd=file:/dev/./urandom”
(/dev/urandom 无法启动)
执行命令
mv /dev/random /dev/random.ORIG ; ln /dev/urandom /dev/random
将/dev/random 指向/dev/urandom
修改Linux上Weblogic使用的jdk $JAVA_HOME/jre/lib/security/java.security 文件
将securerandom.source=file:/dev/urandom 修改为
securerandom.source=file:/dev/./urandom这样可以解决任何一个域Weblogic启动慢的问题。
四、总结
在本次故障处理中,我们采取了第3种解决方案,修改了Linux上Weblogic使用的jdk $JAVA_HOME/jre/lib/security/java.security 文件
将securerandom.source=file:/dev/urandom 修改为securerandom.source=file:/dev/./urandom。修改完成后,电网GIS进程重新启动耗用时间由10分钟以上降低为不到2分钟,消除了Weblogic重新启动耗时过长的重大缺陷,有效保障了基于Weblogic9架构部署的应用系统稳定运行,对于公司系统其他单位具有较大的参考和借鉴意义。