Java之JVM调优案例分析与实战(5) - 服务器JVM进程奔溃
2014-01-20 08:52
615 查看
环境:一个基于B/S的MIS系统,硬件为2个CPU、8GB内存的HP系统,服务器是WebLogic9.2(就是第二个案例中的那个系统)。正常运行一段时间后,最近发现在运行期间频繁出现集群节点的虚拟机进程自动关闭的现象,留下一个hs_err_pid###.log文件
后,进程就消失了,两台物理机里的每个节点都出现过进程奔溃的现象。从系统日志中注意到,每个节点的虚拟机进程在奔溃前不久,都发生过大量相同的异常。
分析:这是一个远端断开连接的异常,通过系统管理员了解到系统最后一个OA门户做了集成,在MIS系统工作流的待办事项变化时,要通过Web服务通知OA门户系统,把待办事项的变化同步到OA门户之中。通过SoapUI测试了一下同步待办事项的几个Web
服务,发现调用后竟然需要长达3分钟才能返回,并且返回的结果都是连接中断。
由于MIS系统的用户多,待办事项变化很快,为了不被OA系统的速度拖累,使用了异步的方式调用Web服务,但由于两边服务的速度完全不对等,时间越长就积累了越多Web服务没有调用完成,导致在等待的线程和Socket连接越来越多,最终超过虚拟
机的承受能力后使得虚拟机进程奔溃。通知OA门户方修复无法使用的集成接口,并将异步调用改为生产者/消费者模式的消息队列实现后,系统恢复正常。
后,进程就消失了,两台物理机里的每个节点都出现过进程奔溃的现象。从系统日志中注意到,每个节点的虚拟机进程在奔溃前不久,都发生过大量相同的异常。
分析:这是一个远端断开连接的异常,通过系统管理员了解到系统最后一个OA门户做了集成,在MIS系统工作流的待办事项变化时,要通过Web服务通知OA门户系统,把待办事项的变化同步到OA门户之中。通过SoapUI测试了一下同步待办事项的几个Web
服务,发现调用后竟然需要长达3分钟才能返回,并且返回的结果都是连接中断。
由于MIS系统的用户多,待办事项变化很快,为了不被OA系统的速度拖累,使用了异步的方式调用Web服务,但由于两边服务的速度完全不对等,时间越长就积累了越多Web服务没有调用完成,导致在等待的线程和Socket连接越来越多,最终超过虚拟
机的承受能力后使得虚拟机进程奔溃。通知OA门户方修复无法使用的集成接口,并将异步调用改为生产者/消费者模式的消息队列实现后,系统恢复正常。
相关文章推荐
- Java之JVM调优案例分析与实战(3) - 堆外内存导致的溢出错误
- Java之JVM调优案例分析与实战(4) - 外部命令导致系统缓慢
- Java之JVM调优案例分析与实战(1) - 高性能硬件上的程序部署策略
- 深入学习Java JVM - 调优案例分析与实战
- Java之JVM调优案例分析与实战(2) - 集群间同步导致的内存溢出
- JVM之调优案例分析与实战
- JVM调优案例分析与实战
- JVM调优案例分析与实战:高性能硬件上的程序部署策略
- 深入理解JVM笔记五-调优案例分析与实战
- 笔记:深入理解JVM 第5章 调优案例分析与实战
- JVM笔记——调优案例分析与实战
- 深入理解JVM笔记五-调优案例分析与实战
- 优化JVM参数提高eclipse运行速度及Java垃圾收集调优实战
- 听阿里巴巴JVM工程师为你分析常见Java故障案例
- 《Spark商业案例与性能调优实战100课》第18课:商业案例之NBA篮球运动员大数据分析代码实战之核心基础数据项编写
- 调优案例分析与实战
- Spark商业案例与性能调优实战100课》第20课:大数据性能调优的本质和Spark性能调优要点分析
- [深入理解Java虚拟机]第五章 调优案例分析与实战
- jvm系列(六):Java服务GC参数调优案例
- 《Spark商业案例与性能调优实战100课》第15课:商业案例之纯粹通过DataSet进行电商交互式分析系统中各种类型TopN分析实战详解