PgBouncer 原理与深入

本文深入探讨PGbouncer在PostgreSQL中的作用,解释为何推荐使用连接池及如何操作PGbouncer。详细介绍了PGbouncer的工作原理,包括连接验证、连接池检测、连接回收策略等,并提供配置示例。

PGBOUNCER 有些问题是需要更深入的理解的,尤其针对于postgresql 来说为什么要推荐使用 连接池,而MYSQL 为什么没有听说过墙裂推荐使用连接池,以及具体怎么操作pgbouncer 都是这次要说的话题。

在使用PostgreSQL 时连接时通过postmaster 来接受外部对postgresql的连接。而这样的方式会造成每个连接都会初始分配不小的内存,而这样的做法遇到大量的高频率的连接,会占用大量的内存,导致系统性能的问题,通用的解决方法当然可以通过程序中所设置的缓冲池来解决,但这样的结构,一般是由开发来控制和设置的,对于运维和DBA来说属于黑盒,和不可控的状态。所以我们才会使用数据库连接池,来进行连接复用节省打开多余连接的系统资源的消耗。

我们从上面的图中来看pgbouncer 大致的工作原理

1  客户连接到Pgbouncer 这里需要去验证你连接的数据库的地址,用户名,密码等信息是否是对的,如果不对直接就会从PgBouncer 中踢出这个连接,首先在安全性上,就可以将一部分攻击性的连接屏蔽到外面而与数据库隔绝。

2  在通过PgBouncer 第一层后,下面就需要对连接池和数据库之间已经存在的连接进行一个检测,首先要确认的问题是,数据库连接还有富余的吗?如果没有,会尝试开新的连接,但大部分稳定的时期中,是可以找到空余的连接。

3  在客户端到Pgbouncer 在到数据库之间的连接打通后,pgbouncer 会根据下面的几种连接的方式来判断这个已经存活的连接在何时被收回到pgboun

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值