当前位置: 首页 > Linux

Redis连接未释放,造成TCP连接数过多

时间:2023-04-07 01:34:24 Linux

Redis连接没有释放,导致TCP连接过多可以提前知道有问题,早点解决,以免后面引起一系列的问题,甚至拉垮服务器。查看登录服务器,查看TCP连接数,如下[root@app01]#netstat-n|awk'/^tcp/{++S[$NF]}END{for(ainS)printa,S[a]}'SYN_RECV1ESTABLISHED8591FIN_WAIT236SYN_SENT2TIME_WAIT85netstat详细命令,转载一篇上一篇文章是很详细,这里就不介绍了。当时的TCP连接数是5000多。下面是后面连接数增加的截图。那么我想知道是什么服务创建了这些连接?可以看到通过tcpsocket建立的连接端口。截取的部分如下[root@app01]#netstat-antlptcp00iZbp147cv:afs3-prserveriZbp147cvofre8yt7:47204ESTABLISHED6541/./redis-servertcp00iZbp147cv:afs3-callbackiZbp147cvofre8yt7:46618ESTABLISHED/6redis450-servertcp00iZbp147cvofre8yt7:42628iZbp147cv:afs3-callbackESTABLISHED27325/javatcp00iZbp147cv:afs3-callbackiZbp147cvofre8yt7:40318ESTABLISHED6540/./redis-servertcp00iZbp147cvofre8yt7:54024iZbp147cv:afs3-prserverESTABLISHED27325/javatcp00iZbp147cv:afs3-prserveriZbp147cvofre8yt7:33924ESTABLISHED6541/./redis-servertcp00iZbp147cvofre8yt7:48902kafkaServ:afs3-prserverESTABLISHED27325/javatcp00iZbp147cvofre8yt7:52654kafkaServ:afs3-prserverESTABLISHED12753/javatcp00iZbp147cvofre8yt7:56148iZbp147cv:afs3-prserver已建立27325/javatcp00iZbp147cvofre8yt7:46952redisServ:afs3-prserverESTABLISHED27325/javatcp00iZbp147cvofre8yt7r:http180.175.27.94:56713TIME_WAIT-tcp00iZbp147cvofre8yt7:43484redisServ:afs3-prserverESTABLISHED27325/javatcp00iZbp147cv:afs3-callbackiZbp147cvofre8yt7:39678ESTABLISHED6540/./redis-servertcp00iZbp147cv:afs3-prserveriZbp147cvofre8yt7:38570ESTABLISHED6541/./redis-servertcp00iZbp147cvofre8yt7:37096redisServ:afs3-prserverESTABLISHED27325/javatcp00iZbp147cvofre8yt7:47764redisServ:afs3-prserverESTABLISHED27325/javatcp00iZbp147cvofre8yt7:34100redisServ:afs3-prserverESTABLISHED27325/javatcp00iZbp147cvofre8yt7:59924kafkaServ:afs3-prserverESTABLISHED5299/javatcp00iZbp147cv:afs3-保存riZbp147cvofre8yt7:59626ESTABLISHED6541/./redis-servertcp00iZbp147cv:afs3-prserveriZbp147cvofre8yt7:47298ESTABLISHED6541/./redis-server统计数据[root@app01]#netstat-antlpabreshe|grep-iest“7021"|wc-l8600发现大多数建立的ESTABLISHED连接都是java和redis之间的TCP连接,那么为什么建立了这么多连接呢?于是又看了看监控,流量正常,并没有突然出现大流量流入。很有可能是TCP连接没有释放,找开发者查了下代码。果然有办法拿到redis的key,就是没有close。修改代码后重新运行,然后检查TCP连接[root@app01]#netstat-n|awk'/^tcp/{++S[$NF]}END{for(ainS)printa,S[a]}'CLOSE_WAIT1ESTABLISHED792FIN_WAIT12FIN_WAIT233CLOSING1SYN_SENT2TIME_WAIT115到这里,问题就解决了。最后提一个小问题,希望可以帮助遇到同样问题的同学~~

最新推荐
猜你喜欢