记一次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
相关推荐
一只旭宝9 小时前
Linux专题八:生产者消费者,读写者模型以及网络编程
linux·网络
代码游侠9 小时前
复习——网络基础知识
网络·笔记·网络协议·算法·http
wregjru9 小时前
【C++】2.4 map和set的使用
网络·网络协议·rpc
蒜丶9 小时前
基于 frp 0.65 tcp 模式,实现web服务&ssh服务内网穿透
网络
Kiyra10 小时前
LinkedHashMap 源码阅读
java·开发语言·网络·人工智能·安全·阿里云·云计算
A132470531210 小时前
防火墙配置入门:保护你的服务器
linux·运维·服务器·网络
计算机小手11 小时前
Kong + Konga 网关入门实践:Docker 部署、反向代理与插件使用指南
运维·经验分享·网络协议·docker·kong·开源软件
汪碧康11 小时前
【k8s-1.34.2安装部署】六.企业级部署cilium-1.18.4网络插件
网络·云原生·容器·kubernetes·k8s·cilium·xkube
博语小屋11 小时前
TCP:协议、序列化与反序列化、JSON 数据和jsoncpp
linux·网络·网络协议·tcp/ip·json