news 2026/5/6 3:11:28

SpringBoot单体应用到底能同时扛多少并发请求?

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
SpringBoot单体应用到底能同时扛多少并发请求?

文章目录

  • 前言
  • 一、SpringBoot默认用什么支撑并发?
  • 二、默认三个核心参数(决定整个系统并发上限)
    • Tomcat并发核心配置Key及默认值(YAML格式)
    • 核心一句话总结:
  • 三、重点:这300并发是整个系统,不是单个接口
  • 四、并发数和QPS不是一回事
  • 五、默认300并发够用吗?
  • 六、生产如何提高SpringBoot并发能力?
  • 七、生产环境Tomcat并发调优配置
    • 生产调优完整配置及参数详解
    • 调优后核心并发能力说明

前言

很多人都有一个疑问:我用SpringBoot开发的单体项目,到底同一时间能承受多少用户、多少请求并发?

网上说法五花八门,有人说200,有人说300,有人说上万。其实都没错,只是大家说的不是同一个维度。

今天一篇讲清楚:SpringBoot默认情况下,真实并发上限到底是多少,是单接口限制还是整个系统限制。

一、SpringBoot默认用什么支撑并发?

SpringBoot内置默认Web容器是Tomcat

所有接口、所有请求,全部共用同一个Tomcat线程池

也就是说:不管你的项目有多少个接口,一百个还是一千个,大家抢同一批线程干活。

二、默认三个核心参数(决定整个系统并发上限)

SpringBoot开箱即用,无需手动编写任何配置文件,底层已内置Tomcat并发核心默认参数。下面给大家附上生产实际配置Key + 默认值 + 精准作用说明,一目了然:

Tomcat并发核心配置Key及默认值(YAML格式)

# SpringBoot 默认Tomcat并发核心配置(无需手动配置,系统内置生效)server:tomcat:# 1、核心工作最大线程数(真正同时处理业务请求的并发数)threads:max:200# 2、线程池满了之后,请求排队等待的队列容量accept-count:100# 3、服务器支持的最大TCP连接总数(含长连接、空闲连接,不代表业务处理并发)max-connections:8192
  • 最大工作线程:200(真正同时干活的请求)

  • 排队队列容量:100(线程满了之后排队等待的请求)

  • 最大连接数:8192(只是TCP连接数,不代表并发处理能力)

核心一句话总结:

SpringBoot单体默认:同一时间最多处理200个并发,再加100个排队,总共系统承压上限300。

三、重点:这300并发是整个系统,不是单个接口

很多新手误会:

❌ 误以为每个接口都能单独扛200并发

正确:整个系统所有接口加起来,总共就200个线程在干活。

哪怕你的项目有:

100个接口、200个接口、500个接口

全部共享同一个线程池。

举个例子:

如果其中一个查询接口突然瞬间来了200并发,直接把线程池占满。

后果:系统所有其他接口全部卡死、排队、甚至报错。

这就是典型的一个接口拖垮整个单体系统

四、并发数和QPS不是一回事

很多人搞混两个概念:

并发数:同一时刻同时处理的请求数(线程数决定)

QPS:每秒能处理多少请求(接口速度决定)

公式很简单:

QPS = 线程数 × (1000 / 接口平均耗时ms)

举例:

  • 接口很快,10ms响应:200线程 ≈2万QPS

  • 普通业务,100ms响应:200线程 ≈2000 QPS

  • 慢接口查数据库,500ms:200线程 ≈400 QPS

可见:线程决定并发上限,业务速度决定每秒处理量。

五、默认300并发够用吗?

日常开发、后台管理系统、内部OA、小项目:完全够用

面向用户、流量高、商城、活动秒杀:完全不够,必须调优+限流+集群

六、生产如何提高SpringBoot并发能力?

简单三步就能提升单体并发:

  1. 调大Tomcat线程池(调到500~800)

  2. 给核心接口加接口限流,防止一个接口打爆全局

  3. 数据库、Redis、业务代码优化耗时(最关键)

七、生产环境Tomcat并发调优配置

默认参数仅适合开发测试、低流量内部系统,面向公网用户、业务流量较高的单体项目,必须手动调优Tomcat线程池及连接参数。以下为8核16G服务器通用生产标配YAML配置,参数key规范、数值合理,无需额外修改直接上线。

生产调优完整配置及参数详解

# SpringBoot 生产环境Tomcat并发调优核心配置server:tomcat:# 核心1:Tomcat工作最大线程数(同时处理业务并发请求数)threads:max:600# 核心2:最小空闲常驻线程(预热保留,不用频繁创建销毁线程)min-spare:80# 核心3:请求排队等待队列容量(线程占满后排队请求数)accept-count:200# 核心4:Tomcat最大TCP连接数(支撑大量长连接、闲置连接)max-connections:10000# 核心5:连接超时时间(避免无效长连接占用线程资源)connection-timeout:20000

调优后核心并发能力说明

  • 实时处理并发:600个(远超默认200,应对日常业务峰值流量)

  • 突发排队缓冲:200个(应对瞬间流量波动,减少请求报错)

  • 系统总承压能力:800并发(全局所有接口共享,兼顾稳定性和并发量)

  • 适配场景:中小型商城、企业业务系统、公网用户端项目,无需集群也能稳定承载日常峰值流量

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/6 3:11:26

创意总监技能树解析:从商业洞察到团队领导的全方位能力模型

1. 项目概述:创意总监的“技能树”究竟是什么?最近在和一些设计、广告圈的朋友聊天,发现一个挺有意思的现象:很多刚晋升到创意总监岗位的朋友,或者有志于此的资深设计师,常常会陷入一种“身份焦虑”。他们问…

作者头像 李华
网站建设 2026/5/6 3:07:26

TFT 截图识别引擎(一):用 OpenCV 迈出“看懂”阵容的第一步

前面我们搭建了数据采集和阵容分析两大模块,但每次分析都要手动输入英雄名单?太麻烦了。这一篇,我们开始挑战更有趣的事情——让电脑直接“看”截图,自动识别出上面的英雄、星级和装备。这不仅仅是一个图像识别项目,更…

作者头像 李华
网站建设 2026/5/6 2:55:28

PCA9555驱动避坑指南:从I2C通信失败到LED闪烁不稳定的5个常见问题

PCA9555驱动避坑指南:从I2C通信失败到LED闪烁不稳定的5个常见问题 在嵌入式开发中,I/O扩展芯片PCA9555因其高性价比和易用性而广受欢迎。然而,即使是经验丰富的工程师,在实际项目中也难免遇到各种"坑"。本文将从一个调试…

作者头像 李华
网站建设 2026/5/6 2:53:14

AI写论文高效之道!4款AI论文写作工具,帮你节省大量时间!

撰写期刊论文、毕业论文或职称论文时,许多学术人士常常会遇到各种困难。手动撰写论文,面对海量的文献资料,查找相关信息就像在茫茫大海中捞针;而那复杂的格式要求,往往让人感到无从下手。每次的内容修改又无疑是在不断…

作者头像 李华
网站建设 2026/5/6 2:52:47

SPI-4.2接口技术与Virtex-5 FPGA实现详解

1. SPI-4.2接口技术解析SPI-4.2(System Packet Interface Level 4 Phase 2)作为光互联网论坛(OIF)制定的高速互连标准,在现代通信系统中扮演着关键角色。这个接口标准最初是为满足OC-192(10Gbps&#xff09…

作者头像 李华
网站建设 2026/5/6 2:52:34

视觉语言模型强化学习:双循环反思架构降低幻觉率47%

1. 项目背景与核心价值视觉语言模型(VLM)近年来在跨模态理解任务中展现出惊人潜力,但面对复杂场景时仍存在"幻觉生成"和"逻辑断裂"问题。去年我在部署某工业质检系统时,就遇到过模型将"金属表面划痕&quo…

作者头像 李华