pymysql 使用实际 ip 创建连接要 10 秒,换成 127.0.0.1 后秒连。

2024-07-15 17:11:54 +08:00
 langhuishan

早上机房断电,重启之后有个 python 写的服务非常卡,图片出来要 10 多秒,原来一直正常的,又重启了几次,还是如此。断点查了下,发现是在 pymysql 创建连接时候卡住了,代码上用的是 mysql 主机真实 ip ,想着试下换成本地 ip 看看,没想到居然好了。但是用其他服务器去连接时,还是非常卡。 有大佬知道具体原理不?

1717 次点击
所在节点    问与答
10 条回复
a663
2024-07-15 17:21:30 +08:00
猜测是网络原因
走主机 IP 时,会先走交换机转一圈,再从主机网卡连接
走 127.0.0.1 直接就是 lo 网卡
djangovcps
2024-07-15 17:37:49 +08:00
mysql 有个配置,改下
tsingkong
2024-07-15 17:41:24 +08:00
禁用 ipv6 试试?
263
2024-07-15 17:50:01 +08:00
skip_name_resolve
julyclyde
2024-07-15 21:13:00 +08:00
@a663 那不可能
IvanLi127
2024-07-15 21:26:25 +08:00
机房断电,难道路由配置丢了?
lumia1020
2024-07-15 23:33:53 +08:00
同意 @263 的说法,可能和名字反向解析有关。之前连接局域网的 ftp 服务器也很慢,查了下和 DNS 反向解析有关。
https://www.adamfei.com/dns-reverse-resolution-led-to-the-slower-network-connection/
skuuhui
2024-07-16 09:25:10 +08:00
traceroute 一下
killva4624
2024-07-16 10:01:46 +08:00
tcpdump 抓个包,再把 logger 改成 debug ,看看就知道哪个过程了。
julyclyde
2024-07-17 11:24:23 +08:00
@IvanLi127 那不可能

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

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

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

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

© 2021 V2EX