langhuishan
V2EX  ›  问与答

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

  •  
  •   langhuishan · Jul 15, 2024 · 2200 views
    This topic created in 679 days ago, the information mentioned may be changed or developed.

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

    10 replies    2024-07-17 11:24:23 +08:00
    a663
        1
    a663  
       Jul 15, 2024
    猜测是网络原因
    走主机 IP 时,会先走交换机转一圈,再从主机网卡连接
    走 127.0.0.1 直接就是 lo 网卡
    djangovcps
        2
    djangovcps  
       Jul 15, 2024
    mysql 有个配置,改下
    tsingkong
        3
    tsingkong  
       Jul 15, 2024
    禁用 ipv6 试试?
    263
        4
    263  
       Jul 15, 2024   ❤️ 1
    skip_name_resolve
    julyclyde
        5
    julyclyde  
       Jul 15, 2024
    @a663 那不可能
    IvanLi127
        6
    IvanLi127  
       Jul 15, 2024
    机房断电,难道路由配置丢了?
    lumia1020
        7
    lumia1020  
       Jul 15, 2024   ❤️ 1
    同意 @263 的说法,可能和名字反向解析有关。之前连接局域网的 ftp 服务器也很慢,查了下和 DNS 反向解析有关。
    https://www.adamfei.com/dns-reverse-resolution-led-to-the-slower-network-connection/
    skuuhui
        8
    skuuhui  
       Jul 16, 2024
    traceroute 一下
    killva4624
        9
    killva4624  
       Jul 16, 2024
    tcpdump 抓个包,再把 logger 改成 debug ,看看就知道哪个过程了。
    julyclyde
        10
    julyclyde  
       Jul 17, 2024
    @IvanLi127 那不可能
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2826 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 53ms · UTC 15:21 · PVG 23:21 · LAX 08:21 · JFK 11:21
    ♥ Do have faith in what you're doing.