The full link startup speed of Java applications has been increased to 15s, and the SAE capability of alicloud has been upgraded again

Alibaba cloud developer 2021-04-08 10:31:26
link startup speed java applications

brief introduction :Java As an object-oriented programming language , Outstanding performance in terms of performance . But behind the high performance ,Java The poor start-up performance is also impressive , The impression is that Java heavy 、 Most of the impression of slowness comes from this , There seems to be some contradiction between high performance and fast startup speed .

【 Cloud native application acceleration launch 】 Portal :
Click for details :

Java As an object-oriented programming language , Outstanding performance in terms of performance . But behind the high performance ,Java The poor start-up performance is also impressive , The impression is that Java heavy 、 Most of the impression of slowness comes from this , There seems to be some contradiction between high performance and fast startup speed .
In recent days, , Alibaba cloud Serverless Application engine (SAE) Blockbuster released Java Application startup acceleration function , For the first time Alibaba Dragonwell( Alibaba open source Open JDK Long term support version ) Cold start acceleration technology 、 Multithreading acceleration technology and SAE Our own in situ upgrade strategy 、 Image preheating strategy , Realized Java The end-to-end startup speed of the application has been increased to only 15s, Multithreading performance improvement 30%, Plus its own 0 Code transformation advantage , It has become an enterprise enjoyment Serverless The shortest path to value .

Difficulty analysis

as everyone knows , Users of microservices are faced with some problems at the application startup level :
• Big package : A few hundred MB even to the extent that GB Level
• More dependent packages : Hundreds of dependency packages , Thousands Class
• Loading time : Load dependency package from disk , Until then Class Load on demand , Up to half the startup time
With the help of Dragonwell Fast start and multithreading acceleration capabilities ,SAE by Serverless Java The application provides a set of , Best practices for getting apps to start as quickly as possible , Let developers focus more on business development :
• Java Environmental Science + JAR/WAR Package deployment : Integrate Dragonwell 11 , Provides an accelerated startup environment
• JVM Quick settings : Support one click to start quickly , Simplified operation
• NAS Network disk : Support cross instance acceleration , When a new package is deployed , Accelerate new boot instances / Batch release start speed

Acceleration effect

We choose some micro Services 、 Typical business scenarios with complex dependencies Demo Or internal application , Test the startup effect , It is found that applications generally reduce 5%~45% The start-up time of . If the app starts , There are the following scenarios , There will be a significant acceleration effect :
• Class load more (spring-petclinic Start loading about 12000+ classes)
• Less dependent on external data

Customer Stories

Alibaba search recommendation Serverless platform

Alibaba's internal search recommendation Serverless The platform is isolated by class loading , Merge and deploy multiple businesses in the same Java In the virtual machine . The scheduling system will merge and deploy the business code to the idle container on demand , So that multiple businesses can share the same resource pool , Greatly increase deployment density and overall CPU Usage rate .
Due to the need to support a large number of different business R & D operations , The platform itself needs to provide enough rich functions , Caching 、RPC call . So search for recommendations Serverless Every part of the platform JVM They all need to pull up similar Pandora Boot Middleware isolation container for , This will load a large number of classes , Slow down the start-up speed of the platform itself . When surging demand enters , The scheduling system needs to pull up more containers for business code deployment , At this point, the start time of the container itself is particularly important .
be based on Dragonwell Fast start technology for , The search recommendation platform will perform in the pre release environment AppCDS、Jarindex Equal optimization , Will produce archive File into the container image , In this way, each container can enjoy acceleration at startup , Reduce by about 30% The start-up time of .

Tide card second kill SAE Ultimate flexibility

An external customer , With the help of SAE Provided Jar Package deployment and Dragonwell 11, Fast iteration online a tide brand shopping mall App.
In the face of big push second kill , With the help of SAE Serverless Ultimate flexibility , And application index QPS RT Index flexibility , Take it easy 10 Times the rapid expansion demand ; At the same time, one button is on Dragonwell Enhanced AppCDS Start acceleration capability , Reduce Java application 20% The above startup time is , Further accelerate app launch , Smooth and healthy operation of business .
SAE It's application oriented aPaaS platform , Realized Serverless framework + Perfect integration of microservice Architecture , This time, I'll weigh it again Dragonwell Start up and run up Acceleration Technology , So that customers can easily enjoy the technology dividends brought by application acceleration .

Link to the original text :

Copyright notice : The content of this article is contributed by alicloud real name registered users , The copyright belongs to the original author , Alicloud developer community does not own its copyright , It also does not bear the corresponding legal liability . Please check the specific rules 《 Alicloud developer community user service agreement 》 and 《 Alibaba cloud developer community intellectual property protection guidelines 》. If you find any suspected plagiarism in this community , Fill in the infringement complaint form to report , Once verified , The community will immediately delete the suspected infringement content .
本文为[Alibaba cloud developer]所创,转载请带上原文链接,感谢

  1. HttpServletRequest, obtaining request header and request body through request, solving Chinese garbled code and other problems
  2. Mybatis learning notes - one to one, one to many, many to many association query
  3. Mybatis learning notes - basic concepts and operation
  4. Spring Cloud 升级之路 - 2020.0.x - 3. Undertow 的 accesslog 配置
  5. Spring cloud upgrade road - 2020.0. X - 3. Accesslog configuration of undertow
  6. 被Java培训机构坑骗后,我在这里找回了自信
  7. After being cheated by java training institutions, I found my confidence here
  8. Linux下安装Mysql出现的常见问题以及解决办法
  9. Common problems and solutions of installing MySQL under Linux
  10. java并发编程JUC第十二篇:AtomicInteger原子整型
  11. Java Concurrent Programming JUC Chapter 12: atomicinteger atomic integer
  12. 面经手册 · 第29篇《Spring IOC 特性有哪些,不会读不懂源码!》
  13. Chapter 29 "what are the features of spring IOC? I can't understand the source code! 》
  14. 浅析linux容器--Docker
  15. Analysis of Linux container -- docker
  16. 换种方法学操作系统,轻松入门Linux内核
  17. 浅析linux容器--Docker
  18. Another way to learn operating system, easy access to Linux kernel
  19. Analysis of Linux container -- docker
  20. 手摸手教你阅读和调试大型开源项目 ZooKeeper
  21. Hand in hand teaching you to read and debug large open source project zookeeper
  22. 基于SpringBoot 在线答题系统 含小程序!
  23. 10个优秀开源JavaScript模板引擎
  24. JavaScript基础知识及写法
  25. Based on springboot online answering system, including small procedures!
  26. 重磅!谷歌Fuchsia操作系统将支持运行Linux应用程序
  27. (四十) springcloud分布式商城之跟我学习SpringCloud-Gateway整合Eureka路由转发
  28. Spring IOC 特性有哪些,不会读不懂源码!
  29. 手摸手教你阅读和调试大型开源项目 ZooKeeper
  30. 10 excellent open source JavaScript template engines
  31. Basic knowledge and writing method of JavaScript
  32. win10安装mysql5.7
  33. Heavy weight! Google's Fuchsia operating system will support running Linux applications
  34. (40) Spring cloud distributed mall learn from me spring cloud gateway integrates Eureka routing and forwarding
  35. What are the spring IOC features? I can't understand the source code!
  36. Hand in hand teaching you to read and debug large open source project zookeeper
  37. Install mysql5.7 in win10
  38. SCIP:构造数据抽象--数据结构中队列与树的解释
  39. Spring Cloud+Nacos实现服务注册中心(Hoxton版本)
  40. rabbitmq-server的安装与升级
  41. SCIP: constructing data abstraction -- Explanation of queue and tree in data structure
  42. Spring cloud + Nacos to implement service registry (Hoxton version)
  43. Installation and upgrade of rabbitmq server
  44. Lei Jun: Xiaomi's spring conference has been largely streamlined, which will take at least four hours. Some products will be directly released on Weibo
  45. IntelliJ IDEA 2021最新激活码(亲测有效,可激活至 2089 年)
  46. java版本spring cloud+spring boot+mybatis 分布式商城 微服务商城 多租户商城 电子商务 直播带货商城 社交电商
  47. win10安装Redis5.0
  48. (十五)springboot电子商务商城之SpringCloud-使用Eureka集群搭建实现高可用服务注册中心
  49. (十四)springboot电子商务商城之SpringCloud-Eureka自我保护模式和InstanceID的配置
  50. 花生壳内网穿透(Linux版)
  51. Docker部署elasticsearch(单机)
  52. (十三)springboot电子商务商城之SpringCloud-使用Eureka集群搭建实现高可用服务注册中心
  53. (十二)springboot电子商务商城之Eureka注册中心开启密码认证
  54. 七、Spring Boot 集成 Thymeleaf 模板引擎
  55. mysql 命令行秒复制数据库
  56. Windows安装Mysql(msi 图形安装)
  57. The latest activation code of IntelliJ idea 2021
  58. Java应用全链路启动速度提升至15s,阿里云SAE能力再升级
  59. Linux基础命令
  60. Who moved your red envelope? Risk control report of 2021 spring festival activities