中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助
鲲鹏小智

使能JBooster特性

介绍

  • 云场景下,应用有着“单个云应用实例分配资源少”与“云应用频繁地弹性伸缩”的特点,传统JVM应用启动慢的问题在此场景下更为严重。
  • 云应用所需的CPU资源是由其启动时的负载与稳定运行时的负载(或业务峰值时所需负载)综合决定的。
  • JBooster特性通过数据共享、远程编译等形式来提升应用启动速度、降低CPU占用、加快弹性伸缩的响应速度、降低云应用部署成本。

场景建议

CPU资源受限、类加载耗时长或编译耗时占比高,导致启动耗时长。

使用约束

  • JBooster特性仅支持毕昇JDK 17版本。
  • 客户端和服务端均部署在同一信任域内,由用户确保通信安全。
  • 服务端编译AOT需要系统中安装ld指令。

    若使用的是openEuler操作系统请使用以下命令进行ld指令的安装。

    yum install binutils

使用方法

  1. 开启服务端JBooster Server。

    服务端启动成功后会输出“The JBooster server is ready!”。注意使用JBooster Server的整个过程中需要保持服务端为启动状态,不能手动停止,如需执行其他命令需另起窗口。

    $JAVA_HOME/bin/jbooster --server-port=24567

    使用jbooster --help命令来查看支持的命令行参数。

    $JAVA_HOME/bin/jbooster --help
  2. 构建应用程序包。

    本文以spring-petclinic-*.*.*-SNAPSHOT.jar为例进行应用程序的构建。构建过程中依赖maven工具,请确保构建环境已安装maven。

    请参见https://github.com/spring-projects/spring-petclinic?tab=readme-ov-file#run-petclinic-locally构建应用程序包spring-petclinic-*.*.*-SNAPSHOT.jar。
    git clone https://github.com/spring-projects/spring-petclinic.git
    cd spring-petclinic
    mvn package -DskipTests=true

    构建成功后,会在“./target”文件夹中生成一个jar包,jar包名称为spring-petclinic-*.*.*-SNAPSHOT.jar,其版本号随代码仓更新而变化。

  3. 启用客户端。

    第一次启用客户端,生成加速包,JBoosterAddress需指定服务端的地址,端口号需和服务端一致。本文中的应用程序spring-petclinic-3.2.0.jar启动成功后会输出“(process running for X.XXX)”的日志,其中“X.XXX”即启动时间。

    $JAVA_HOME/bin/java -XX:+UnlockExperimentalVMOptions -XX:+UseJBooster -XX:JBoosterAddress=127.0.0.1 -XX:JBoosterPort=24567 -jar ./target/spring-petclinic-*.*.*-SNAPSHOT.jar

    后续启用客户端可以获得加速效果,命令与第一次启用客户端一致,日志输出显示启动时间有比较明显的减少。

搜索结果
找到“0”个结果

当前产品无相关内容

未找到相关内容,请尝试其他搜索词