如何在一台服务器同一个端口运行多个pgbouncer
创始人
2024-03-08 14:21:00
0

PGbouncer是Postgresql数据库最常用的一款连接池软件,但是它是单进程的,所以只能占用一颗CPU资源,会造成CPU资源的浪费。PGbouncer有方法在同一台服务器的同一个端口运行多个进程实例,可以让资源得到充分利用。
先看下一个pgbouncer的作用,如下图:
在这里插入图片描述
通过pgbouncer连接池,最终到达数据库的连接会少很多,这样就不怕连接风暴打爆数据库了。

如下图,可以配置多个pgbouncer在同一台机器的同一个端口,充分利用系统资源

在这里插入图片描述

如何配置?
修改pgbouncer.ini配置文件加入so_reuseport = 1
使用yum安装pgbouncer后,复制

cp pgbouncer.service pgbouncer@.service
systemctl daemon-reload
systemctl start pgbouncer@1
systemctl start pgbouncer@2

如下,pgbouncer@.service内容

cat pgbouncer@.service
[Unit]
Description=A lightweight connection pooler for PostgreSQL (%i)
#After=syslog.target
After=network.target[Service]
#RemainAfterExit=yesUser=pgbouncer
Group=pgbouncer# Path to the init file
Environment=BOUNCERCONF=/etc/pgbouncer/pgbouncer.ini#PIDFile=/var/run/pgbouncer/pgbouncer.pid# Where to send early-startup messages from the server 
# This is normally controlled by the global default set by systemd
# StandardOutput=syslogExecStart=/usr/bin/pgbouncer ${BOUNCERCONF}
ExecReload=/usr/bin/kill -HUP $MAINPID
KillSignal=SIGINT[Install]
WantedBy=multi-user.target

另外由于
https://github.com/systemd/systemd/commit/54255c64e6d223deb7d3863e426e78c443fda37c的原因,systemd中的ReusePort选项在222之前的版本中不能用于此目的。RHEL7无法实现该功能,需要RHEL8。

我的测试机版本信息如下,无法实现该功能

#操作系统版本
lsb_release -a
LSB Version:    :core-4.1-amd64:core-4.1-noarch
Distributor ID: CentOS
Description:    CentOS Linux release 7.9.2009 (Core)
Release:        7.9.2009
Codename:       Core#systemctl版本
systemctl  --version
systemd 219
+PAM +AUDIT +SELINUX +IMA -APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 -SECCOMP +BLKID +ELFUTILS +KMOD +IDN

另外,有一个多线程的连接池可以替换需要多个pgbouncer的情况,可以参考https://github.com/yandex/odyssey测试一下。

参考:
https://www.2ndquadrant.com/en/blog/running-multiple-pgbouncer-instances-with-systemd/
http://www.pgbouncer.org/config.html
https://github.com/yandex/odyssey

相关内容

热门资讯

北京有2682个村居法律顾问,... 新京报讯(记者张建林)12月24日,北京市召开“深入推进全面依法治市,建设法治中国首善之区”新闻发布...
新华社消息|两部门发文加强仲裁... 记者:齐琪 编导:徐中哲 新华社音视频部制作
梅县区司法局开展基层人民调解员... 为坚持和发展新时代“枫桥经验”,全面提升全区人民调解员队伍专业化、规范化水平,筑牢基层矛盾纠纷化解“...
聚焦“大调解”工作格局建设,中... 12月23日,中共黄浦区委召开专题协商座谈会,向各民主党派、工商联负责人和无党派人士代表通报黄浦区“...
90多部法规加持!嘉定这一AI... “咔嚓”一声手机快门,微信小程序内即刻弹出预警——“脚手架未规范搭建(重大隐患)、临边防护缺失、物料...
政策“礼包”送基层 “一企一策... 通讯员 季国根 黄玲玉 韩长清 近日,泰安市自然资源和规划局岱岳区规划服务中心启动“政策服务直通车”...
青海警方侦破一起16年命案积案... 近期,青海省海南藏族自治州共和县公安局侦破一起长达16年的命案积案,两名犯罪嫌疑人被缉拿归案。 案情...
印尼政策扰动镍市!镍价短期飙升... 来源:新华财经 在全球最大镍生产国印度尼西亚计划大幅削减明年镍矿供应配额及拟议调整矿产计价规则的预期...
三部门联合发布婚姻家庭纠纷调解... 新华社北京12月24日电(记者董博婷、冯家顺)最高人民法院与全国妇联、司法部12月24日联合向社会公...
守护婚姻家庭幸福,专家为连州1... 当婚姻家庭矛盾出现时,如何用专业力量化解?日前,连州市举办2025年全市婚调员能力提升培训班,特邀清...