springboot调优

本文介绍了SpringBoot的性能调优方法,包括JVM参数调优,如设置初始堆内存与最大堆内存相等以避免频繁GC,以及通过-Xms和-Xmx调整内存大小;扫包优化,通过@ComponentScan的basePackages属性减少扫描范围;以及将默认内置的Tomcat服务器替换为性能更优的Undertow,提高应用的吞吐量。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.jvm参数调优

属于运行调优。

调优策略:

  • 初始化堆内存时需要跟堆内存最大值相同(假如堆内存最大值500M,但是你配置的初始值为30M那么项目运行的时候回频繁的gc垃圾回收,导致系统开销增大。)

设置服务器内存大小,来设置堆参数

-Xms:设置java堆栈的初始值大小

-Xmx:设置最大的java堆大小

实际参数-XX:+printGCDetails -Xmx32M -Xms1M

以上设置的意思:打印详细GC日志   最大堆内存32m  初始值内存为1m

  •  

2.扫包优化

  扫包优化是属于项目启动优化,这个跟项目运行是没有关系的,并不属于运行优化

  运行吞吐量高不高或者说运行的效率高不高在于以下几点:

  • 服务器性能
  • 硬件成本
  • 网络
  • 参数调优(即jvm参数调优)

首先@SpringBootApplication这个注解的意思是扫描统计包

@ComponentScan这个包时扫描src/java下的所有包,但是可以使用basePackages属性缩小它的扫包范围

3.默认内置tomcat改成undertow服务器

  其实undertow比jetty跟tomcat性能要好很多,tomcat吞吐量5000,undertow可以达到8000

首先在pom文件中的web组件中排除tomcat内置服务器的依赖

<!--spring web组件-->
<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-web</artifactId>
  <!--排除tomcat内置依赖-->
  <exclusions>
    <exclusion>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-tomcat</artifactId>
    </exclusion>
  </exclusions>
</dependency>

然后将undertow服务器引入进来

<!--引入undertow服务器-->
<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-undertow</artifactId>
</dependency>

就可以了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值