线上遇到某个kafka集群中的某个broker的network线程的Idle远远低于其他的broker,查看监控是由于其网络连接较高导致,以下是分析思路和过程
网络连接监控视图
查看tcp连接统计
$ netstat -t -n |grep -oP '\w+\s*$'|sort |uniq -c
2620 ESTABLISHED
1 State
219 TIME_WAIT
$ ss -s
Total: 5066 (kernel 0)
TCP: 4773 (estab 2781, closed 1977, orphaned 0, synrecv 0, timewait 219/0), ports 0
Transport Total IP IPv6
* 0 - -
RAW 0 0 0
UDP 6 6 0
TCP 2796 2796 0
INET 2802 2802 0
FRAG 0 0 0
发现有一半的连接都关闭状态,所以有频繁的关闭连接操作
查看服务侧每秒的连接数建立情况,发现每秒都有数个被动建立的连接,说明客户端每秒都有建连需求;这里有两个问题
1、为什么会有这么多的关闭连接操作
2、访问kafka的生产者和消费者都是常驻服务,为什么会有频繁建连的操作
先分析第一个问题
随机对连接数比较高的一个客户端ip 抓包看了