tomcat最大线程数、最大等待数和最大连接数
tomcat是目前较为常用的Web容器,那么怎么配置tomcat才能使得自己的服务效率更高,今天我主要解释一下tomcat的最大线程数(maxThreads)、最大等待数(acceptCount)和最大连接数(maxConnections)。
**maxThreads(最大线程数):每一次HTTP请求到达Web服务,tomcat都会创建一个线程来处理该请求,那么最大线程数决定了Web服务可以同时处理多少个请求,默认200.****accepCount(最大等待数):当调用Web服务的HTTP请求数达到tomcat的最大线程数时,还有新的HTTP请求到来,这时tomcat会将该请求放在等待队列中,这个acceptCount就是指能够接受的最大等待数,默认100.如果等待队列也被放满了,这个时候再来新的请求就会被tomcat拒绝(connection refused)。****maxConnections(最大连接数):这个参数是指在同一时间,tomcat能够接受的最大连接数。一般这个值要大于maxThreads+acceptCount。**
如果:https://www.jianshu.com/p/35878d4ec130
# 在配置文件中添加如下内容
# tomcat最大线程数,默认为200
server.tomcat.max-threads=200
# tomcat最大连接数,默认为10000(网上的说法)
server.tomcat.max-connections=300并发请求数 <= tomcat最大线程数200,可以看到200个请求,响应结果正常
并发数(201) >tomcat最大线程数200.可以看到,因为tomcat最大的线程数为200,201的并发请求量,超出了并发处理的数量200,多出来的1个请求,需要等待某个处理中的请求处理完成
请求数超过最大连接数300,可以看到有大量的没有正常响应的http请求,原因很简单,因为超过了tomcat设置的最大连接数,服务器拒绝了该次请求的连接
增加线程是有成本的,JVM中默认情况下在创建新线程时会分配大小为1M的线程栈,所以更多的线程异味着更多的内存;
更多的线程会带来更多的线程上下文切换成本。
springboot中Tomcat配置建议:
最大工作线程数 ,默认200(4核8G内存,线程数经验值为800,操作系统之间做线程之间切换调度是有开销的,不是越多越好),最大连接数默认是10000,等待长度默认为100,最小工作空闲线程默认10
线程数的经验值为:1核2G内存, 线程数经验值为200,;4核8G内存,线程数经验值为800
tomcat最大线程数、最大等待数和最大连接数相关推荐
- SpringBoot中修改tomcat最大连接数、最大线程数、最大等待数
1)maxThreads(最大线程数)每一次HTTP请求到达Web服务器,Web服务器都会创建一个线程来处理该请求,该参数决定了应用服务同时可以处理多少个HTTP请求,tomcat默认为200:2)a ...
- Spring boot中最大连接数、最大线程数与最大等待数在生产中的异常场景
在上周三下午时,客户.业务和测试人员同时反溃生产环境登录进入不了系统,我亲自测试时,第一次登录进去了,待退出后再登录时,复现了客户的问题,场景像是请求连接被拒绝了,分析后判断是spring boot的 ...
- springboot tomcat默认线程数_springboot tomcat最大线程数与最大连接数
首先看看springboot内置的tomcat,该如何配置这两个参数 # 在配置文件中添加如下内容 # tomcat最大线程数,默认为200 server.tomcat.max-threads=200 ...
- 查看tomcat的线程数
查看tomcat的线程数 ps -Lf pid |wc -l 查看tomcat的线程数 port: 5010 netstat -an|grep port|awk '{count[$6]++} END{ ...
- tomcat设置线程数
查看Tomcat线程数 1.Tomcat默认线程数200 2.修改server.xml文件,增加maxThreads.minSpareThreads.maxSpareThreads.acceptCou ...
- 5000并发_彻底理解 jmeter 的线程数与并发数之间的关系
概述 在jmeter中,只要提到并发,99%的同学立马想到线程组.需要多少并发就启动多少线程组,这已经成了大部分人的共识.这种理解方式很明显是把并发数和线程数的概念混淆了.线程组中不光有线程数,也有循 ...
- linux线程数和文件句柄数配置
文章目录 进程和文件句柄概念 进程数和文件句柄数的查看 ulimit 修改进程数和文件句柄数限制 持久化修改用户进程数和文件句柄数限制 持久化修系统服务进程数和文件句柄数限制 linux系统总限制更新 ...
- c++ socket线程池_从连接器组件看Tomcat的线程模型——NIO模式
Tomcat8之后,针对Http协议默认使用org.apache.coyote.http11.Http11NioProtocol,也就是NIO模式.通过之前的博客分析,我们知道Connector组件在 ...
- 每天都在用,但你知道 Tomcat 的线程池有多努力吗?
这是why的第 45 篇原创文章.说点不一样的线程池执行策略和线程拒绝策略,探讨怎么让线程池先用完最大线程池再把任务放到队列中. 荒腔走板 大家好,我是 why,一个四川程序猿,成都好男人. 先是本号 ...
最新文章
- 钢铁飞龙每个人的机器人_让人震撼的特斯拉超级工厂全自动生产线
- 日志组件logback的介绍及配置使用方法
- 【转】Linux操作系统下/etc/hosts文件配置方法
- java处理请求的流程_Java Spring mvc请求处理流程详解
- all方法 手写promise_promise.all的实现
- 如果量子计算机成功应用,这世界上还有普通人的生存空间吗?
- android自定义进度条_Android中的自定义进度栏
- Beta阶段第三次网络会议
- 【书摘】批判性思维工具
- 坐上支付宝微信支付巨头的刷脸顺风车
- php在线生成logo,logo在线生成 php在线生成ico文件的代码
- 跟着团子学SAP PS-前台篇-创建网络活动及活动关系连接 CJ20N
- HTML格式及W3C验证工具
- html中的项目符号和编号,CSS重新定义项目符号和编号
- elasticsearch查询关键字slop
- ES实现自动补全查询
- linux 管理部门打印,Linux打印机相关的命令-打印管理_Linux常用命令大全
- js输出sb (!(~+[]) + {})[--[~+][+[]] * [~+[]] + ~~!+[]] + ({} + [])[[~!+[]] * ~+[]] 图解
- Unity 中实现UI左右滑动效果
- ajax心得体会论文,AJAX重点知识的心得体会