关于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改的更大。

相关文章
|
27天前
|
缓存 NoSQL Redis
【Azure Redis 缓存】Redission客户端连接Azure:客户端出现 Unable to send PING command over channel
【Azure Redis 缓存】Redission客户端连接Azure:客户端出现 Unable to send PING command over channel
|
2月前
|
监控 NoSQL 安全
【亲测有效】connection refused报错 为什么redis 进程突然挂掉,频繁出现redis 进程突然挂掉情况解决方案
【亲测有效】connection refused报错 为什么redis 进程突然挂掉,频繁出现redis 进程突然挂掉情况解决方案
86 0
|
4月前
|
存储 网络协议 iOS开发
connect永远阻塞线程及解决方案
connect永远阻塞线程及解决方案
61 0
|
4月前
|
存储 索引
webserver--基于小根堆实现定时器,关闭超时的非活跃连接
webserver--基于小根堆实现定时器,关闭超时的非活跃连接
|
NoSQL 关系型数据库 MySQL
php redis断线重连
php redis断线重连
490 0
|
存储 NoSQL Redis
Redis del bigkey即使开启了lazyfree,为什么还是阻塞的,但是别人又不阻塞?why
Redis del bigkey即使开启了lazyfree,为什么还是阻塞的,但是别人又不阻塞?why
|
自然语言处理 监控 NoSQL
生产环境Redis连接,长时间无响应被服务器断开问题
生产环境Redis连接,长时间无响应被服务器断开问题
334 0
|
数据可视化 Java 应用服务中间件
眼见为实:被误导的Tomcat工作原理系列之poller线程是做socket读写的线程吗?
眼见为实:用页面可视化的方式带你看到Tomcat工作原理,它里面有哪些线程,在每次请求过来的时候做了什么工作? 纠正部分网友对于Tomcat工作原理理解的误区,明确Tomcat里到底是哪个线程在做socket读写?
215 0
眼见为实:被误导的Tomcat工作原理系列之poller线程是做socket读写的线程吗?
|
JSON 负载均衡 前端开发
阻塞与非阻塞客户端
本文主要讲解响应式编程模式下,阻塞与非阻塞式客户端的正确使用方式。
|
缓存 关系型数据库 数据库