java基于springboot构建的项目调优

本文介绍了如何优化基于SpringBoot构建的项目,包括切换内嵌服务器从Tomcat到Undertow,并调整Undertow的io-threads和worker-threads参数以适应服务器性能。同时,针对JVM启动参数进行了优化,如启用-server模式,以及根据服务器内存设定-Xms和-Xmx参数来控制Java堆的大小。

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

一、springboot项目优化之内嵌服务器调优

一、springboot项目优化之内嵌服务器调优
1、Spring boot 弃用tomcat 作为内嵌服务器,转用undertow

maven添加pom文件如下:
      <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            <exclusions>
                <!-- 移除tomcat依赖 -->
                <exclusion>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-starter-tomcat</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <!-- 添加undertow依赖 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-undertow</artifactId>
        </dependency>
 gradle添加配置如下:
 configurations {
    compile.exclude module: "spring-boot-starter-tomcat"
}
compile "org.springframework.boot:spring-boot-starter-undertow:$springBootVersion"

2、在spring boot配置文件中application.yml,添加以下配置:

tomcat配置如下:
server:
  tomcat:
    min-spare-threads: 20
    max-threads: 100
  connection-timeout: 5000
undertow配置如下:
server:
    undertow:
      io-threads: 4
      worker-threads: io-threads * 8

undertow配置io-threads 好理解,根据CPU有几核,就填写几,worker-threads默认最少会初始化24个线程,最多60个线程。worker-threads要看服务器最大支持的文件句柄数量,设太大应用都会启动失败的,结合你应用承担的体量根据服务器负载来设置。

二、springboot项目优化之JVM启动参数优化

一、springboot项目优化之JVM启动参数优化
1、使用-server模式
设置JVM使用server模式,64位JDK默认启动该模式

java -server -jar springboot-1.0.jar

2、指定堆参数
这个根据服务器的内存大小,来设置堆参数。
<1>、-Xms :设置Java堆栈的初始化大小
<2>、-Xmx :设置最大的java堆大小

java -server -Xms512m -Xmx768m  -jar springboot-1.0.jar
$ java -jar -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=128m -Xms1024m -Xmx1024m -Xmn256m -Xss256k -XX:SurvivorRatio=8 -XX:+UseConcMarkSweepGC springboot-1.0.jar
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值