一段时间后,Jboss放慢了速度

时间:2011-03-29 06:51:57

标签: performance jboss

简而言之:我的JBoss实例运行正常,但几天后它的性能正在慢慢降低。

详细说明: 我有一个JBoss 5.1.0-GA和Java 1.6.0_18-b07(x64)在64位RHEL 4盒子上运行的设置。硬件是一台虚拟机,配备8核Xeon X5550 / 20G内存。

JBoss中部署的产品包含一个Web服务,在该服务上执行耐久性测试。 该过程不涉及任何数据库。

使用4个线程的soapui执行测试,并将测试配置为创建20%的CPU使用率。

首先,平均响应时间为300毫秒。 2天后,响应时间现在是600毫秒,我不明白。 当然我做了一些检查:

  • 没有内存泄漏(用jprofiler确认)
  • 堆内存总是大约25-50%,烫发空间使用率是50%
  • GC几乎从未忙碌
  • 检查线程转储后所有线程都处于空闲状态

在进行一些进一步的调查时,我在开始时(当它仍然很快时)使用JProfiler执行cpu配置文件,然后在(慢)结束时执行。我所看到的是,每一次通话都要慢100%! 甚至可以调用一个简单的Map#put()。 (调用的数量和这些地图的内容是相同的)。 运行探查器时,没有阻塞线程的迹象,只是运行线程。

有没有人知道导致性能下降的原因是什么? 谢谢!

<小时/> 更新:通过将Java版本升级到1.6.0_24解决了性能下降问题!

虽然没有选项,但我浏览了java vm的所有发行说明,并在1.6.0_23中发现了性能和可靠性修复。另见 1.6.0_23 release notes

在jvm升级之后,性能保持不变,并且不会在几天内降级。

1 个答案:

答案 0 :(得分:6)

Jan发现的解决方案:

通过将Java版本升级到1.6.0_24来解决性能下降问题!

虽然没有选项,但我浏览了java vm的所有发行说明,并在1.6.0_23中发现了性能和可靠性修复。另请参阅1.6.0_23发行说明

在jvm升级之后,性能保持不变,并且在几天内不会降低。*