记一次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
相关推荐
一晌小贪欢几秒前
Python 健壮性进阶:精通 TCP/IP 网络编程与 requirements.txt 的最佳实践
开发语言·网络·python·网络协议·tcp/ip·python基础·python小白
zhojiew10 分钟前
关于envoy的基础概念组件构成和示例配置笔记整理
服务器·网络
一名爱学习的ikun15 分钟前
No physical port available for the line(s):aux1-aux4
网络
啊阿狸不会拉杆16 分钟前
《机器学习》第 8 章 - 常用深度网络模型
网络·人工智能·深度学习·机器学习·ai·cnn·ml
恒拓高科WorkPlus23 分钟前
BeeWorks SDK即将上线:快速构建企业级安全通讯体系
网络·人工智能·安全
“αβ”33 分钟前
UDP与TCP的区别
linux·运维·服务器·网络·网络协议·tcp/ip·udp
天上飞的粉红小猪35 分钟前
应用层自定义协议与序列化
运维·服务器·网络
Godspeed Zhao1 小时前
现代智能汽车中的无线技术36——V2X(8)
网络·汽车
张柏慈1 小时前
TCP/IP协议栈:从原理到实战全解析
网络
Y1rong1 小时前
STM32之串口(一)
网络·stm32·嵌入式硬件