记一次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
相关推荐
噠噠噠@19 分钟前
HCIE-day9-OSPF
网络·网络协议·计算机网络
深圳启明云端科技1 小时前
ESP-IDF HTTP POST请求发送音频-ESP32物联网方案
物联网·http·音视频
hunandede2 小时前
Ubuntu网络配置(桥接模式, nat模式, host主机模式)
网络·ubuntu·桥接模式
wellnw3 小时前
[Router]路由器常用的后台判断网络ping 可靠公共 IP 地址整理
网络
廿二又3 小时前
http 请求总结get
网络·网络协议·http
Vin0sen3 小时前
xiaomiR4c openwrt
网络
_oP_i3 小时前
.NET Core工程中appsettings.json的HTTP和HTTPS端口是否能一样?
http·json·.netcore
是小崔啊3 小时前
开源轮子 - HTTP Client组件
网络协议·http·开源
亚远景aspice3 小时前
亚远景-ISO 21434标准下的汽车网络安全测试:全面要求与实施策略
网络·web安全·汽车
忘川8563 小时前
以太网帧结构
网络·物联网·网络协议