内容提要
云计算承诺降低企业应用成本,但实际转移到云端可能更贵。Azul的ReadyNow技术通过提前收集性能数据,消除Java应用的热启动时间,显著减少云资源浪费,提高效率。Supercell利用此技术提升了游戏服务器性能,降低了CPU使用率。
延伸解读
微服务架构下的云资源浪费根源
文章指出,微服务常因负载变化而频繁启停,但JVM的JIT编译需要预热时间,导致微服务无法立即达到满负荷性能。为应对此问题,企业往往预先启动多个实例并保持运行,造成云资源闲置和成本上升。这种浪费在动态扩展场景中尤为突出。
AOT编译的局限与适用场景
AOT编译虽能消除预热时间,但因其在编译时不知晓代码实际使用方式,限制了优化潜力,整体性能通常不如JIT。文章认为,AOT更适合短暂的无服务器计算,而对于运行数分钟以上的服务,JIT能带来更好性能和更低云成本。
ReadyNow如何平衡性能与成本
Azul的ReadyNow技术通过在生产环境用真实请求预热服务,收集包含热点、剖析数据和编译代码的配置文件。重启时提供该配置文件,JVM即可在首次处理事务时达到约98%的预热后性能,几乎消除预热时间,同时保留JIT的优化优势。
实际案例:Supercell的降本增效
Supercell在发布《荒野乱斗》时,因JVM编译代码导致新服务器启动延迟。采用Azul Platform Prime和ReadyNow后,服务器负载能力更稳定,游戏延迟降低,相同工作负载下CPU使用率减少20%至25%,直接体现了减少云资源浪费的效果。
Q&A
云计算如何降低企业应用成本?
云计算通过提供基于使用量的定价模型,减少企业在硬件和维护上的支出,从而降低应用成本。
什么是Azul的ReadyNow技术?
ReadyNow技术通过提前收集性能数据,消除Java应用的热启动时间,从而显著减少云资源浪费。
Supercell是如何利用ReadyNow技术提升游戏性能的?
Supercell通过使用ReadyNow技术,减少了游戏服务器的CPU使用率20%到25%,并提高了负载承载能力。
Java应用的热启动时间对微服务有什么影响?
热启动时间过长会导致微服务在响应负载变化时无法立即提供全性能,降低了微服务架构的优势。
AOT编译和JIT编译有什么区别?
AOT编译将代码直接编译为本地指令,消除热启动时间,而JIT编译则根据运行时信息进行优化,通常能提供更好的性能。
使用ReadyNow技术后,微服务的云资源需求如何变化?
使用ReadyNow后,微服务几乎不需要热启动时间,显著降低了云资源需求,减少了云浪费。