tomcat connectionTimeout 问题

tomcat9优化以及配置 tomcat9完整优化 阅读详情

问题现象

在某个时刻,后端收到了平时4-6倍的请求(保密起见,略去产品和事件),在10分钟后居然没有请求可以接进来

问题原因

经过分析,首先,是后端服务器的线程池满了,线程池满的原因:
1.server.xml中maxThread=512,导致超过512的之后的请求只能排队,等待有线程释放后,才能被处理;
2.connectionTimeout配置为10000,这个配置导致建立一个socket连接后,如果一直没有收到客户端的FIN,也没有数据过来,那么此连接也必须等到10s后,才能被超时释放,巧了,现网的客户端真的不会发FIN包过来,那一直陪它耗够10秒,和1一起,处理的512个线程只能等待10s后,超时释放才能处理后面排队的请求,所以浪涌一来,分分钟就满了,特慢

接下来是怎么接不进来的呢?

部分用户忍不了了,发了个登出请求,依然在特慢的排队,部分进入了队列的客户端加上前面时间一共等了几秒都没响应,客户端就发了个FIN过来,说要不咱主动断开算了,后端收到请求变为CLOSE_WAIT状态,说你等我会,处理点事,巧了,用户这几秒也受不了了,整个重启客户端,客户端ip再来就变了,结果后端处理好后的第三次握手本该通知"我处理好了,你断吧"的请求发不过去,好死不死,后台还配的重发15次,重发15次需要大概20~30分钟左右,啊哦,于是这条请求一直占着线程20多分钟,这样的请求多点,线程就一直占着,于是别的请求就一直就接不进来咯

问题解决

1.修改maxThread=1024,提高一倍的线程数

2.修改connectionTimeout=2000,没数据了之后2秒就断,别等这么久(keepAlivetimeout是请求处理完了之后等多久关闭连接,connectionTimeout是本条连接等多久没数据关连接)

3.修改/proc/sys/net/ipv4/目录下的tcp_retries2文件为4,别重发15次了,一般也用不了这么多

Tomcat并发优化、内存配置、垃圾回收、宕机预防 Tomcat并发优化、内存配置、垃圾回收、宕机预防 目录 Tomcat并发优化、内存配置、垃圾回收、宕机预防 目录 序言 一、Tomcat并发优化 (1) tomcat并发参数 (2) tomcat并发配置 二、Tomcat内存配置 (1) tomcat内存参数 (2) tomcat内存配置 三、Tomcat垃圾回收 (1) JVM中对象的划分及管理 (2) jvm垃圾搜集参数... 阅读详情

相关推荐

通过一次生产case深入理解tomcat线程池

最近生产上遇到一个case,终于想明白了原因,今天周末来整理一下 生产case 最近测试istio mesh的预热功能(调用端最小连接数原则) 来控制调用端进入k8s刚扩出来的容器的流量 因为刚启动的JVM解释执会导致慢请求,如果不控制流量会导致cpu突然飙升等带来的一系列连锁反应! 表像这里我借用github上有个哥们的相类似提问: image 翻译一下: 首先突发流量导致线程突然上升到最大线程(800), 流量下来后还在工作的线程(busy threads)线程就下降到了 10,

lyl54545的博客 377

tomcat连接超时

tomcat连接超时 tomcat7的请求不会超时,tomcat7不会主动断开跟客户端的链接。 connectionTimeout 默认值 60s 在接受连接之后等待的请求URI的毫秒数。 标准server.xml将其设置为20000(即20秒),-1来表示无(即无限)超时。 keepAliveTimeout 默认值 connectionTimeout设置的值 在关闭连接之

张永光的博客 3万+

SpringBoot项目后台接口设置超时时间并发数

1 前期调研 大部分文章都提到以下两个配置spring.mvc.async.request-timeout和server.tomcat.connection-timeout,实测不能达到效果。 考虑spring/tomcat本身是否有相关配置,翻阅了官方文档和源码,理解如下: 对于同步接口,暂时没有(没找到)超时时间配置。 对于异步接口,有超时时间配置(具体往下看spring.mvc.async.request-timeout)。 下方列了两个大部分文章都提到的配置项描述、使用方式,...

码灵的博客 3687

实测Tomcat的几个参数

简单测试一下Tomcat参数

学习笔记 4480

TPAMI审稿人关注什么

写在开头:被tpami接收大概是每个cs er最开心的事情吧!今天阅读TPAMI的文章时,发现有扩刊的文章,也有不是扩刊的文章,那么这两类文章哪个更容易被接收呢?

carlous0的专栏 1684

pandas,构造MultiIndex的四种方法:from_tuples、from_arrays、from_product、from_frame

1、from_tuples:通过 “元组对” 构造MultiIndex """ 一对元组,为一个索引 """ tuples = [(1, 'red'), (1, 'blue'), (2, 'red'), (2, 'blue')] pd.MultiIndex.from_tuples(tuples, names=('number', 'color')) 2、from_arrays:通过 “列表元素的组合” 构造MultiIndex """ 列中表的元素,按位置 对应组合,形成索引 """ arrays

jieru_liu的博客 5384

聊聊tomcat的connection-timeout

AbstractProtocol将timeout设置到endpoint/***/} else {AbstractEndpoint将timeout设置到socketProperties的soTimeout,另外它的getKeepAliveTimeout方法在keepAliveTimeout为null的时候,使用的是getConnectionTimeout。

go4it 2637

全桥LLC谐振变换器变频控制工作原理与仿真

全桥LLC谐振变换器以其效率高、全范围软开关、器件电应力小等优点,越来越多地应用于大功率场合。电力电子技术的发展日益追求高频化,所带来的问题是半导体开关器件高频运行时的开关损耗急剧增加。各种软开关电路随之出现。可以有效减小开关损耗,使进一步提高开关频率成为可能。谐振式开关因其可在电流自然过零点开通半导体器件,实现零电压开关,特别适合采用MOSFET作开关的装置。最简单的谐振电路有串联谐振(SRC)和并联谐振(PRC)。SRC只能工作于降压状态,应用受限;

晞子的技术札记 3060

Tomcat connectionTimeout问题定位处理

问题现象 在某个时刻,后端收到了平时4-6倍的请求(保密起见,略去产品和事件),在10分钟后居然没有请求可以接进来 问题原因 经过分析,首先,是后端服务器的线程池满了,线程池满的原因:1.server.xml中maxThread=512,导致超过512的之后的请求只能排队,等待有线程释放后,才能被处理;2.connectionTimeout配置为10000,这个配置导致建立一个socket连接后,...

weixin_34290352的博客 686

R语言使用caret包的confusionMatrix函数计算混淆矩阵、使用编写的自定义函数可视化混淆矩阵(confusion matrix)

R语言使用caret包的confusionMatrix函数计算混淆矩阵、使用编写的自定义函数可视化混淆矩阵(confusion matrix)

data+scenario+science+insight 3925

钉钉多维表格开发

从0到1完成钉钉多维表格开发SDK对接与实践案例。

沉修所长,勇逐新机;安而不怠,静而思变 3595

tomcat 7的Connector的connectionTimeout配置

同事将tomcat 7的的Connector的connectionTimeout配置为0,结果出现了如下的错误: 比较大的文件无法下载,下载一部分就停止了。日志监控中能看到下面的错误, net error CONTENT LENGTH MISMATCH ClientAbortException IOException  原来,connectionTimeout配置为0表示超时时间为...

点点滴滴 5430

量化交易:如何在QMT中运行Python策略并在VSCode中高效调试?

哈喽,大家好,我是木头左!

木头大左的博客 3757

tomcat请求超时错误问题

1,如图在tomcat的server.xml中,connectionTimeout=20000,20000单位ms,也就是20s,超过20s的请求都会报超时。 在web项目中遇到网络问题,下载文件超过20s会报这个错: 2,解决办法 网络问题无法更改的情况下,可以设置connectionTimeout的值,-1表示没有超时上限。 ...

felix 4938

【QT开发教程】使用Qt进行NFC编程

近场通信(NFC,Near Field Communication)技术广泛应用于现代设备中,例如智能手机、支付终端和门禁系统。Qt提供了一套完整的NFC模块,使开发者可以轻松地在应用程序中实现NFC功能。本文将介绍如何在Qt中进行NFC编程,包括基本概念、使用方法以及一些实际的示例。

科技改变人类,技术成就未来 1467

手把手教你学Simulink--逆变器场景:基于Simulink的单相全桥逆变器PWM控制仿真建模

本文介绍了使用Simulink和Simscape Electrical库进行单相全桥逆变器PWM控制仿真建模的详细步骤。主要内容包括:从创建Simulink项目、添加电力电子组件、构建逆变器模型,到设置参数、运行仿真和结果分析。重点讲解了逆变器核心模块的配置、PWM信号生成、负载建模等关键环节,并提供了优化改进建议。该指南适用于电力电子初学者,通过仿真可以帮助理解单相全桥逆变器的工作原理和PWM控制技术,为实际应用和算法开发提供基础平台。

MHD0815的博客 665

REST,GET方式中文传参,乱码,tomcat

因为post方式是正常的,所以和代码应该是没问题的。 找到tomcat的配置文件 apache-tomcat-7.0.70\conf下的server.xml<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443" URIEncoding="UTF-8"/>试下吧。

行者常至 2205

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

关于 Tomcat 的报错:ClientAbortException

为什么80%的码农都做不了架构师?>>> ...

weixin_34090643的博客 1112

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

tomcat 设置请求超时时间

可能有很多朋友和我一样,就是在开发过程中,碰到这样一个问题, 比如一个javabean或者是一个servlet需要执行特殊操作,这个操作可能要持续很就的时间,30分钟,这样, 这个时候,往往操作还没完成,请求就已经超时了,那要怎样才能延长这个请求时间呢, 其实可以设置tomcat中的server.xml来达到这个目的 找到Service下的Connector元素,在你需要访

2万+

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

windows下tomcat运行时出现java.io.IOException: 您的主机中的软件中止了一个已建立的连接

问题原因及解决:       在tomcat中出现这个错误是由于客户端在发送请求后,还没等服务器响应就断开了连接,有可能是因为网络原因,突然网断了,但是如果错误频繁出现的话,可能就是服务端的问题了。       tomcat中配置了一个连接超时时间connectionTimeout,如果在这个时间之后客户端还未得到服务器端的响应的话,就会主动断开连接,这样就会出现上述异常了,tomcat中默认的连...

一个抽风的女Ren的博客 1463

Tcp 连接出现大量ESTABLISHED连接

文章目录查看tomcat配置查看linux系统配置 特征: 1,连接进不去; 2,大量超时; 3,cpu彪高 netstat -n |grep 端口| awk '/^tcp/ {++y[$NF]} END {for(w in y) print w, y[w]}' CLOSE_WAIT 348 ESTABLISHED 1240 TIME_WAIT 5621 排查: 查看tomcat配置 <Executor name="tomcatThreadPool" namePrefix="wkApi-exec-

yxkong的专栏 4301

设置 TOMCAT 请求超时时间

可能有很多朋友和我一样,就是在开发过程中,碰到这样一个问题, 比如一个javabean或者是一个servlet需要执行特殊操作,这个操作可能要持续很就的时间,30分钟,这样, 这个时候,往往操作还没完成,请求就已经超时了,那要怎样才能延长这个请求时间呢, 其实可以设置tomcat中的server.xml来达到这个目的 找到Service下的Connector元素,在你需要访

imtiamin的专栏 8511

AJP链接的场合Tomcat线程过多的一种情况

用AJP链接Apache和Tomcat的关系的时候,可能会出现很多线程状态是WAITING的情况。 首先查看进程ID。 执行:JAVA_HOME/bin/jps  结果: 7894 Jps 23937 Bootstrap 把线程信息输入到txt文件中.其中23937是tomcat的进程ID 执行:JAVA_HOME/bin/jstack 23937 > threadinf

步行者的专栏 5649

Tomcat会话超时

可能有很多朋友和我一样,就是在开发过程中,碰到这样一个问题, 比如一个javabean或者是一个servlet需要执行特殊操作,这个操作可能要持续很就的时间,30分钟,这样, 这个时候,往往操作还没完成,请求就已经超时了,那要怎样才能延长这个请求时间呢, 其实可以设置tomcat中的server.xml来达到这个目的 找到Service下的Connector元素,在你需要访

larry_lv的专栏 672

Apache+Tomcat 负载实战调优记录

一般来说,按照网上提供的一些方法,将Apache和多个Tomcat通过jk连接,进行集群负载是没有什么大的问题的,但当访问量增加得比较大而且峰值持续时间较长时,默认的一些配置就不够用了。       今天亲身经历了这样一个过程,apache的最大连接数调到了4500,但都还不够用,一会就跑满了。而Tomcat这边压力却不大,同时,发现mod_jk.log里面有很多这样的错误记录:   

Amkio的专栏 886
上一篇: vsftpd版本引起的下载失败
下一篇: 无界队列导致内存耗尽问题一例
coder_xia
博客等级 码龄17年 151粉丝 143原创
评论 10
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值