使用 1.6 JVM 的 SPARC 硬件上的 64 位与 32 位性能
我正在对运行在 SPARC 硬件上的 Tomcat 集群进行性能调整。 32 位 JVM 目前为我们提供了足够的内存,但我们将开始使用 Terracotta 进行服务器条带化,因此很快就需要 64 位 JVM 提供的额外内存。
除了更大的内存占用之外,迁移到 SPARC 上的 64 位 JVM 还会导致性能损失。 此常见问题解答显示 SPARC 上 1.4 版 64 位 JVM 的性能下降了 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/
有人有从 32 位 JVM 迁移到 64 位 JVM 的当前性能指标吗在 SPARC 上使用 1.6 版吗?
谢谢。
院长
I'm doing performance tuning for our Tomcat cluster running on SPARC hardware. The 32-bit JVM gives us sufficient memory for now, but we are going to start using Terracotta for server striping so the extra memory the 64-bit JVM offers could be needed soon.
In addition to a bigger memory footprint, moving to the 64-bit JVM on SPARC results in a performance penalty. This FAQ shows a 10% - 20% performance hit for version 1.4 of the 64-bit JVM on SPARC:
http://java.sun.com/docs/hotspot/HotSpotFAQ.html#64bit_performance
I'm not interested in taking a 10% - 20% performance hit if I can avoid it. There's been discussion of using a 32-bit / 64-bit hybrid approach to avoid this problem so maybe the 1.6 JVM doesn't have the performance hit that the 1.4 JVM had:
http://blog.juma.me.uk/2008/10/14/32-bit-or-64-bit-jvm-how-about-a-hybrid/
Does anyone have current performance metrics for moving from the 32-bit JVM to the 64-bit JVM using version 1.6 on SPARC?
Thanks.
Dean
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
以下是基于测试客户端使用 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 显示出更大的性能改进。
不过,您的里程可能会有所不同。
Here are some results based on test clients calling a couple of our web services running on Tomcat 5.5 on Solaris using the 64-bit and 32-bit versions of JDK 1.6.0_13.
The 64-bit JVM resulted in a performance hit of about 7% when using the default settings on Tomcat 5.5. When I doubled the Tomcat parameters acceptCount and maxThreads to 1000 each the performance hit for the 64-bit JVM was less than 1%. This may be because the 1000 threads corresponded to the number of concurrent test clients I was using in the tests.
Changing these parameters lowered the times for both 32-bit and 64-bit JVMs, but the 64-bit JVM showed a larger performance improvement.
Your mileage may vary, though.