You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Spring Boot 3生成经PGO优化的原生可执行文件?

在Spring Boot 3 Maven应用中使用GraalVM PGO优化原生镜像

前提条件

  • 已安装支持Java 17的Oracle GraalVM(需包含Native Image组件)
  • Spring Boot 3.x Maven项目,已配置原生镜像构建(依赖spring-boot-starter-parent的native插件)
  • macOS环境

步骤1:生成带性能分析能力的原生镜像

执行以下Maven命令,构建一个能收集运行时性能数据的原生可执行文件:

mvn native:compile -Dnative.image.buildArgs=--pgo=collect

构建完成后,项目target目录下会生成对应原生应用(例如your-app-name)。

步骤2:收集运行时性能数据

运行上述带profiling能力的原生应用,模拟真实业务流量或核心测试场景,覆盖关键代码路径:

./target/your-app-name

应用运行期间,GraalVM会自动收集性能数据,默认保存为当前目录下的default.iprof文件。测试完成后正常关闭应用,确保数据写入完成。

提示:尽量覆盖高频接口、核心业务逻辑,这样收集到的profile数据能最大化优化效果。

步骤3:构建PGO优化后的原生镜像

使用收集到的profile数据,构建最终的优化版原生镜像:

mvn native:compile -Dnative.image.buildArgs=--pgo=default.iprof

此时生成的原生应用即为经过PGO优化的版本,针对测试场景的性能会得到提升。

可选:自定义profile文件路径

若需指定profile文件的存储路径和名称,可在收集与构建阶段分别指定:

  • 收集阶段指定路径:
mvn native:compile -Dnative.image.buildArgs=--pgo=collect:/custom/path/your-profile.iprof
  • 构建阶段指定路径:
mvn native:compile -Dnative.image.buildArgs=--pgo=/custom/path/your-profile.iprof

内容的提问来源于stack exchange,提问作者Karsten Silz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 05:14:56