转向高性能JVM后,让Azul客户感到满意的四个方面

发布时间:2024-07-10 09:26:00

阅读量 : 44

基于 OpenJDK 的传统 JVM 难以满足许多公司的要求,因此我们提供了一种替代方案。

如果我们询问 Azul 客户,在与我们展开业务合作的过程中,哪些方面最让他们感到满意,他们的回答往往是:减少云浪费;提升应用程序和系统的性能;扩大 DevOps 团队的规模,以更快的速度交付更多成果;使用屡获殊荣的技术让他们感到放心。以下是对这些方面的深入阐述。





①基础设施和云成本优化



在全球范围内,技术领导者正面临着云成本日益增长的问题,并认识到了减少云浪费的必要性。据《华尔街日报》报道,“今年,全球云支出预计将增长18.5%,达到5,765亿美元,略低于2022年18.8%的增长预测。”
在许多情况下,这个问题可以归结于如何努力充分利用已承诺的云支出,并优化实例利用率。
转向 Azul 后,我们的客户能够通过更快的 Java 代码执行速度,将云计算实例减少20%以上,从而以更低的 IT 资源占用量提供服务。
与 OpenJDK 相比,Azul Zing 可以提供更快的代码运行速度,使相同工作负载所需的计算资源更少,从而降低云费用。


640.png




②应用程序性能和延迟改善


在将 JVM 切换到 Zing 之前,许多 Azul 客户在提高 Java 应用程序的承载能力方面遇到了困难。他们也无法在目标利用率水平上提高性能,并且,为了实现工作负载的一致性,他们花费了太多时间研究如何降低延迟异常值。

通过更换 JVM,Azul 客户可以提高应用程序的响应速度和一致性,并且,无论是对于自定义代码还是 Java 基础设施(如 Kafka、Cassandra 和 Elasticsearch 等),都能实现即使在负载增加时,也能维持性能 SLA

这对于游戏工作负载尤为关键,因为在游戏中,体验最为重要。通过转向高性能 JVM,Supercell 提高了游戏应用程序的承载能力,改善了游戏玩家体验,同时降低了20%的 CPU 使用量。(来源:Supercell)



③DevOps 生产力和效率


更快地构建和交付新功能至关重要。对于许多应用程序所有者和工程团队而言,将产品快速提供给内部产品团队和业务用户是一项挑战。项目延期将导致积压的工单不断增多。

更换 JVM 有助于减少围绕性能问题进行编码的时间,以及处理实时应用程序运行问题工单所花费的时间。Azul 客户缩短了上市时间,加快了新功能的交付速度,同时避免了计划外的性能调优。

通过转向高性能 JVM,Workday 为基于 Java 的 HR SaaS 应用程序消除了95%的运行问题。Workday 释放了4.2万小时的增量工程能力。(来源:Workday)




C4算法中的重定位 —— 应用程序线程与GC的协作


C4算法中,重定位阶段(reloacation phase)是由GC线程和应用程序线程以协作的方式,并发完成的。这是因为GC线程和应用程序线程会同时工作,而且无论哪个线程先访问将被移动的对象,都会以协作的方式帮助完成该对象的移动任务。因此,应用程序线程可以继续执行自己的任务,而不必等待整个垃圾回收周期的完成。


在C4算法中并没有清理阶段(sweep phase)。在指向被移动的对象的引用都更新为指向新的位置之前,from页中的虚拟地址空间必须被完整保留。所以C4算法的实现保证了,在所有指向这个页的引用处于稳定状态前,所有的虚拟地址空间都会被锁定。然后,算法会立即回收物理内存页。很明显,无需执行stop-the-world式的移动对象是有很大好处的。由于在重定位阶段,所有活动对象都是并发移动的,因此它们可以被更有效率的放入到相邻的地址中,并且可以充分的压缩。通过并发执行重定位操作,堆被压缩为连续空间,也无需挂起所有的应用程序线程。





④屡获殊荣的功能 
最近,我们被2024年 Tech Ascension Awards 评为年度云基础设施解决方案,并荣获云应用程序服务类别美国商业奖史蒂夫金奖。


那么,Prime 是如何运作的呢?  


Azul Platform Prime 包括 Azul Zing,这是 OpenJDK 的增强版本,可提供卓越的性能、一致性和效率。我们以 OpenJDK 为基础,然后将其关键组件替换为我们的优化版本。综合起来,它们能够在任何 JVM 上以最低的运行成本提供最佳、最稳定的性能。

微信图片_20240815092804.png

  • 加快代码执行速度,提高 Java 应用程序运行速度。Azul 客户通过优化代码执行速度,可充分利用最新的处理器。Zing 通过我们基于 LLVM 的 Falcon JIT 编译器,提供改进的推测优化。 


  • 在更高的利用率水平下实现更高的一致性。Azul 客户可在更高的负载下保持始终如一的服务水平。他们还能够降低 CPU 在使用中随时间推移而产生的噪音,并通过 C4 垃圾收集器(世界上最优秀的无暂停垃圾收集器)消除停顿、抖动和停滞。 


  • 改善预热,增强弹性。显著减少因添加新实例而导致的中断和故障。Zing 从一开始就全速运行,并使用 ReadyNow 技术适应、学习和传播优化配置文件。 


全球数以千计的企业信赖 Azul,将其任务关键型 Java 应用程序托付给 Azul 经过 TCK 验证并且基于 OpenJDK 的高性能 JVM。


返回顶部