美文网首页PostgreSQL
关于PgPool客户端阻塞

关于PgPool客户端阻塞

作者: 遥想公瑾当年 | 来源:发表于2017-05-05 10:47 被阅读133次

    最近遇到一个PgPool连接阻塞问题,PgPool刚开启是能成功连接的,过段时间就连接不上了。查看PgPool日志,启动成功,连接数据库节点成功,健康检查成功。然后怀疑是并发数过多导致阻塞。
      一开始,更改了pgpool.conf的max_pool,num_init_children参数然后重启,结果仍然阻塞。查资料可知:
    num_init_children:pgPool允许的最大并发数,默认32。
    max_pool:连接池的数量,默认4。
    pgpool需要的数据库连接数=num_init_children*max_pool;
    后检查Postgresql数据库的postgresql.conf文件的max_connections=100,superuser_reserved_connections=3。
    pgpool的连接参数应当满足如下公式:

    num_init_children*max_pool<max_connections-superuser_reserved_connections
    
    

    当需要pgpool支持更多的并发时,需要更改num_init_children参数,同时要检查下num_init_children*max_pool是否超过了max_connections-superuser_reserved_connections,如果超过了,可将max_connections改的更大。

    相关文章

      网友评论

      • 3f2abaefd0db:我postgres通过docker启动,pgpool开启watchdog后总是报关于socket的错
      • 3f2abaefd0db:你好,可以问个关于pgpool的问题
        3f2abaefd0db:@遥想公瑾当年 docker 的ip漂移我是没想到办法解决,所以我把pgpool装在主机上,postgres装在docker中,现在单独开任一个pgpool都没什么问题,但是开两个pgpool再打开watchdog的开关就不行了
        遥想公瑾当年:@Imgroot_44d2 docker似乎是ip的漂移有点问题,这里我没做过。一般数据库服务倾向于不放入docker

      本文标题:关于PgPool客户端阻塞

      本文链接:https://www.haomeiwen.com/subject/mdatattx.html