回答
收藏
分享
举报
虚心求教,什么情况会导致netstat回显中的Recv-Q异常增加、nginx不给客户端回消息?
提问于2024-03-13 22:25

浏览 1.7k

文章标签


使用nginx版本:nginx-1.20.1-1.ngx.fsv2r10.aarch64

关键的conf文件中配置:

stream {

upstream xxxxx0 {

server <服务器的ip>:<服务器的端口>;

}

server {

listen <监听的ip>:<监听的端口> udp;

proxy_pass xxxxx0;

}

}

一开始对接成功,一段时间没有注意后,发现nginx转发失败,定位发现

netstat -anlup | grep nginx的回显如下:

------------------------

Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name

udp   213504      0  <监听的ip:端口>           <服务器的ip:端口>         ESTABLISHED <nginx的pid>/nginx: worke

-------------------------

Recv-Q接受队列数量非常多,抓包发现服务器有给nginx回复包,但是nginx没有回复给客户端。初步认为是因为这个连接卡住,无法处理。手动调用其他端口发现能建立新的连接、请求回复正常。


虚心求教为什么情况会导致nginx连接的Recv-Q数量会如此多、导致请求异常?

已修改于2024-03-13 22:25



写下您的回答
发表回答
全部回答(0)

按点赞数排序

按时间排序

提问者
1650768kogv
这家伙很懒还未留下介绍~
0
文章
1
问答
0
粉丝
相关问答

options请求?需要跨域访问? 

点赞 0
浏览 8.7k

sticky模块只能在linux下吧,win下没有。tomcat好像有个session复制吧,或者可以用共享session。

点赞 0
浏览 8.5k

没办法完全不受影响的,因为mirror是子请求,当子请求未结束时,主请求消耗的内存至少是无法释放的。你可以尝试在/mirror里,把超时时间大幅度调低,包括connect/read/send,再压下看看。

点赞 0
浏览 11.3k