问题标签 [pgbouncer]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2325 浏览

postgresql - HAProxy + pgbouncer 服务器意外关闭连接

我在 Web 服务器上有一个 haproxy 架构,它路由到从属服务器,在那里我有 pgbouncer over postgre。HAPoxy 配置:

Pgbouncer 配置是默认的。第一个问题,pgsql-check 不工作。pgboucer.log:

但最大的问题是,经过一段时间后,我的网站 (Yii2) 出现了很多错误。日志:

我有一种感觉,那个 haproxy 只是中断了会话。

0 投票
1 回答
267 浏览

postgresql - PgBouncer 不启动最小连接数

我在 pgBouncer 中设置了这个限制

max_client_conn = 2000

default_pool_size = 40

当我在 phpPgAdmin 中执行此 SQL 时,只出现 2 或 4 个连接:

这是正常的还是 pgBouncer 在启动时没有加载 .ini?

0 投票
1 回答
1667 浏览

pgbouncer - Amazon linux:没有可用的软件包 pgbouncer

试图在亚马逊上安装 pgbouncer 遇到了这个问题:

去了github - 发现只有可编译的版本。谷歌搜索并决定在下面发布解决方案

0 投票
1 回答
3391 浏览

postgresql - PGbouncer ERROR accept() 失败:打开的文件太多

我正在运行具有 20 个 cpu 内核和 96 GB 内存的服务器。我已将 Postgresql 和 Pgbouncer 配置为一次处理 1000 个连接。

但是,当连接增加时(即使它们远低于我设置的 1000 个限制),我开始连接失败。我检查了 pgbouncer 日志,我注意到以下内容

我需要增加什么限制来解决这个问题?我正在运行 Debian 8

0 投票
1 回答
2231 浏览

postgresql - PostgreSQL performance tuning and max connections (practically)

For the past few weeks I've been tuning and messing with PostgreSQL which I'm going to use with my next project.

My Specs are:

  • DigitalOcean 8 Cores 16GB SSD x2 (One for DB, another for Web)
  • Centos 7
  • PHP5 , Nginx

The things that I've tried:

  1. Pgtune

  2. PgBouncer & Pgpool (connection pooling & load balancing)

  3. Tuning php-fpm & nginx (worker_processes, worker_connections, pm.max_children etc)

  4. Linux file handle limits and socket tweaking.

I'm testing it by calling the webpage with ApacheBench to insert. Is it practical?

So far I can only get it to handle 1700-2000 connections concurrently without dropping any transaction (usually prematurely closed connection or resource temporarily unavailable in nginx error log or Sorry, too many clients already return by PostgreSQL).

I tried both TCP/IP and unix socket for php-fpm and TCP/IP seems to be more scalable than unix socket.

Can PHP use connection pooling? Since the way I'm calling the DB from the web server are still the same(making alot of individual connections to pgpool or pgbouncer).

My goal is to handle at least 10,000 transactions concurrently. What are the deciding factors? Is it a bottleneck between web server to db (php-fpm) or PostgreSQL itself? Usually, how do big companies (PHP web application) handle such volume?

0 投票
1 回答
14237 浏览

postgresql - PgBouncer 和 PostgreSQL 的身份验证

pgbouncer 版本 1.7.2

psql (9.5.6)

我尝试在 PgBouncer 中使用 auth_hba_file (/var/lib/pgsql/9.5/data/pg_hba.conf)。

配置 pgbouncer.ini

猫 pg_hba.conf | grep -v "#" | grep -v "^$"

psql -h 10.233.4.16 -p 5432 -U 测试

psql -h 10.233.4.16 -p 6432 -U 测试

tail -fn10 /var/log/pgbouncer/pgbouncer.log

但我无法使用 pg_hba.conf 连接到 postgresql(使用 PgBouncer)

有人可以帮忙吗?愿你有使用 auth_hba_file 的例子。谢谢

我改变了配置:

[root@dev-metrics2 pgbouncer]# cat pgbouncer.ini | grep -v ";" | grep -v "^$" | grep -v "#"

删除并创建用户和数据库

PGPASSWORD=测试 psql -h 10.233.4.16 -p 6432 -U 测试

tail -fn1 /var/log/pgbouncer/pgbouncer.log

工作配置:

猫 pgbouncer.ini | grep -v ";" | grep -v "^$" | grep -v "#"

0 投票
1 回答
582 浏览

postgresql - Pgbouncer 日志仅显示 0 req/s

这是我的第一个 stackoverflow 帖子,所以我想打个招呼!;)

我对 pgbouncer 有疑问。我刚开始将它与我的 django 应用程序和 postgres 一起使用。我虽然一切都设置正确,但我在日志中只得到这样的信息:

它似乎没有运行,还是我错过了它的概念?没有其他错误,除了那些只有 0 的统计行。该应用程序不断运行,每秒有数十人使用它,建立数据库连接,所以应该记录一些内容吧?你知道为什么会发生这种情况吗?谢谢!

0 投票
0 回答
1073 浏览

pgbouncer - pgbouncer 忽略来自 ini 的 pidfile

试图启动我在日志中看到的 pgbouncer:

2017-04-25 11:18:06.319 7186 FATAL @src/main.c:612 in function check_pidfile(): pidfile 存在,另一个实例正在运行?

事实上,它并没有被删除service pgbouncer stop

因为它在init中是硬编码的:

当我将路径更改为我在其中指定的路径时,/etc/pgbouncer/pgbouncer.ini它开始工作......

Qestion:我该怎么做才能init.d从配置中获取 pid 文件位置?

我有:

安装它:

.

0 投票
0 回答
1355 浏览

postgresql - pgbouncer windows 10 - client_login_timeout(server_down) 错误

我正在尝试在我的本地机器上设置 pgbouncer。我有带有条目的标准(安装后没有更改任何内容)配置文件:

postgres = host=127.0.0.1 port=5432 listen_addr = * listen_port = 6432 auth_type = trust //also tested with md5 and plain

我的 postgresql (ver 9.4) 在端口 5432 上运行。当我执行

psql -U postgres -p 5432 -d postgres

我可以成功连接。现在我正在尝试连接到 pgbouncer

psql -U postgres -p 6432 -d postgres

提供密码后 pgbouncer 无法连接(它挂起 60 秒)然后超时并出现错误

psql: ERROR: client_login_timeout (server down)

Pgbouncer 日志:

2017-05-05 00:17:27.084 14696 LOG File descriptor limit: -1 (H:-1), max_client_conn: 100, max fds possible: 130 2017-05-05 00:17:27.104 14696 LOG listening on ::/6432 2017-05-05 00:17:27.105 14696 LOG listening on 0.0.0.0:6432 2017-05-05 00:17:27.106 14696 LOG process up: pgbouncer 1.7.2, libevent 2.0.21-stable (win32), adns: evdns2, tls: OpenSSL 1.0.2k 26 Jan 2017 2017-05-05 00:18:27.104 14696 LOG Stats: 0 req/s, in 0 b/s, out 0 b/s,query 0 us 2017-05-05 00:18:51.852 14696 LOG C-009B8FE0: postgres/postgres@[::1]:55878 login attempt: db=postgres user=postgres tls=no 2017-05-05 00:18:51.854 14696 WARNING 2017-05-05 00:18:51.854 14696 LOG S-009EF248: postgres/postgres@127.0.0.1:5432 closing because: connect failed (age=0) 2017-05-05 00:19:06.929 14696 WARNING 2017-05-05 00:19:06.929 14696 LOG S-009EF248: postgres/postgres@127.0.0.1:5432 closing because: connect failed (age=0) 2017-05-05 00:19:21.949 14696 WARNING 2017-05-05 00:19:21.950 14696 LOG S-009EF248: postgres/postgres@127.0.0.1:5432 closing because: connect failed (age=0) 2017-05-05 00:19:27.105 14696 LOG Stats: 0 req/s, in 0 b/s, out 0 b/s,query 0 us 2017-05-05 00:19:36.969 14696 WARNING 2017-05-05 00:19:36.970 14696 LOG S-009EF248: postgres/postgres@127.0.0.1:5432 closing because: connect failed (age=0) 2017-05-05 00:19:51.990 14696 LOG C-009B8FE0: postgres/postgres@[::1]:55878 closing because: client_login_timeout (server down) (age=60) 2017-05-05 00:19:51.991 14696 WARNING C-009B8FE0: postgres/postgres@[::1]:55878 Pooler Error: client_login_timeout (server down) 2017-05-05 00:20:27.105 14696 LOG Stats: 0 req/s, in 0 b/s, out 0 b/s,query 0 us

hba.conf host all all 127.0.0.1/32 md5 host all all ::1/128 md5

postgresql.conf listen_addresses = '*'

我做错了什么?

EDIT 1:

努力使这项工作我试过:

  1. 连接到其他数据库版本:9.5 和 9.6
  2. 由于我在日志中看到使用了各种端口,所以我在防火墙中打开了整个 pgbouncer 应用程序,在此之前我只打开了 6432 端口
  3. 我想也许 pgbouncer 连接到 localhost 有问题所以我尝试连接到远程服务器
  4. 甚至禁用了防病毒软件

以上都没有奏效。总是显示相同的日志(端口 5434 是 9.5 版本):

有人可以解释为什么它尝试连接端口 61687 吗?在这个端口上,它得到了意想不到的 eof。

这是整个 pgbouncer.ini (未注释掉的行):

0 投票
1 回答
1232 浏览

java - PgBouncer 与 WildFly/Application Server 连接池的优势?

许多应用程序服务器都集成了连接池,甚至可以将独立应用程序配置为使用 HikariCP、Apache DBCP 等。

那么当应用程序已经有连接池时,使用 PgBouncer 有什么好处呢?

我找到的最接近的答案是使用带有 pgbouncer 的事务池有什么好处?其中没有提到使用另一个连接池,并提到优点是空闲会话的使用。

我主要使用配置了最小池大小、最大池大小、空闲超时的 WildFly……所以它基本上会在空闲连接不使用时删除它们(如果这是主要优势)。

这让我觉得 PgBouncer 不适合这种情况,我应该只继续使用我的应用程序服务器连接池。

顺便说一句,在事务池模式下,PgBouncer 不能使用命名的预处理语句,这看起来不像是性能明智的选择。

如果有任何优势,它是否与wildfly连接池配合得很好?