pgbouncer介绍和原理

pgbouncer是一个轻量级postgres连接池,可以使postgres支持高并发的应用场景。在高并发应用场景下减少资源申请和释放开销,能更快的响应客户端请求。

安装pgbouncer,安装有两种方法,一种是二进制直接安装,这样就在网上找对到对应平台的指定版本。第二种是源码编译安装,下载指定版本的源码,然后configure,如果缺少哪些包可以安装(可能会缺少libevent和openssl),然后make ;make install。

pgbouncer在启动之前需要进行配置,主要配置有下边这些:

1.数据库连接串

2.pgbouncer认证方式(any,trust,plain,md5,cert,hba,pam)和用户,密码列表在userlist.txt里配置

3.转发方式:1 session.2,transaction.3sqlstatement三种方式。第一种是以会话为单位方式进行转发,第二种是以事务为单位进行转发,第三种是以sql语句为单位进行转发,这个是autocommit;每次转发完成后都会释放连接。

  • 以seesion方式:如果应用是以长连接会有多连接并行的限制。要计算好有多少长连接。
  • 以transaction方式:最好在应用的代码里做成显示事务,不然会出现事务被分到多个连接里执行的情况 。
  • 以SQL方式 ,基本上对于软解析这样提高数据库性能的特性就支持不了了。(包话transaction)

4.默认连接数和最大连接数,默认连接数是指在pgbouncer启动后pgbouncer和数据库之间建立的连接数。最大连接数是指在请求增加到超过默认连接数后,可以创建的最大连接总数据。

默认的配置文件在源码下的etc目录中

原理:

pgbouncer是在应用和数据库的中间层增加一个请求接收、请求转发、与数据库建立一些长连接。从而解决多应用与数据库频繁以会话方式直连,减少数据库频繁申请和释放资源的消耗。

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值