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

如何用免费工具分析Spring Boot REST服务的代码与查询效率?

基于IntelliJ的Spring Boot接口性能分析方案

一、代码效率分析(无需额外工具)

  • IntelliJ自带Profiler:点击IDE右上角运行按钮旁的「Profile」选项启动服务,调用耗时接口后停止Profiling。查看「Call Tree」面板,按耗时占比排序方法,定位耗时最长的业务逻辑方法。重点排查方法内的循环嵌套、重复对象创建、IO操作等可能拖慢性能的点。
  • 轻量日志埋点:用项目自带的SLF4J在关键业务方法前后添加时间戳日志,比如:
    long start = System.currentTimeMillis();
    // 你的业务逻辑代码
    log.debug("业务方法X执行耗时:{}ms", System.currentTimeMillis() - start);
    
    通过日志输出快速定位慢方法,注意不要在循环内打印日志,避免额外性能开销。
  • 断点计时调试:在可疑代码段前后设置断点,Debug模式下执行时,用IDE的「Evaluate Expression」功能计算代码块耗时,比如选中代码后执行:
    long start = System.currentTimeMillis();
    // 选中的代码片段
    long end = System.currentTimeMillis();
    end - start
    
    直接得到这段代码的执行时间。

二、数据库查询效率分析(免费工具)

  • IntelliJ Database执行计划分析:用IDE自带的Database工具连接你的数据库,复制接口执行的SQL语句到查询窗口,右键选择「Explain Plan」。查看执行计划中的type字段(若为ALL表示全表扫描,需优化)、key字段(确认是否用到了预期的索引)、rows字段(扫描行数过多说明查询效率低),针对性优化索引或SQL写法。
  • Spring Boot日志打印SQL及耗时:在application.properties中添加配置:
    logging.level.org.hibernate.SQL=DEBUG
    logging.level.org.hibernate.type.descriptor.sql.BasicBinder=TRACE
    logging.level.com.zaxxer.hikari=DEBUG
    
    控制台会输出完整的SQL语句、参数,结合日志时间戳可计算单条SQL的执行耗时,快速定位慢查询。
  • HikariCP连接池状态监控:Spring Boot默认使用HikariCP,添加配置开启Actuator端点:
    management.endpoints.web.exposure.include=hikaricp
    
    启动服务后访问/actuator/hikaricp,查看连接池的活跃连接数、等待队列长度等指标,若存在连接等待或池配置不足,需调整hikari.maximum-pool-size等参数。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 18:27:52