开发者社区> 问答> 正文

Tomcat的无法响应数据? 400 报错

Tomcat的无法响应数据? 400 报错

Tomcat中的应用可以处理请求,但是无法将数据返回给发起请求方,日志没有任何异常。查看Tcp连接,发现有280个处于CLose_wait状态,这是什么情况

展开
收起
爱吃鱼的程序员 2020-06-05 13:11:36 580 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    这个问题应该是当天Tomcat请求数太多,处理不过来,接收到的请求一直在队列中等待处理,而对方设置10秒超时就close掉连接,等Tomcat处理完了之后,发现找不到返回的路,所以就会出现很多处于close_wait的tcp连接。

    处理方案:1、第一次处理,Tomcat配置KeepAliveTimeOut设为30秒,让Tomcat自动断开连接,,第二天发现有段时间,响应仍然无法及时响应,但是过一段时间查看tcp连接发现又少了些处于close_wait的连接,此时响应正常,但是这不排除这段时间的请求数减少所带来的结果。

    2、第二次处理,原先的Tomcat使用的配置,都是默认的,没有修改过,考虑到出现这种问题可能是并发数量所带来的影响,所以在第一次处理的基础上加大了maxThread的数量,这两天一直在监控服务的运行情况,发现一直都很正常。

    这是我遇到问题的处理方案,希望有遇到同等情况可以借鉴参考,毕竟问题千差万别,试用我的,未必适用其他人。

    ######

    tomcat前面有nginx之类的代理么?确认下tomcat、nginx的超时时间,可能会主动断开连接

    2020-06-05 13:11:51
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Apache Tomcat 的云原生演进 立即下载
《Nginx 代理系统常用手册》 立即下载
低代码开发师(初级)实战教程 立即下载