事情描述: 用 python 写了一个程序.会连接 mysql,但是只有在我家的网络下会发生一个 timeout. 这个 timeout 不是立刻发生的,据观察周期性大概 5-7 分钟就会发生. 用 wireshark 看了下 tcp 的 keep live 包正常接收和发送, 但是当执行 sql 的时候就会触发 retransmission 连续 retransmission 五次后 python 内等不到回应,就报了 timeout. 神奇的地方就在于 这个程序只在我家的网络下有这个问题. win/mac/linux 都有. 不晓得为啥会发生这种情况. 期间怀疑是移动网络问题,叫过移动师傅给换了个光猫. 后面接的 TL-R498GPM-AC[默认配置] 网线直通/wifi 都会触发这个问题 有没有老哥遇到过这种类似的问题?
1
pagxir 259 天前 via Android
没错,就是你网络环境有问题。更换整个网络路径经历的节点去排查把
|
2
molika OP @pagxir #1 家里网络
光猫->AC->windows/linux[网线|wifi] 光猫->AC->AP>mac[wifi] 都有这种情况. 现在没法确定出问题的节点到底在哪 为啥会出现 retransmission 有没有类似排查的教程/工具推荐呢? 自己搜索了下,没有找到相关继续排查的相关资料.所以来 v2 问问老哥门. |
4
molika OP 光猫 / 桥接 都会有这个问题.
|
5
tool2d 259 天前
手写一个透明代理,记录一下所有的 mysql tcp 流量,排查一下数据包收发是否正常。
光猫/路由器有可能出问题,但是你 5-7 分钟大概率发生的情况,也太有规律了。感觉更像是代码的问题。 |
6
molika OP @tool2d #5 在其他网路下都没发生过这种问题.
这个代码已经稳定跑了 3 年多了. 在服务器/其他网络下都很稳定. 晚上回家先直通光猫 在换个其他语言连接下这个数据库观下. 5-7 分钟周期性的确太强了 但是有时候也会波动一些. 目前只想到了上面的排查方法 透明代理我去研究下看看 |
7
lcy630409 259 天前
你这老找自家网络的问题干啥
你都有 t 子了 在家用梯子试一下不就知道了 |
8
Z2 259 天前
换 ap
|
10
FabricPath 258 天前
看上去是 MTU 的问题
|
11
FabricPath 258 天前
你看看重传的包是不是都是大包
|
12
FabricPath 258 天前
你最好直接上传双端的 pcap ,现在这个描述挺抽象的,比如 retrans 是发生在 client 端还是 server 端
|
13
molika OP @FabricPath #11 不大 就是简单的 sql 语句
|
14
molika OP @FabricPath #12 目前只是看的 server 端 retrans sql 语句 收不到回复 晚上我在试一试,把 pcap 传上来
|
16
molika OP @FabricPath #10 同一个查询 开始是可以的 后面就 retrans 了 .
|
17
molika OP 从移动网络换成了联通,还是有这个问题.
直接连接光猫也有这个问题. 准备换一下电信在试一试. |