V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
langhuishan
V2EX  ›  问与答

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

  •  
  •   langhuishan · 166 天前 · 1412 次点击
    这是一个创建于 166 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    10 条回复    2024-07-17 11:24:23 +08:00
    a663
        1
    a663  
       166 天前
    猜测是网络原因
    走主机 IP 时,会先走交换机转一圈,再从主机网卡连接
    走 127.0.0.1 直接就是 lo 网卡
    djangovcps
        2
    djangovcps  
       166 天前
    mysql 有个配置,改下
    tsingkong
        3
    tsingkong  
       166 天前
    禁用 ipv6 试试?
    263
        4
    263  
       166 天前   ❤️ 1
    skip_name_resolve
    julyclyde
        5
    julyclyde  
       165 天前
    @a663 那不可能
    IvanLi127
        6
    IvanLi127  
       165 天前
    机房断电,难道路由配置丢了?
    zxyong
        7
    zxyong  
       165 天前   ❤️ 1
    同意 @263 的说法,可能和名字反向解析有关。之前连接局域网的 ftp 服务器也很慢,查了下和 DNS 反向解析有关。
    https://www.adamfei.com/dns-reverse-resolution-led-to-the-slower-network-connection/
    skuuhui
        8
    skuuhui  
       165 天前
    traceroute 一下
    killva4624
        9
    killva4624  
       165 天前
    tcpdump 抓个包,再把 logger 改成 debug ,看看就知道哪个过程了。
    julyclyde
        10
    julyclyde  
       164 天前
    @IvanLi127 那不可能
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2578 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 11:15 · PVG 19:15 · LAX 03:15 · JFK 06:15
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.