【问题标题】:64-bit vs. 32-bit performance on SPARC hardware with the 1.6 JVM使用 1.6 JVM 的 SPARC 硬件上的 64 位与 32 位性能
【发布时间】:2010-10-28 00:24:30
【问题描述】:

我正在为我们在 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 的当前性能指标?

谢谢。

院长

【问题讨论】:

  • 只是出于好奇 - 你试过了吗?你有什么指标吗?
  • 答案中没有提到的是“compressed oops”选项——64位代码,32位指针。由于对象与 16 字节边界对齐(其他四舍五入也是可能的),因此可以移动指针以提供可能的 64 GB Java 堆,同时不增加引用大小。

标签: performance 64-bit jvm 32-bit sparc


【解决方案1】:

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

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

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

不过,您的里程可能会有所不同。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-11-27
    • 2011-12-25
    • 2011-05-13
    • 2012-02-15
    • 1970-01-01
    • 2011-06-26
    • 2012-03-19
    • 2013-04-28
    相关资源
    最近更新 更多