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 相关文章推荐
nginx如何将http访问的网站改成https访问
Mar 31 Servers
nginx对http请求处理的各个阶段详析
Mar 31 Servers
nginx配置虚拟主机的详细步骤
Jul 21 Servers
Nginx缓存设置案例详解
Sep 15 Servers
Nginx中使用Lua脚本与图片的缩略图处理的实现
Mar 18 Servers
Nginx动静分离配置实现与说明
Apr 07 Servers
在容器中使用nginx搭建上传下载服务器
May 11 Servers
详解Nginx的超时keeplive_timeout配置步骤
May 25 Servers
Nginx开源可视化配置工具NginxConfig使用教程
Jun 21 Servers
Windows Server 2022 超融合部署(图文教程)
Jun 25 Servers
GPU服务器的多用户配置方法
Jul 07 Servers
Nginx如何配置多个服务域名解析共用80端口详解
Sep 23 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
php中引用符号(&amp;)的使用详解
2013/11/13 PHP
php获取文件类型和文件信息的方法
2015/07/10 PHP
分享50个提高PHP执行效率的技巧
2015/12/26 PHP
如何打开php的gd2库
2017/02/09 PHP
怎么用javascript进行拖拽
2006/07/20 Javascript
Js动态添加复选框Checkbox的实例方法
2013/04/08 Javascript
JavaScript中圆括号()和方括号[]的特殊用法疑问解答
2013/08/06 Javascript
Jquery Ajax xmlhttp请求成功问题
2015/02/04 Javascript
JS去除iframe滚动条的方法
2015/04/01 Javascript
window.setInterval()方法的定义和用法及offsetLeft与style.left的区别
2015/11/11 Javascript
在JavaScript中模拟类(class)及类的继承关系
2016/05/20 Javascript
深入理解Javascript中的自执行匿名函数
2016/06/03 Javascript
利用iscroll4实现轮播图效果实例代码
2017/01/11 Javascript
Bootstrap笔记之缩略图、警告框实例详解
2017/03/09 Javascript
配置nodejs环境的方法
2017/05/13 NodeJs
在AngularJs中设置请求头信息(headers)的方法及不同方法的比较
2018/09/04 Javascript
在vue-cli的组件模板里使用font-awesome的两种方法
2018/09/28 Javascript
Vue数据驱动表单渲染,轻松搞定form表单
2019/07/19 Javascript
vue+element table表格实现动态列筛选的示例代码
2021/01/14 Vue.js
原生js实现九宫格拖拽换位
2021/01/26 Javascript
[06:30]DOTA2英雄梦之声_第15期_死亡先知
2014/06/21 DOTA
pycharm 使用心得(七)一些实用功能介绍
2014/06/06 Python
python实现批量监控网站
2016/09/09 Python
Python实现PS滤镜特效Marble Filter玻璃条纹扭曲效果示例
2018/01/29 Python
Windows上安装tensorflow  详细教程(图文详解)
2020/02/04 Python
python图片验证码识别最新模块muggle_ocr的示例代码
2020/07/03 Python
使用css3实现的tab选项卡代码分享
2014/12/09 HTML / CSS
荷兰音乐会和音乐剧门票订购网站:Topticketshop
2019/08/27 全球购物
Linux不知道文件后缀名怎么判断文件类型
2012/04/26 面试题
房屋财产继承协议书范本
2014/11/03 职场文书
2015教师见习期工作总结
2014/12/12 职场文书
三傻大闹宝莱坞观后感
2015/06/03 职场文书
春晚观后感
2015/06/11 职场文书
2016教师国培研修感言
2015/12/08 职场文书
一文简单了解MySQL前缀索引
2022/04/03 MySQL
SONY AN-LP1 短波有源天线放大器图
2022/04/05 无线电