疑问:对于多用户访问下springboot项目运行,到底是怎么支持的

第一点:

项目部署服务器

springboot自带的tomcat容器

对于用户连接有默认配置

## 服务器最大连接数,默认8192
server.tomcat.max-connections=10000
## 等待队列长度,默认100。
server.tomcat.accept-count=1000
## 最大工作线程数,默认200。(4核8g内存,线程数经验值800。)
server.tomcat.threads.max=800
## 最小工作空闲线程数,默认10。(适当增大一些,以便应对突然增长的访问量)
server.tomcat.threads.min-spare=100

基于用户的每一次访问(即打开页面)都是一个请求,WEB服务器会帮你把每个访问请求开辟一个线程这个条件,

所以说即使不在项目中做并发控制,项目运行时也是支持一定量的并发的。

 

第二点:

项目中手动更改配置

设置springboot自带tomcat的最大连接数和最大并发数

从源代码来看,最大连接数和最大并发数默认是10000和200

可以通过工程下的application.yml配置文件来改变这个值

server:
    tomcat:
        uri-encoding: UTF-8
        max-threads: 1000
        max-connections: 20000

第三点:

可以用Jmeter测试工具来测试下配置前后的并发量的性能