0%

redis网络连接数异常

最近因为redis服务的利用率越来越高,于是对redis的监控也更加细致上来。 但是昨天发现有一台机器上的连接的client都是几个月前做的备用网络的client,而这些client居然居然一直都没有断。 redis1 而10.2这个网段也关了快3个月了,怎么上面还有连接呢。首先感觉是tcp的问题,不会是ESTABLISHED的时间设置的太长了吧。于是用systcl看了下,可也很正常啊。默认记得是2天,我初始化一般都是5分钟的。可这都几个月了也不太正常啊。 redis-tcp-timeout 于是想到直接给这些ESTABLISHED连接发送RST信号。找了2个工具cutter和tcpkill, 可也都没有效果。 redis-cutter redis2 搞了半天发现redis的连接数还是这样啊,一点都没有减少啊。那在ip conntrack表里总能找到吧,结果一样是没有。 redis3 于是想到这个应该是redis自己的问题,因为我记得只有到了2.6以后的版本redis才有了tcp timeout这样的设置,而我们最早这批redis还是2.4 版本的,自然没有这些控制。 于是用redis-cli进去查,果然通过client list就把那些10.2.x.x的IP和端口都列出来了,然后写了个shell就用client kill全给灭了。 虽然是都灭了,用netstat -an查看也正常了。 可这个算是tcp连接假死吗? 这个还不追查了,尽快升级版本吧。

  • 本文作者: Timo
  • 本文链接: 5671.html
  • 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!