最快的 Java 应用程序操作系统

最快的 Java 应用程序操作系统

我有一个多线程 Java 程序。我正在处理某些性能问题。

我已经改进了一切。硬件 + 软件。现在我认为是时候转向合适的操作系统了。

我想知道,哪个操作系统的 Java 虚拟机速度最快?

我正在使用 Sun Java6。您认为 Sun Solaris 是 Java 应用程序的最佳选择吗?还是 FreeBSD?还是 CentOS(我目前正在使用它)?

谢谢

答案1

JVM 性能确实因平台而异。我已经有一段时间没有评估过各种平台上的 JVM 性能了,但几年前我最后一次评估时,在 JDK1.4 上,solaris 是最好的。当时 Linux 中的 JVM 还很新,存在线程支持问题。JVM 实现方面已经发生了很大变化。

当然,没有简单的方法来判断这一点,你必须选择理想的硬件平台并在同一台机器上安装 Soaris、Linux 等,然后运行一些测试来评估它。支持目标 CPU 的 JIT 实现也会有所不同。

研究每个平台支持的各种扩展 JVM 选项,您将对可以进行多少优化有一个大致的了解。

还可以考虑其他 JVM,例如 JRockit 或 IBM JVM。

答案2

除非您现在正在运行某个非常旧的版本,否则切换操作系统几乎不会带来任何改进,即使如此,也可能无法获得您想要的性能提升。

我的猜测是,你仍然受到当前运行的硬件的限制,或者你的 Java 应用程序可能是主要问题,在投入更多硬件来解决问题之前可能值得研究一下。

答案3

令人惊讶的是,Windows 是 Java 最快的平台,因为它是开发人员的原生平台,而 Solaris 则排在最差的一边。在 Linux 上,您可以从 Sun、IBM、OpenJDK 和 BEA 中进行选择,以方便使用。

真正的答案是哪个平台最容易管理且最具成本效益,可能是 CentOS 或 Ubuntu Server。

答案4

当然,如果您想要一个正确的答案,您应该在非生产硬件环境中对此进行性能测试。

您应该考虑拥有多操作系统生产环境的支持成本,并在计算获得多少性能效益时将其计入任何 COGS(销售成本)考虑因素中。

我猜你得到的任何好处都“不足以”抵消在生产中支持多个操作系统的额外成本。请与你的运营团队联系以了解情况。

您可能更应该努力提高运营团队已经在生产中支持的操作系统的性能。您可以对操作系统进行调整,切换虚拟机参数,当然还可以修复代码以提高效率 :)。您还可以考虑不同的硬件选项。我们发现不同类型的 CPU 在我们的工作负载上表现非常不同,这与典型的基准测试完全不同。

相关内容