A君 2015/10/11 17:53:29
是代码问题吗
天天如此,持续了四个礼拜了,依然定位不出问题
不积跬步无以至千里的真实 2015/10/11 17:54:19
还是先检查下app端代码
app 很容易 出现这个
A君 2015/10/11 17:55:14
我不是开发的呀
一般是什么问题造成的
我 2015/10/11 17:56:15
客户端是Android和ios都有吗
有时候和客户端网络框架有点关系
http://my.oschina.net/httpssl/blog/506263
你看下这篇
A君 2015/10/11 17:57:48
我先看看,不明白的地方再请教
研发经理说是安卓客户端可能会有问题,是这样吗
我 2015/10/11 17:58:23
你看完我这个博客
我那次帮别人看的 就是app端有问题
我 2015/10/11 18:02:49
看完了么
A君 2015/10/11 18:03:32
还没
我 2015/10/11 18:05:26
恩,好好看吧
A君 2015/10/11 18:06:29
Too Many Open Files 这个异常,从哪里看
我 2015/10/11 18:06:47
这是文件句柄
一般也看不见
出问题了才能看见
A君 2015/10/11 18:08:51
你说的 sysctl 参数问题
我把我服务器上的配置贴出来给你看看
net.ipv4.tcp_keepalive_time = 90
net.ipv4.tcp_keepalive_probes = 3
net.ipv4.tcp_keepalive_intvl = 10
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_fin_timeout = 1
我 2015/10/11 18:09:41
sysctl 参数问题
从网上找的
你自己查查每个配置的意义把
A君 2015/10/11 18:10:33
我查过了,除了最后一个不是很明白
net.ipv4.tcp_fin_timeout 能否给我解释下
我 2015/10/11 18:10:46
最后1个是tcp握手的
你再查查tcp3次握手
A君 2015/10/11 18:11:01
这个设成1 合算吗
我 2015/10/11 18:13:43
这个单位是秒
感觉1秒有点短呀
A君 2015/10/11 18:16:40
对方关闭连接之后服务器程序自己没有进一步发出ack信号---- 比如用户通过手机APP端访问后面的服务端程序。是指客户端关闭连接,服务端的程序没有发给客户端ACK信号吗?
我 2015/10/11 18:21:46
是指 客户端 的连接异常中断
服务器又没有获知到
服务端根本联系不上app端了
A君 2015/10/11 18:23:43
那应该是服务端的代码问题咯?
我 2015/10/11 18:24:03
也不能这么说
客户端关闭了,但是服务端不知道客户端关闭了
理解吗
我 2015/10/11 18:24:52
客户端要关闭的时候,Client?--->?FIN?--->?Server
服务端 收到后,会告诉客户端说我知道了,你关吧Client?<---?ACK?<---?Server
A君 2015/10/11 18:25:45
客户端成功发送了FIN请求,服务端的ACK请求没有发出来,是吧
我 2015/10/11 18:25:56
恩
因为服务端可能都不知道
我为啥要发ACK
可能都没有收到fin
发了不一定能收到
A君 2015/10/11 18:28:17
但是,如果没有收到FIN的话,服务端就不会出现CLOSE_WAIT吧
我 2015/10/11 18:28:43
那就是 客户端已经 没有在连接上了
A君 2015/10/11 18:29:07
确实是不会出现CLOSE_WAIT吧
我 2015/10/11 18:29:17
?
A君 2015/10/11 18:29:41
客户端没有发送FIN请求,服务端是不会出现CLOSE_WAIT的,是这样吧
我 2015/10/11 18:29:54
是
我 2015/10/11 18:31:47
服务收到了,客户端已经不再 信号范围内
A君 2015/10/11 18:31:53
那就是服务端收到了FIN请求,没有发送ACK回去 也就是服务端代码的问题咯?
我 2015/10/11 18:31:58
客户端收不到了,服务端就一直在那等
因为tcp是可靠的
A君 2015/10/11 18:33:02
恩~ 那我感觉有多了点思路,抓包看下服务端有没有发回ACK请求,如果发回了ACK,那就不是服务端的问题
我 2015/10/11 18:33:17
我也是
哈哈
A君 2015/10/11 18:33:20
如果发回了,还是CLOSE_WAIT,那就是客户端的问题,或者客户端的IP变化了
可能是我们HAPROXY的负载策略没做好?
感觉有多了点思路
tcp_close_wait 语录
原文:http://my.oschina.net/httpssl/blog/522813