tomcat默认最大连接数及相关调整方法


Posted in Servers onMay 06, 2022

一般来说我们都是用tomcat默认的配置做基础的本地开发,测试及生产肯定不用tomcat啦,正式一点的企业肯定换大型容器了,当然不排除还是用tomcat或者它的集群的,言归正传,tomcat的连接数相关配置及修改干货如下:

在tomcat配置文件server.xml中的<Connector  />标签配置中,和连接数相关的参数有下面几个(如果你现在看肯定都没有的):

  • minProcessors------------------最小空闲连接线程数,用于提高系统处理性能,默认值为10
  • maxProcessors-----------------最大连接线程数,即:并发处理的最大请求数,默认值为75
  • acceptCount---------------------允许的最大连接数,应大于等于maxProcessors,默认值为100
  • enableLookups-----------------是否反查域名,取值为:true或false。为了提高处理能力,应设置为false
  • connectionTimeout------------网络连接超时,单位:毫秒。设置为0表示永不超时,这样设置有隐患的。通常可设置为30000毫秒。

P.S.如果你要手动增加这些链接相关参数,那么根据以上参数肯定是找不到的,官方文档提示需要搞另外两个参数才能加大并发连接数,那就是maxProcessors和acceptCount。

官方原话及翻译:

If more simultaneous requests are received than can be handled by the currently available request processing threads, additional threads will be created up to the configured maximum (the value of the maxThreads attribute).

如果接收到的并发请求比当前可用的请求处理线程所能处理的更多,则将创建额外的线程到配置的最大值(maxThreads 属性)。

If still more simultaneous requests are received, they are stacked up inside the server socket created by the Connector, up to the configured maximum (the value of the acceptCount attribute).

如果接收到更多的并发请求,则它们被堆叠在由连接器创建的服务器套接字内,直到配置的最大值(acceptCount 属性)。

所以需要设置的是maxThreads和acceptCount这两个值,两者的默认值分别是200和100,要调整Tomcat的默认最大连接数,可以增加这两个属性的值,并且使acceptCount大于等于maxThreads:

<Connector port="8080" protocol="HTTP/1.1" 
               connectionTimeout="20000" 
               redirectPort="8443" acceptCount="300" maxThreads="200" />

并发请求数 <= 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默认最大连接数及相关调整方法的文章就介绍到这了!


Tags in this post...

Servers 相关文章推荐
Apache站点配置SSL强制跳转443
Mar 09 Servers
nginx前后端同域名配置的方法实现
Mar 31 Servers
本地通过nginx配置反向代理的全过程记录
Mar 31 Servers
nginx服务器的下载安装与使用详解
Aug 02 Servers
centos8安装nginx1.9.1的详细过程
Aug 02 Servers
docker compose 部署 golang 的 Athens 私有代理问题
Apr 28 Servers
nginx配置限速限流基于内置模块
May 02 Servers
关于windows server 2012 DC 环境 重启后蓝屏代码:0xc00002e2的问题
May 25 Servers
Linux磁盘管理方法介绍
Jun 01 Servers
解决Git推送错误non-fast-forward的方法
Jun 25 Servers
vscode内网访问服务器的方法
Jun 28 Servers
解决ubuntu安装软件时,status-code=409报错的问题
Dec 24 Servers
如何Tomcat中使用ipv6地址
May 06 #Servers
Tomcat弱口令复现及利用
Vscode中SSH插件如何远程连接Linux
nginx配置限速限流基于内置模块
May 02 #Servers
Nginx配置之禁止指定IP访问
centos7安装mysql5.7经验记录
May 02 #Servers
使用 Docker Compose 构建复杂的多容器App
Apr 30 #Servers
You might like
php5 pdo新改动加载注意事项
2008/09/11 PHP
php escape URL编码
2008/12/10 PHP
PHP+MySQL投票系统的设计和实现分享
2012/09/23 PHP
使用php记录用户通过搜索引擎进网站的关键词
2014/02/13 PHP
PHP GD库相关图像生成和处理函数小结
2016/09/30 PHP
PHP设置Cookie的HTTPONLY属性方法
2017/02/09 PHP
javascript实现的距离现在多长时间后的一个格式化的日期
2009/10/29 Javascript
javascript权威指南 学习笔记之javascript数据类型
2011/09/24 Javascript
js判断生效时间不得大于失效时间的思路及代码
2013/04/23 Javascript
showModelDialog弹出文件下载窗口的使用示例
2013/11/19 Javascript
node.js中watch机制详解
2014/11/17 Javascript
详解JavaScript操作HTML DOM的基本方式
2015/10/21 Javascript
原生js实现中奖信息无间隙滚动效果
2017/01/18 Javascript
JS 实现 ajax 异步浏览器兼容问题
2017/01/21 Javascript
Angular2+国际化方案(ngx-translate)的示例代码
2017/08/23 Javascript
在vue 中使用 less的教程详解
2018/09/26 Javascript
JS实现的字符串数组去重功能小结
2019/06/17 Javascript
Node.js 实现简单的无侵入式缓存框架的方法
2019/07/21 Javascript
如何在vue 中使用柱状图 并自修改配置
2021/01/21 Vue.js
[02:06]DOTA2英雄基础教程 暗影萨满
2013/12/16 DOTA
[03:23:49]2016.12.17日完美“圣”典全回顾
2016/12/19 DOTA
Python中map,reduce,filter和sorted函数的使用方法
2015/08/17 Python
python添加模块搜索路径方法
2017/09/11 Python
简单实现python进度条脚本
2017/12/18 Python
对python requests发送json格式数据的实例详解
2018/12/19 Python
python命令行工具Click快速掌握
2019/07/04 Python
python 实现单通道转3通道
2019/12/03 Python
python 成功引入包但无法正常调用的解决
2020/03/09 Python
Python基于xlutils修改表格内容过程解析
2020/07/28 Python
python实现快速文件格式批量转换的方法
2020/10/16 Python
在线课程:Skillshare
2019/04/02 全球购物
成人毕业生自我鉴定
2013/10/18 职场文书
会计主管岗位职责范文
2013/11/08 职场文书
施工资料员的岗位职责
2013/12/22 职场文书
校本教研工作方案
2014/01/14 职场文书
车队司机自我鉴定
2014/03/02 职场文书