Azul 的针对 x86 的 Zing 弹性 Java 运行时环境可以广泛使用了

  • Charles Humble
  • 曹云飞

2010 年 11 月 14 日

话题:Java语言 & 开发架构

Azul 系统的产品基于的技术可以为 Java 应用大规模的扩容可用的资源。他们技术的两个关键部分是无停顿垃圾回收算法和一个零开销的诊断 / 监控工具。目前无停顿垃圾回收算法需要 Azul 的 Vega 设备的专有硬件支持,而现在已经基本可用的 Zing,包含一个软件实现的 Azul 的完整技术栈,并为 Intel 的 x86 和 AMD 处理器做了优化。一篇之前的文章更详细的描述了产品。

对于高容量系统,例如 Web 门户,交易系统和电子商务网站,响应时间是很重要的。随着应用用户的需求越来越高以及硬件性能的提高,响应时间日益成为企业级 Java 主流需求之一。Azul 的目标就是这些应用,可以满足这些应用对于响应时间的需求。Azul 的市场副总裁 George Gould 向 InfoQ 描述了如下三个因素是如何围绕 Java 应用基础架构掀起了一场“完美风暴”的,这三个因素分别是——在企业中对硬件虚拟化的日益增长,通过软件和产品即服务(SaaS/PaaS)而起飞的云计算以及 JVM 没有跟上现代硬件性能这个事实。451 Group的首席分析师 John Abbott 在新闻稿中附和了 George Gould 的观点:

新的商业首创精神和技术创新已经超越了现存的 Java 应用的基础架构,为 IT 机构的现代化带来了巨大的压力。现在的 Java 运行时环境在高吞度量、关键商业应用和诸如虚拟化和云计算这样的新的部署方式的压力下已经不堪重负。企业必须考虑新的、创新的 Java 技术,例如 Azul 的 Zing Java 平台,以便在大范围的部署拓扑中获得更好的应用扩展性、弹性和可见性来满足他们的商业和 IT 目标。

Gould 观察到虚拟化在去年已经到达了一个引爆点,现在多数企业应用运行在虚拟环境中。Azul 恰好可以利用这一趋势,因为 Azul 就是专为虚拟化设计的。VM 全球战略联盟的副总裁 Parag Patel 看的更远,认为 Zing 是虚拟化趋势的潜在催化剂

Azul 系统发布的 Zing Java 平台会在生产环境中加速采用虚拟化的 Java 工作环境来驱动 IT 业向服务模式的发展。通过 Zing,所有的 Java 应用,从小的到部门级的到大的、重要的和关键的商业应用都能够利用虚拟化和云计算的全部益处。

在 InfoQ 我们经常发现应用架构师和开发者分布应用来保持较小的堆空间从而将性能控制在可接受的界限内。Zing 的一个关键方面是能够以平滑的响应时间来处理几百 GB 的堆空间,Zing 运行时允许开发者仅因为其他工程原因才分布他们的应用。Azul 系统的 CTO 和创始人之一 Gil Tene 举了一个例子,该性能测试使用的演示应用为 Liferay portal 5.23 和修改过的 JSP 购物车来执行基础操作。该 portal 运行在 JBoss 应用服务器 5.1 之上。硬件为运行着 Fedora C12 的双槽志强 5620,CPU 为 2.4GHz,内存为 96GB。Zing 的配置包括 VMware 4.0 管理程序和超过 90GB 的堆空间。在原生 JVM 测试中 Tene 使用了最新的商业 JVM 和为对响应时间敏感的应用推荐的垃圾收集器(ConcMarkSweepGC, aka CMS),堆空间为 2GB,3GB,4GB,6GB 和 20GB。

负载测试使用了单一 JVM,测试准则为 99.9% 的用户在 5 秒内收到响应。如图所示,在满足测试准则的情况下,Tene 在调优后使用标准 JDK 可以支持 45 个用户。使用同样的硬件对 Zing 做压力测试,Tene 可以运行 800 个用户,而响应时间小于 1 秒。每个“事务”(访问购物车):

  • 为事务的生命周期维护 20 兆的“事务状态”
  • 产生 20 兆临时对象(可以立即回收)
  • 花费 300 毫秒(休眠)

在有 800 个用户的负载时,Zing 的垃圾回收器每秒处理 3.5GB 的垃圾对象而不影响性能。

Zing 包括受管运行时环境创新 (Managed Runtime Initiative)的开源组件,而且对于一般用途,Zing 版本中包含了 MRI-J OpenJDK 和强化的 Linux 项目(Enhanced Linux projects),Azul 系统会继续为这两者提供更新。如我们之前所报道的,受管运行时环境创新(Managed Runtime Initiative)是一个协作产品,在系统功能栈中跨越垂直组件来鉴别、开发和发布强化的接口和功能,来提高诸如 Java、Ruby 和.NET 的受管运行时环境的性能。

Zing 的价格基于每服务器的年费,起步价为 $5000-$6000/ 服务器 / 年。在www.azulsystems.com/trial可以获得 Zing 的免费试用版。

查看英文原文:Azul’s Zing Elastic Java Runtime for x86 is Generally Available from Today

Java语言 & 开发架构