Blog chevron_right Performance

高性能 Java 平台排名

How to Really Understand Your Cloud Use Cost

随着众多供应商纷纷发布 Java 平台,运行 Java 应用程序的方式可谓花样百出。大多数平台(如 Oracle Java、Azul Zulu 和 Amazon Corretto)直接通过 OpenJDK 构建而成,因此行为相同。  

但我们也发现一类新的高性能 Java 平台逐渐兴起,这些平台旨在提高性能并改善用户体验,同时保持较低的资源消耗和云成本。  

Azul、Oracle 和 IBM 等供应商通过在该领域推出产品来推动高性能 Java 平台的发展。  

如何为您选择合适的高性能 Java 平台  

选择高性能 Java 平台时需要了解贵组织的业务需求。您希望提高性能?提高可用性和可靠性?降低总拥有成本? 

弄清楚您想要的结果后,来看看哪些 Java 行为更改能够有力地支持这些目标。可设置的各种参数分为四类: 

  1. 代码执行速度。代码完全预热后,运行速度有多快?.这项指标关乎各个方面,从中位数响应延迟到容器大小调整,以及处理您的流量所需的服务器数量。  
  2. 启动和预热。新启动的服务器处理事务的速度有多快?它们如何快速预热代码,使其能够全速运行?在确定自动扩缩策略(无论是采用无服务器,还是设计微服务架构)时,这项指标至关重要。 
  3. 执行一致性。您的响应延迟的可靠和一致程度如何?是否在处理大多数事务时的速度可接受,而在处理少数但关键的事务时出现了无法容忍的卡顿和抖动?是否既不过度预配置,也不花费大量开发人员时间进行应用程序调优,便可满足服务级别协议的要求?
  4. 内存占用。您可以为每台服务器投入多少资源?这项指标会影响容器大小调整、无服务器和架构选择等,并会对总拥有成本产生重大影响。

需要考虑的重要事项:性能调优和代码执行

请记住,性能调优往往需要进行权衡取舍,因此您需要分清轻重缓急,确定对您最重要的事项。  

例如,Graal 原生映像可以改善启动和预热,但以牺牲代码执行速度和兼容性为代价。换句话说,应用程序将很快启动,但运行速度不会那么快,若不进行更改,则现有代码并非都能运行。 

因此,对于在无服务器情况下运行的短期绿地应用程序来说,这是不错的选择;但对于在裸机或长期使用的容器上运行且具有大量依赖项的现有应用程序而言,则并非很好的选择。 

一些高性能 Java 平台(尤其是 Azul Platform Prime)可通过使用外部服务实现两全其美,从而消除其中一些权衡。实际上,Azul Platform Prime 和 GraalVM EE 均可加快代码执行速度,但预热时间会延长。  不过,Azul Platform Prime 可以使用 Optimizer Hub 和 ReadyNow 功能来弥补预热方面的损失。

Po潜在约束和 Java 版本

最后,确定存在哪些约束。这里有两个重要问题: 

  • 您的应用程序运行的是什么 Java 版本?  许多高性能 Java 功能只在较新的 Java 版本上可用。Azul Platform Prime 在所有 Java 版本中实现性能提升
  • 您可以在多大程度上更改应用程序的代码以提升性能并降低成本?高性能 Java 平台的许多功能都需要更改代码,并非能满足所有 Java 语言规范的要求。如果您的代码依赖于第三方库而无法轻易更改,那么这一点尤其重要。Azul Platform Prime 既无需更改代码,也无需重新设计架构或更改 DevOps 工作流程。 

这在实践中如何解决实际业务问题?  Java 代码速度的加快不仅提升了应用程序承载能力,也减少了云浪费

关于 Azul Platform Prime​ 

Azul Platform Prime与通常的 OpenJDK 发行版相比,具有卓越的速度、预热和一致性。Azul Platform Prime 还增加了客户端 JVM 外部的集中服务功能,可以提高性能和运营效率。

Teal CTA Band

Go Deeper

High-performance Java platforms