请问某个进程 LISTEN 端口对应的 TCP 的半连接队列(SYN Queue)和全连接队列(Accept Queue)的中积压的数据在哪能看到?

2021-05-12 15:33:02 +08:00
 zhoudaiyu

半连接队列或者全连接队列积压了,我想知道积压的是哪些数据,要是能知道是哪个客户端发起的连接积压了就更好了。大家有办法吗?

1235 次点击
所在节点    Linux
11 条回复
wellsc
2021-05-12 15:38:52 +08:00
ss
zhoudaiyu
2021-05-12 17:33:50 +08:00
@wellsc #1 看不到是哪个连接导致的吧,只能看整体的积压情况,netstat 倒是能看每个连接的,但是看到的积压的数据大小
liuxu
2021-05-12 22:28:14 +08:00
抓内核数据,用 systemtap,但实际上二进制的东西给你你也没法看,3/4 层的数据你要看除非你解析成 7 层的
zhoudaiyu
2021-05-12 22:39:22 +08:00
@liuxu #3 我想试试看…脚本就是我的另外一个帖子里发的那个 cloudflare 的脚本吧?
liuxu
2021-05-13 14:23:05 +08:00
@zhoudaiyu 对,其实我觉得你钻错地方了,你应该是分析 apache 进程,而不是系统队列。系统队列阻塞只是个现象,导致这个现象的原因是 apache 没有快速消费

分析 apache 为什么卡住可以用 strace 或者 sysdig 分析 event
zhoudaiyu
2021-05-13 14:48:37 +08:00
@liuxu #5 您说的 sysdig 这个命令是 https://github.com/draios/sysdig 这个 sysdig 吗?
liuxu
2021-05-13 17:44:43 +08:00
@zhoudaiyu 是的
zhoudaiyu
2021-05-13 20:40:28 +08:00
@liuxu 这个好强大,感觉比手写 stap 好不少
liuliancao
2021-05-14 08:38:09 +08:00
tcpdump 抓包可以么...
hasdream
2021-05-14 11:09:31 +08:00
eBPF
zhoudaiyu
2021-05-14 22:15:04 +08:00
@liuliancao #9 抓了 看不出啥。。。看了一下还是和 apache 本身有点关系
@hasdream #10 内核是 2.6 的。。。都点低

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/776505

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX