个人随笔
目录
Springboot可以同时处理多少个请求?
2024-12-22 14:55:09

我们知道springboot运行在tomcat上,那么正常来说我们的springboot可以同时处理多少个请求呢?要了解这个概念我们需要知道什么叫做能处理多少个请求!

1、springboot有关线程并发的配置

springboot有如下几个配置

  1. server:
  2. tomcat:
  3. threads:
  4. # 最小线程数
  5. min-spare: 10
  6. # 最大线程数
  7. max: 200
  8. # 最大连接数
  9. max-connections: 8192
  10. # 最大等待数
  11. accept-count: 100

我们可以通过如上设置来控制连接数,大致处理流程如下。

  1. 一个请求进来
  2. 查看可以有线程来处理一若是没有检查是否超过最大线程数,若是没有超过则启用新的线程来处理。
  3. 若是超过最大线程数,则表面每个线程都有处理了,检查是否超过最大链接数,若是没有超过则等待处理,若超过了最大链接数,则加入等待数中。
  4. 若超过了最大等待数,则拒绝

因此,我们的springboot最多可以同时处理的请求数是最大连接数+最大等待数=8192+100=8292.

注:大家千万不要认为线程数就是并发数,一个线程可以处理很多个请求的,稍微等等就可以了。

2、默认配置在哪里看

配置路径在

  1. spring-boot-autoconfigure-2.5.15.jar!\META-INF\spring-configuration-metadata.json

然后我们在文件中搜索就可以搜搜到

最大线程数

  1. {
  2. "name": "server.tomcat.threads.max",
  3. "type": "java.lang.Integer",
  4. "description": "Maximum amount of worker threads.",
  5. "sourceType": "org.springframework.boot.autoconfigure.web.ServerProperties$Tomcat$Threads",
  6. "defaultValue": 200
  7. },

最小线程数

  1. {
  2. "name": "server.tomcat.threads.min-spare",
  3. "type": "java.lang.Integer",
  4. "description": "Minimum amount of worker threads.",
  5. "sourceType": "org.springframework.boot.autoconfigure.web.ServerProperties$Tomcat$Threads",
  6. "defaultValue": 10
  7. },

最大连接数默认配置

  1. {
  2. "name": "server.tomcat.max-connections",
  3. "type": "java.lang.Integer",
  4. "description": "Maximum number of connections that the server accepts and processes at any given time. Once the limit has been reached, the operating system may still accept connections based on the \"acceptCount\" property.",
  5. "sourceType": "org.springframework.boot.autoconfigure.web.ServerProperties$Tomcat",
  6. "defaultValue": 8192
  7. }

最大等待数

  1. {
  2. "name": "server.tomcat.accept-count",
  3. "type": "java.lang.Integer",
  4. "description": "Maximum queue length for incoming connection requests when all possible request processing threads are in use.",
  5. "sourceType": "org.springframework.boot.autoconfigure.web.ServerProperties$Tomcat",
  6. "defaultValue": 100
  7. }

总结

正常我们用默认就OK,除非特殊情况,那么要结合业务场景和压力测试等来调整这几个参数!

 20

啊!这个可能是世界上最丑的留言输入框功能~


当然,也是最丑的留言列表

有疑问发邮件到 : suibibk@qq.com 侵权立删
Copyright : 个人随笔   备案号 : 粤ICP备18099399号-2