现在初步判断出使用的二级缓存会在系统不运行时也占用CPU,从而影响CPU占用的释放速度。但个人感觉这个影响应该不大吧,请大家帮帮忙啊,项目后天就要上线了....
缓存不会耗费CPU,只会耗费内存,当缓存不断增长时,可能会耗费CPU,因为垃圾回收机制频繁启动。
关键问题还是内存泄漏,通过jprofiler等工具找出内存泄漏的地方,估计花费时间不会短,说明这个系统功能是做出来了,性能不行,只做好了一半。
没有经过性能测试的系统是不能上线的,Java系统就是这个特点,所以,使用Java架构之前就要考虑到这个问题,合适的架构性能才会好。
但该系统的生产环境是在aix上,ibm的s71机,JDK也由开发机的sunJDK1.4.2换成了ibmJDK1.4.2-64,在与该生产环境类似的测试环境上(测试机为s85,其他一致),我观察该系统的进程发现内存耗用在随消息处理数而不断增长(增量奇怪的保持为4K或4K的倍数),而打开verbose:gc,停止消息处理后,未出现GC日志,也就是说未触发GC动作,这时的CPU占用下降缓慢,又未触发GC,之后还要解决与WEB结合的问题,头疼死我了
[该贴被sxfreesky于2007年06月17日 15:46修改过]
[该贴被sxfreesky于2007年06月17日 16:34修改过]
[该贴被sxfreesky于2007年06月17日 16:35修改过]