记一次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 小时前
ESP32S3的RGB屏幕漂移问题
网络
好运的阿财14 小时前
process 工具与子agent管理机制详解
网络·人工智能·python·程序人生·ai编程
周杰伦fans14 小时前
C# required 关键字详解
开发语言·网络·c#
洛水水14 小时前
深入理解网络编程核心:Reactor、IOCP 与异步 IO 模型详解
网络·iocp
favour_you___14 小时前
epoll惊群问题与解决
服务器·网络·tcp/ip·epoll
北方的流星14 小时前
华三网络设备的路由重定向配置
运维·网络·华三
.select.15 小时前
TCP 3
服务器·网络·tcp/ip
阿捏利15 小时前
详解网络协议(十六)UDP协议
网络·网络协议·udp
芯智工坊15 小时前
第13章 Mosquitto监控与日志管理
前端·网络·人工智能·mqtt·开源
派大星酷15 小时前
Cookie、Session、Token、JWT 原理 + 流程 + 区别 + 实战
java·网络