关于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断开。
2444 0
|
3月前
|
缓存 NoSQL Redis
【Azure Redis 缓存】Redission客户端连接Azure:客户端出现 Unable to send PING command over channel
【Azure Redis 缓存】Redission客户端连接Azure:客户端出现 Unable to send PING command over channel
188 3
|
4月前
|
监控 NoSQL 安全
【亲测有效】connection refused报错 为什么redis 进程突然挂掉,频繁出现redis 进程突然挂掉情况解决方案
【亲测有效】connection refused报错 为什么redis 进程突然挂掉,频繁出现redis 进程突然挂掉情况解决方案
295 0
|
6月前
|
存储 网络协议 iOS开发
connect永远阻塞线程及解决方案
connect永远阻塞线程及解决方案
109 0
|
6月前
|
SQL 监控 Oracle
oracle阻塞会话与kill
oracle阻塞会话与kill
|
自然语言处理 监控 NoSQL
生产环境Redis连接,长时间无响应被服务器断开问题
生产环境Redis连接,长时间无响应被服务器断开问题
359 0
|
分布式计算 安全 Scala
Master 检测心跳并删除超时的 Worker | 学习笔记
快速学习 Master 检测心跳并删除超时的 Worker
Master 检测心跳并删除超时的 Worker | 学习笔记
|
网络安全 数据安全/隐私保护
解决 SSH 无操作自动断开 | pychram 超时无响应
SSH 是用于与远程服务器建立加密通信通道的,因此配置涉及服务端和客户端
487 0
|
数据可视化 Java 应用服务中间件
眼见为实:被误导的Tomcat工作原理系列之poller线程是做socket读写的线程吗?
眼见为实:用页面可视化的方式带你看到Tomcat工作原理,它里面有哪些线程,在每次请求过来的时候做了什么工作? 纠正部分网友对于Tomcat工作原理理解的误区,明确Tomcat里到底是哪个线程在做socket读写?
257 0
眼见为实:被误导的Tomcat工作原理系列之poller线程是做socket读写的线程吗?
|
JSON 负载均衡 前端开发
阻塞与非阻塞客户端
本文主要讲解响应式编程模式下,阻塞与非阻塞式客户端的正确使用方式。