SpringBoot服务器配置全过程

 更新时间:2025年11月14日 10:37:39   作者:tomorrow.hello  
Spring Boot默认请求头最大长度为8KB,可以通过配置文件修改,默认最大连接数取决于所用服务器(如Tomcat、Jetty或Undertow),例如Tomcat默认最大连接数为8192,最大工作线程数为200,最大等待队列长度为100,Jetty和Undertow也有不同的默认配置

1. SpringBoot Header

Springboot默认header的最大长度是8KB。通过

org.springframework.boot.autoconfigure.web.ServerProperties可以看到

在SpringBoot中,可以在配置文件中修改请求头最大限制。

在properties文件中:

server.maxhttprequestheadersize=100MB

2.SpringBoot 默认同时可以处理的最大连接数

Spring Boot 的默认最大连接数取决于其内置的服务器(如 Tomcat、Jetty 或 Undertow)以及相关配置。

Tomcat(默认服务器)

通过org.springframework.boot.autoconfigure.web.ServerProperties.Tomcat分析

Spring Boot 2.x/3.x 默认使用 Tomcat,其核心连接参数如下:

  • 最大连接数(maxConnections):8192(Tomcat 10+ 默认值)

含义:服务器可接受的最大连接数(包括等待处理的连接)。

  • 最大工作线程数(maxThreads):200

含义:同时处理请求的最大线程数。

  • 最大等待队列长度(acceptCount):100

含义:当所有线程都在处理请求时,可放入队列等待的最大请求数。

修改配置:

server.tomcat.maxthreads=500
server.tomcat.maxconnections=10000
server.tomcat.acceptcount=200

Jetty

通过org.springframework.boot.autoconfigure.web.ServerProperties.Jetty分析

  • 最大连接数(maxConnections):无上限
  • 最大工作线程数(maxThreads):200
  • 最大队列长度(acceptQueueSize):无上限

设置Jetty:

server.jetty.threads.max=200
server.jetty.threads.min=8
server.jetty.threads.idletimeout=60000ms
server.jetty.maxconnections=8192

Undertow

最大工作线程数(io-threads × worker-threads):

  • io-threads:2 × CPU核心数(默认)
  • worker-threads:200(默认)
  • 总线程数 = io-threads × worker-threads

每个连接的直接缓冲区大小(direct-buffers):true(默认启用)

server.undertow.threads.io=8# I/O线程数(默认CPU核心数×2)
server.undertow.threads.worker=256 # 工作线程数
server.undertow.buffersize=1024   # 缓冲区大小

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • springcloud-gateway整合jwt+jcasbin实现权限控制的详细过程

    springcloud-gateway整合jwt+jcasbin实现权限控制的详细过程

    这篇文章主要介绍了springcloud-gateway整合jwt+jcasbin实现权限控制,基于springboot+springcloud+nacos的简单分布式项目,项目交互采用openFeign框架,单独提取出来成为一个独立的model,需要的朋友可以参考下
    2023-02-02
  • http basic authentication通过post方式访问api示例分享 basic认证示例

    http basic authentication通过post方式访问api示例分享 basic认证示例

    在HTTP中,基本认证是一种用来允许Web浏览器或其他客户端程序在请求时提供以用户名和口令形式的凭证,这篇文章主要介绍了http basic authentication通过post方式访问api示例,大家参考使用吧
    2014-01-01
  • SpringBoot项目集成FTP的方法步骤

    SpringBoot项目集成FTP的方法步骤

    本文主要介绍了SpringBoot项目集成FTP的方法步骤,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-10-10
  • Java中快速把map转成json格式的方法

    Java中快速把map转成json格式的方法

    这篇文章主要介绍了Java中快速把map转成json格式的方法,本文使用json-lib.jar中的JSONSerializer.toJSON方法实现快速把map转换成json,需要的朋友可以参考下
    2015-07-07
  • SpringBoot整合EasyExcel实现导入导出功能

    SpringBoot整合EasyExcel实现导入导出功能

    EasyExcel是一个基于Java的、快速、简洁、解决大文件内存溢出的Excel处理工具,他能让你在不用考虑性能、内存的等因素的情况下,快速完成Excel的读、写等功能,本文就给大家介绍一下SpringBoot整合EasyExcel实现导入导出功能的方法,需要的朋友可以参考下
    2023-09-09
  • 什么是递归?用Java写一个简单的递归程序

    什么是递归?用Java写一个简单的递归程序

    这篇文章主要介绍了什么是递归?用Java写一个简单的递归程序,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-02-02
  • mybatis-plus自带QueryWrapper自定义sql实现复杂查询实例详解

    mybatis-plus自带QueryWrapper自定义sql实现复杂查询实例详解

    MyBatis-Plus是一个MyBatis(opens new window)的增强工具,在 MyBatis的基础上只做增强不做改变,MyBatis可以无损升级为MyBatis-Plus,这篇文章主要给大家介绍了关于mybatis-plus自带QueryWrapper自定义sql实现复杂查询的相关资料,需要的朋友可以参考下
    2022-10-10
  • JAVA深入探究之Method的Invoke方法

    JAVA深入探究之Method的Invoke方法

    这篇文章主要给大家介绍了关于JAVA深入探究之Method的Invoke方法的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-01-01
  • Java NegativeArraySizeException异常解决方案

    Java NegativeArraySizeException异常解决方案

    这篇文章主要介绍了Java NegativeArraySizeException异常解决方案,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-08-08
  • java string的一些细节剖析

    java string的一些细节剖析

    首先说明这里指的是Java中String的一些细节部分,需要的朋友可以参考
    2012-11-11

最新评论