Blog chevron_right 未分类

无需升级 Java 版本即可提高应用程序性能

谬见:必须升级到 Java 最新版本才能提高 Java 应用程序在云端的性能。

现实:您无需升级到 Java 最新版本即可提高性能。Azul 的高性能 Java 运行时(OpenJDK Azul Zing 构建版本,包含在 Azul Platform Prime 中)始终比 OpenJDK 更快。

自从 Java 切换到每年发布两次的模式以来,用户便能更定期的体验平台性能的改进。然而,众所周知,OpenJDK 并不会持续改进 Java 旧版本的性能。   

更糟糕的是,要利用这些性能改进,OpenJDK 用户必须升级到 Java 最新版本。实际上,升级到最新版本会造成混乱,而且非常耗费精力。 

You don't have to upgrade your Java version to improve application performance... and more myths about cloud cost optimization.

但并非所有 OpenJDK 发行版都强制要求您通过升级来获得更好的性能。OpenJDK 的 Azul Zing 构建版本作为 Azul Platform Prime 的关键组件,不断提高所有 Java 版本上的性能。无需您更改或重新编译任何代码。   

使用我们的 Azul Zing JVM,Azul 客户通常会受益良多。常见的技术益处包括: 

  • 提高承载能力,在负载增加时维持 SLA 
  • 降低 CPU 消耗 
  • 减少延迟 
  • 稳定的执行结果,消除异常值、暂停、停滞和抖动
  • 改善客户体验 
  • 提高吞吐量 
  • 减少意外的性能调整 
  • 加快新功能的上市速度 
  • 改进预热,从一开始就充分发挥性能 

让我们来分析一下。 

OpenJDK 的 Azul Zing 构建版本的性能基准

Azul Platform Prime 包含 Azul Zing,这是一个增强的 OpenJDK 构建版本,提供卓越的性能、稳定性和效率。  

为了提高 Java 应用程序的运行速度,Azul 做出了大量投资,包括更换影响垃圾收集、预热和代码整体速度的组件。事实上,Azul 一直在对 Zing 的性能进行基准测试,将它的原始速度与 OpenJDK 进行比较。(图 1:Azul Zing 与 OpenJDK 的性能比较)

Percentage of application speed over time between Azul Zing and OpenJDK. You don’t have to upgrade your Java version to improve performance.

那么,这些数据说明了什么?有三点: 

  1. Zing 无需修改或重新编译代码即可提高性能。使用 Zing,您无需重新编译或修改代码,即可将如今在生产环境中运行的应用程序提速 20%-50%。   
  2. Zing 更早达到更快的速度。您目前运行的 Java 版本并不重要。Azul 客户在运行 Java 8、11、17 或 21 时,可以立即获得性能提升,无需升级到新的 Java 版本。 
  3. Zing 正变得越来越快。图表中 OpenJDK 性能的斜率清楚地说明了这一点:OpenJDK 需要很长时间才能实现很小的性能提升。Zing 的性能提升速度远远超过 OpenJDK。 

OpenJDK 与 OpenJDK 的 Azul Zing 构建版本之间有什么区别?

我们以 OpenJDK 为基础开始,然后将关键组件替换为我们的优化版本。
综合来看,所有 JVM 中,这些组件能以最低的运营成本提供最佳、最稳定的性能。 

我们客户的云计算和性能工程团队使用 Azul Platform Prime 减少云浪费,并充分利用承诺的云支出。他们还提高了承载能力,同时为不断增长的 Java 工作负载维持了服务水平。主要功能和优势包括: 

  • 通过更快的代码执行速度提高 Java 应用程序的速度。Azul 客户通过优化代码执行,可充分利用最新的处理器。  使用我们基于 LLVM Falcon JIT 编译器,Zing 能够以更低的 CPU 利用率提供更快的代码。  
  • 在更高的利用率水平下实现更高的稳定性。Azul 客户可在更高的负载下保持稳定的服务水平。他们还能够减少 CPU 使用率随时间变化而产生的噪音,并利用 C4 垃圾收集器(世界上最好的无暂停垃圾收集器)消除暂停、抖动和停滞。  
  • 改进预热,增加弹性。Azul 显著减少了启动新 Java 服务器时的中断和故障。Zing 从一开始就全速运行,并利用 ReadyNow 技术适应、学习和传播优化配置文件。  
Azul Platform Prime is built on Azul Zing Builds of OpenJDK. You don’t have to upgrade your Java version to improve performance.

速度更快自然是好事,但具体好在哪些方面呢?

可以提供最佳的客户体验,同时在 Java 工作负载的云成本优化方面取得平衡,因为交付成本与速度密切相关: 

  • 如果您可以使用较少的设备更快完成或执行工作,您就可以提高承载能力,并获得即时的性能提升。提高效率可以节约云成本。这对于 Azul 的客户 Supercell 来说至关重要。迁移到 Zing 后,Supercell 获得了更稳定的负载能力,减少了游戏延迟和游戏后期更新周期时长。 
  • 您可以获得更可靠、可重复、更稳定的结果,因此无需为未充分利用的硬件预留更多余量。部署 Azul Zing 后,Taboola 提高了其广告服务器平台的承载能力,并减少了云浪费,回收了 90 台额外的备用服务器,为超 14 亿月活跃用户提供了增长空间。  
  • 这种稳定性也转化成了 DevOps 和工程生产力:当 Azul 客户在生产环境中通过 Azul Zing 运行应用程序时,其遇到的问题更少。迁移到 Zing 之后,Workday 未解决的工单数量减少了 95% 以上。这不仅减少了中断问题或一级优先问题,也意味着释放了更多工程能力。 

无论是现在还是未来,Azul 都将继续对 Zing 进行投资,我们将继续提高能力,突破硬件和云计算方面的极限。  与 OpenJDK 相比,Azul 已经通过 Azul Zing 拉开了很大的性能差距,我们将继续扩大这一差距。