代码之家  ›  专栏  ›  技术社区  ›  Jindra

PDO建立到Azure PostgreSQL的连接非常慢

  •  1
  • Jindra  · 技术社区  · 6 年前

    Azure PostgreSQL . 这导致延迟显著增加,从250ms以下增加到1500ms以上。

    PDO constructor

    • 我试着用IP代替地址,但速度还是很慢。
    • 我尝试使用DNS解析 bind-tools 而且很快。
    • 我尝试在客户端和服务器上要求/禁用SSL模式
    • 我试着在一个已经建立的连接中反复运行“select1”,速度很快(平均1.2ms,中位数0.9ms)(见下面的完整查询)

    如何进一步调试/调查此问题?


    用于尝试连接的psql命令:

    psql "sslmode=disable host=host dbname=postgres user=user@host.postgres.database.azure.com password=password" -c "select 1"
    

    \timing 
    SELECT;
    \watch 1
    
    1 回复  |  直到 6 年前
        1
  •  1
  •   Jindra    6 年前

    据我所知,这是由PostgreSQL之上的特定于Azure的身份验证引起的。不幸的是,Azure支持无法从他们这边提供帮助。

    使用连接池( PgBouncer )解决了这个问题。这是我们必须维护的另一个基础设施(docker文件、config/secret管理等),我们希望将其外包给云提供商。