ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Java应用全链路启动速度提升至15s,阿里云SAE能力再升级

2021-03-29 17:31:05  阅读:311  来源: 互联网

标签:Serverless 15s Java 启动 SAE 应用 加速


【云原生应用加速发布会】传送门:https://yqh.aliyun.com/live/detail/22720
点击查看详情:https://yqh.aliyun.com/live/cloudnative_release

Java 作为一门面向对象编程语言,在性能方面的卓越表现独树一帜。但在高性能的背后,Java 的启动性能差也令人印象深刻,大家印象中的 Java 笨重、缓慢的印象也大多来源于此,高性能和快启动速度似乎有一些相悖。
image.png
近日,阿里云Serverless应用引擎(SAE)重磅发布 Java 应用启动加速功能,首度将 Alibaba Dragonwell(阿里巴巴开源的 Open JDK 长期支持版本)的冷启动加速技术、多线程运行加速技术和 SAE 自身的原地升级策略、镜像预热策略相结合,实现了 Java 应用的端到端启动速度提升至仅15s,多线程性能提升30%,再加上其自身的0代码改造优势,已成为企业享受 Serverless 价值的最短路径。

难点分析

众所周知,微服务的用户在应用启动层面面临着一些难题:
• 软件包大:几百 MB 甚至 GB 级别
• 依赖包多:上百个依赖包,几千个 Class
• 加载耗时:从磁盘加载依赖包,再到 Class 按需加载,最高可占启动耗时的一半
借助 Dragonwell 快速启动和多线程运行加速能力,SAE 为 Serverless Java 应用提供了一套,让应用尽可能加速启动的最佳实践,让开发者更专注于业务开发:
• Java 环境 + JAR/WAR 软件包部署:集成 Dragonwell 11 ,提供加速启动环境
• JVM 快捷设置:支持一键开启快速启动,简化操作
• NAS 网盘:支持跨实例加速,在新包部署时,加速新启动实例/分批发布启动速度
image.png

加速效果

我们选择一些微服务、复杂依赖的业务场景典型 Demo 或内部应用,测试启动效果,发现应用普遍能降低 5%~45% 的启动耗时。若应用启动,存在下列场景,会有明显加速效果:
• 类加载多(spring-petclinic 启动加载约 12000+ classes)
• 依赖外部数据越少
image.png

客户案例

阿里巴巴搜索推荐 Serverless 平台

阿里内部的搜索推荐 Serverless 平台通过类加载隔离机制,将多个业务的合并部署在同一个 Java 虚拟机中。调度系统会按需地将业务代码合并部署到空闲的容器中,让多个业务可以共享同一个资源池,大大提高部署密度和整体的 CPU 使用率。
由于要支撑大量不同的业务研发运行,平台本身需要提供足够丰富的功能,如缓存、RPC调用。因此搜索推荐 Serverless 平台的每个 JVM 都需要拉起类似 Pandora Boot 的中间件隔离容器,这将加载大量的类,拖累了平台自身的启动速度。当突增的需求进入,调度系统需要拉起更多容器以供业务代码部署,此时容器本身的启动时间就显得尤为重要。
基于 Dragonwell 的快速启动技术,搜索推荐平台在预发布环境会执行 AppCDS、Jarindex 等优化,将产生的 archive 文件打入容器镜像中,这样每一个容器在启动时都能享受加速,减少约30%的启动耗时。

潮牌秒杀SAE极致弹性

某外部客户,借助 SAE 提供的 Jar 包部署与 Dragonwell 11,快速迭代上线了某潮牌商场 App。
在面对大促秒杀时,借助 SAE Serverless 极致弹性,与应用指标 QPS RT 指标弹性能力,轻松面对 10 倍以上快速扩容需求;同时一键开启 Dragonwell 增强的 AppCDS 启动加速能力,降低 Java 应用 20% 以上启动耗时,进一步加速应用启动,保证业务平稳健康运行。
SAE 是面向应用的 aPaaS 平台,实现了Serverless 架构 + 微服务架构的完美融合,此次再磅以 Dragonwell 的启动和运行加速技术,使得客户可以轻松享受应用加速带来的技术红利。

标签:Serverless,15s,Java,启动,SAE,应用,加速
来源: https://blog.csdn.net/weixin_39860915/article/details/115306417

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有