记一次http访问超时服务器端调试

问题:http访问服务器时没有返回,没有超时,一直在阻塞

处理过程:telnet端口能连上,服务端程序也不存在处理时间过长的情况。

说明tcp连接没问题。推测是客户端连接后再发起请求,服务端阻塞了。因为很多客户端会设置连接超时时间,而不设置请求超时时间。

查看jvm情况可知服务器创建了很多http-nio-9993-exec-线程,推测存在太多为关闭的连接,超出了连接数上线。

这些线程都是空闲(WAITING (parking))状态,说明客户端未正常关闭,并且服务器设置了过长的超时时间。

解决方法:修改了保活超时时间

复制代码
server:
  port: 9993
  tomcat:
#    connection-timeout: 18000000
    connection-timeout: 20000 #连接超时时间
#    keep-alive-timeout: 20000 #长连接,请求完成后保活时间,默认connection-timeout
相关推荐
王二端茶倒水14 小时前
从千兆到万兆:宽带运营不能只卖套餐,要管用户生命周期从千兆到万兆:宽带运营需要管理用户生命周期
后端·网络协议·架构
extrao3 天前
🚀 Kea DHCP4 自动分配系统完整搭建
网络协议
喵个咪3 天前
Go-Wind HTTP 服务器从入门到精通
后端·http·go
不做菜鸟的网工5 天前
BGP特性
网络协议
明月_清风7 天前
开发者网络概念全扫盲:一篇搞定
后端·网络协议
刘马想放假7 天前
Modbus 全栈技术解析:TCP、RTU、ASCII、RTU over TCP
数据结构·网络协议
王二端茶倒水8 天前
一套可落地的无线运营方案,不能只管 AP,还要管用户、计费和运维
网络协议
162723816088 天前
EtherCAT 分布式时钟(DC)原理与配置实战:把多轴真正"对齐到同一时刻"
网络协议
王二端茶倒水9 天前
宽带无线项目,怎么从一次性交付变成长期运营收入?
网络协议