2009-05-21 83 views
4

我正在为运行在SPARC硬件上的Tomcat群集进行性能调整。 32位JVM现在为我们提供了足够的内存,但是我们将开始使用Terracotta进行服务器分拆,因此可能很快就会需要64位JVM提供的额外内存。SPARC硬件上的64位与32位性能与1.6 JVM

除了更大的内存占用,在SPARC上移动到64位JVM会导致性能下降。本FAQ显示了10% - 为64位JVM的1.4版20%的性能损失在SPARC:

http://java.sun.com/docs/hotspot/HotSpotFAQ.html#64bit_performance

我不感兴趣,采取10% - 如果我能20%的性能损失躲开它。还有打了1.4 JVM不得不使用一个32位/ 64位混合的方式,以避免这个问题,所以也许1.6 JVM没有表现过讨论:

http://blog.juma.me.uk/2008/10/14/32-bit-or-64-bit-jvm-how-about-a-hybrid/

没有人有电流在SPARC上使用版本1.6从32位JVM迁移到64位JVM的性能指标?

谢谢。

院长

+0

出于好奇 - 你尝试过吗?你有没有得到任何指标? – 2009-06-12 17:42:13

回答

4

下面是基于测试的客户端调用使用JDK 1.6.0_13的64位和32位版本的Solaris上在Tomcat 5.5中运行了几个我们的网络服务的一些结果。

在Tomcat 5.5上使用默认设置时,64位JVM的性能降低了约7%。当我将Tomcat参数acceptCount和maxThreads加倍到1000时,64位JVM的性能降低不到1%。这可能是因为1000个线程对应于我在测试中使用的并发测试客户端的数量。

更改这些参数可降低32位和64位JVM的时间,但64位JVM显示出更大的性能提升。

虽然您的里程可能会有所不同。