关于PgPool客户端阻塞

简介: 最近遇到一个PgPool连接阻塞问题,PgPool刚开启是能成功连接的,过段时间就连接不上了。查看PgPool日志,启动成功,连接数据库节点成功,健康检查成功。

最近遇到一个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改的更大。

相关文章
|
数据采集 前端开发 JavaScript
查看Socket断开原因及加入心跳机制防止自动断开连接
一般情况下,前端页面连接WebSocket服务的时候都是通过Nginx等负载均衡,然后由Nginx去代理连接后端的socket服务。如果建立连接之后不做一些措施,那么可能会有各种各样的原因会导致socket断开。
2514 0
|
5月前
|
缓存 NoSQL Redis
【Azure Redis 缓存】Redission客户端连接Azure:客户端出现 Unable to send PING command over channel
【Azure Redis 缓存】Redission客户端连接Azure:客户端出现 Unable to send PING command over channel
247 3
|
6月前
|
监控 NoSQL 安全
【亲测有效】connection refused报错 为什么redis 进程突然挂掉,频繁出现redis 进程突然挂掉情况解决方案
【亲测有效】connection refused报错 为什么redis 进程突然挂掉,频繁出现redis 进程突然挂掉情况解决方案
348 0
|
8月前
|
存储 网络协议 iOS开发
connect永远阻塞线程及解决方案
connect永远阻塞线程及解决方案
117 0
|
Python
159 python网络编程 - 单进程服务器(非堵塞模式)
159 python网络编程 - 单进程服务器(非堵塞模式)
53 0
|
存储 NoSQL Redis
Redis del bigkey即使开启了lazyfree,为什么还是阻塞的,但是别人又不阻塞?why
Redis del bigkey即使开启了lazyfree,为什么还是阻塞的,但是别人又不阻塞?why
|
自然语言处理 监控 NoSQL
生产环境Redis连接,长时间无响应被服务器断开问题
生产环境Redis连接,长时间无响应被服务器断开问题
371 0
|
网络协议 Linux
面试官:如何在不杀掉进程前提,关闭一个 TCP 连接?
如何在不杀掉进程前提,关闭一个 TCP 连接?
面试官:如何在不杀掉进程前提,关闭一个 TCP 连接?
|
JSON 负载均衡 前端开发
阻塞与非阻塞客户端
本文主要讲解响应式编程模式下,阻塞与非阻塞式客户端的正确使用方式。
长连接 短连接 异步 同步 )阻塞与非阻塞详解
一。通信方式 主要有以下三大类: (一)SERVER/CLIENT方式 1.一个Client方连接一个Server方,或称点对点(peer to peer): 2.多个Client方连接一个Server方,这也是通常的并发服务器方式。
1541 2