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

159 天前
 langhuishan

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

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

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

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

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

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

© 2021 V2EX