近段时间,我们项目中用到的websphere应用服务器(was),但在客户的production环境下极不稳定,经常宕机。给客户造成非常不好的影响,同时,也给项目组很大压力。为此,我们花了近一个月时间对其诊断,现在基本上稳定了,需要继续观察一段时间。现在我主要将工作做一个阶段性的总结。
我们的产品环境是:was6.0+db2 8.1+aix5.3+rs/6000。在该产品环境下,出现的问题非常多,现象如下:
was经常不稳定、宕机几乎一天一次,经常报告outofmemory(内存泄漏吗?no)。
db2连接数过大,有时把db2撑死,有时也把aix撑死。
aix虚拟内存报错、分页报错、io也报错、还有很多其它莫名奇妙的错。
总是,每次问题发生的现象和理论上的总是不一致,导致我们不知道从何入手,也无从检测自己的优化参数。咨询过多次ibm技术支持,只解决了某些局部问题。
虽然问题依然存在,但我想,解决问题的思路、特别是理论基础,还是有一些规律和原则。
对于was这块,我近段时间的主要时间集中在以下几个方面(时间顺序):
1、java性能监测工具:jprofiler,也用到jprobe。后来发现jprofiler在aix下几乎不可用。
2、ibm java虚拟机和was技术细节,特别是ibm jvm的gc原理,我发现它和sun、bea的差别很大。
3、ibm的heap分析器heap analyzer、gccollector。这两个事后监测工具非常实用,特别是我们的产品运行环境,非测试环境。
4、某些application的怀疑和诊断。
5、aix诊断,我几乎没有这个能力,只能常规监测一下,需另请高人。
我打算将本文分成以下几个部分总结:
jvm原理、ibm jvm的gc策略和调优。
jprofiler和ibm工具的实际体会
如果喜欢ibm websphere application server诊断和调优(一)请收藏或告诉您的好朋友.
阅读(147) | 评论(0) | 转发(0) |