127.0.0.1:6379> info
…# Clientsconnected_clients:10002…复制代码
此时, 连接已经被全部占满了.
将全部客户端信息保存到文件准备抓出这个搞事情的老哥.
127.0.0.1:6379> client list
id=7863 addr=172.18.0.104:56836 fd=6150 name= age=72 idle=72 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=0 obl=0 oll=0 omem=0 events=r cmd=pingid=7864 addr=172.18.0.50:56262 fd=6151 name= age=72 idle=72 flags=N db=9 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=0 obl=0 oll=0 omem=0 event Java开源项目【ali1024.coding.net/public/P7/Java/git】 s=r cmd=pingid=7865 addr=172.18.0.104:56840 fd=6152 name= age=72 idle=72 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=0 obl=0 oll=0 omem=0 events=r cmd=ping…
tips:
client list: 列出全部客户端信息.
第三步 找出异常IP
有了全部的客户端连接信息, 就能找出到底是谁的锅了. 使用命令输出连接数前五的IP:
$ cat client-list 《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》开源 | awk ‘{print $2}’ | awk -F “[=:]” ‘{print $2}’ | sort | uniq -c | sort -k1,1nr | head -5
5432 172.18.0.504244 172.18.0.104 43 172.18.0.59 40 172.18.0.54 32 172.18.0.55
到目前为止, 锁定了172.18.0.50和172.18.0.104两个IP. 这两个都是docker内部网络的地址.
tips:
awk '{print $2}: 输出第二列, 即IP. addr=172.18.0.104:56836.
awk -F “[=:]” ‘{print $2}’: 通过等号和冒号拆分addr=172.18.0.104:56836, 并输出中间的IP.
sort: 排序.
uniq -c: 统计数量并在每列旁边显示该行重复出现的次数.
第四步 定位服务并把锅扔过去
拿到了IP就离目标不远了, 通过docker inspect能输出docker实例的信息, 其中就包括IP.
$ docker inspect --format=’{{.Name}} - {{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}’ $(docker ps -aq) | grep 172.18.0.50
/docker_xxxxx-service - 172.18.0.50$ docker inspect --format=’{{.Name}} - {{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}’ $(docker ps -aq) | grep 172.18.0.104/docker_yyyyy-service - 172.18.0.104
学习分享,共勉
这里是小编拿到的学习资源,其中包括“中高级Java开发面试高频考点题笔记300道.pdf”和“Java核心知识体系笔记.pdf”文件分享,内容丰富,囊括了JVM、锁、并发、Java反射、Spring原理、微服务、Zookeeper、数据库、数据结构等大量知识点。同时还有Java进阶学习的知识笔记脑图(内含大量学习笔记)!
资料整理不易,读者朋友可以转发分享下!
Java核心知识体系笔记.pdf
中高级Java开发面试高频考点题笔记300道.pdf
架构进阶面试专题及架构学习笔记脑图
Java架构进阶学习视频分享
图片转存中…(img-m3FfwkGk-1650349741860)]
架构进阶面试专题及架构学习笔记脑图
[外链图片转存中…(img-EcAm4GGM-1650349741860)]
Java架构进阶学习视频分享