我正在为在SPARC硬件上运行的Tomcat集群进行性能调整。 32位JVM现在为我们提供了足够的内存,但我们将开始使用Terracotta进行服务器条带化,因此很快就需要64位JVM提供的额外内存。
除了更大的内存占用空间之外,在SPARC上迁移到64位JVM会导致性能下降。此常见问题解答显示SPARC上64位JVM 1.4版的性能下降了10%-20%:
http://java.sun.com/docs/hotspot/HotSpotFAQ.html#64bit_performance
如果我可以避免它,我对于获得10% - 20%的性能不感兴趣。有人讨论过使用32位/ 64位混合方法来避免这个问题,因此1.6 JVM可能没有1.4 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 :(得分:4)
以下是基于测试客户端使用64位和32位版本的JDK 1.6.0_13调用在Solaris上的Tomcat 5.5上运行的几个Web服务的一些结果。
使用Tomcat 5.5上的默认设置时,64位JVM导致性能降低约7%。当我将Tomcat参数acceptCount和maxThreads加倍为1000时,64位JVM的性能损失小于1%。这可能是因为1000个线程对应于我在测试中使用的并发测试客户端的数量。
更改这些参数会降低32位和64位JVM的时间,但64位JVM显示出更大的性能提升。
但您的里程可能会有所不同。