首页 > 其他分享 >Spring Boot 3.2.0 试用CRaC,启动速度提升3到10倍

Spring Boot 3.2.0 试用CRaC,启动速度提升3到10倍

时间:2023-12-02 15:00:26浏览次数:38  
标签:10 启动 Spring crac Boot 3.2 检查点 CRaC

CRaC(Coordinated Restore at Checkpoint)。

CRaC 是 OpenJDK 项目,能够把运行中的 JVM,将其状态(包括您的应用程序)存储到磁盘中。然后,在另一个时间点,您可以从保存的检查点将 JVM 恢复到内存中。通过这种方式,可以启动一个应用程序,预热它,并创建一个检查点。从保存的检查点恢复到内存主要依赖于磁盘 I/O,这意味着速度非常快(在毫秒级别)。

JDK及环境准备

目前支持CRaC的JDK是Azul Zulu 21.0.1(选择含CRaC版本的),且系统只支持Linux。

或直接访问以下链接进行下载:

https://cdn.azul.com/zulu/bin/zulu21.30.23-ca-crac-jdk21.0.1-linux_x64.tar.gz

程序准备

maven添加依赖

<dependency>
  <groupId>org.crac</groupId>
  <artifactId>crac</artifactId>
  <version>1.4.0</version>
</dependency>

Spring Boot 3.2.0启用CRaC

java -Dspring.context.checkpoint=onRefresh -XX:CRaCCheckpointTo=./tmp_checkpoint -jar spring-petclinic-3.2.0.jar

启动速度有几倍的提升,有评测显示,最多甚至高达10倍的提升。

启动后,本地会生成检查点映像文件

如启动报错,可试试授权非root用户:

sudo chown root:root $JAVA_HOME/lib/criu
sudo chmod u+s $JAVA_HOME/lib/criu

以上整理,参考自:

https://mp.weixin.qq.com/s/sIxb1YVL4rUVSNbWuU4XOA
https://foojay.io/today/springboot-3-2-crac/

标签:10,启动,Spring,crac,Boot,3.2,检查点,CRaC
From: https://www.cnblogs.com/jiayuan2006/p/17871615.html

相关文章

  • Spring 中的 URL 处理工具类 UriComponentsBuilder
    UriComponentsBuilder是SpringFramework中的一个用于构建URI(UniformResourceIdentifier)和URL(UniformResourceLocator)的实用程序类。它提供了一种简单的方式来构建包含各种部分(如协议、主机、路径、查询参数等)的URI和URL,并支持对这些部分进行修改、替换和合并等操作。以下是......
  • SpringBoot自定义注解导出Excel
    先定义一个注解importjava.lang.annotation.Retention;importjava.lang.annotation.RetentionPolicy;@Retention(RetentionPolicy.RUNTIME)public@interfaceExcelHander{Stringvalue()default"";StringlinkFiled()default"";Cel......
  • Spring Boot如何在swagger2中配置header请求头等参数信息
    前言在开发Web应用程序时,处理HTTP请求头信息是非常重要的。一般情况下,我们需要将一些固定的参数,如Token、Session等,附加在请求头中进行传递。Swagger2是一个非常流行的API文档生成工具,但在使用时,我们可能需要在请求头中附加这些参数,本文就是为了解决这个问题而写的。摘要本文将......
  • 第10次-创建一个在线网站
    这个作业属于哪个课程https://edu.cnblogs.com/campus/uzz/cs3这个作业要求在哪里https://edu.cnblogs.com/campus/uzz/cs3/homework/13118这个作业的目标第10次-创建一个在线网站网址http://82.156.34.76/......
  • 第10次-创建一个在线网站
    这个作业属于哪个课程https://edu.cnblogs.com/campus/uzz/cs3这个作业要求在哪里https://edu.cnblogs.com/campus/uzz/cs3/homework/13118这个作业的目标第10次-创建一个在线网站作业链接https://zgl1127.github.io/https://zgl1127.github.io/|......
  • P1017 [NOIP2000 提高组] 进制转换
    P1017[NOIP2000提高组]进制转换负进制也一样用短除法转换,但是余数得保证是正数,不然没法用这个方法。在求余的过程中加入处理:如果负数,余数减去一个模数,上一次的商先加上一个模数再去除模数得到本次商。比如对于\(10\)到\(-2\)进制的转换。第一次短除\(-2\),余\(0\)......
  • SpringSecurity鉴权简介
    前言本博文为听课笔记,简单记录下SpringSecurity的鉴权方式及如何在整个流程中自定义个性化鉴权,以备后续学习及工程需要。正文一个请求进来SpringSecurity会经过一系列的过滤器,示意图如下:jwtFilter简介:验证用户token,通过则将其保存在SpringSecurity的上下文,保持登录状态F......
  • [LeetCode Hot 100] LeetCode11. 盛最多的水
    题目描述方法一:暴力,超出时间限制模拟所有情况,记录最大的体积值。体积=Math.min(height[i],height[j])*(j-i)classSolution{publicintmaxArea(int[]height){intres=Integer.MIN_VALUE;for(inti=0;i<height.length;i++){......
  • 第10次-创建一个在线网站
    这个作业属于哪个课程https://edu.cnblogs.com/campus/uzz/cs3这个作业要求在哪里https://edu.cnblogs.com/campus/uzz/cs3/homework/13118这个作业的目标第10次-创建一个在线网站我的上线博客及网站地址:http://175.178.106.76/......
  • Spring Cloud Alibaba:构建微服务架构的高效工具套件
    SpringCloudAlibaba:构建微服务架构的高效工具套件SpringCloudAlibaba是一套基于SpringCloud微服务架构的开发工具,它提供了丰富的微服务解决方案,包括服务注册与发现、负载均衡、熔断与限流、安全认证与授权等。SpringCloudAlibaba结合了阿里巴巴的微服务实践和SpringCl......