连接数增加时PgBouncer性能下降 这是测试结果: pgbouncer配置:

问题描述

我有一个专用的Postgresql服务器和一个pgBouncer服务器。所有连接都是通过pgBouncer建立的。 我使用Apache JMeter和PHP测试了系统。结果很奇怪。 具有500个连接的吞吐量还不错,但是当我测试使用更多连接时,吞吐量会下降。

这是测试结果:

enter image description here

pgbouncer配置:

[databases]

maindb = host=212.212.322.323 port=5432 user=myuser dbname=mydb pool_size=1000 pool_mode=transaction

[pgbouncer]

logfile = /var/log/postgresql/pgbouncer.log
pidfile = /var/run/postgresql/pgbouncer.pid

listen_addr = *
listen_port = 6432

auth_type = trust
auth_file = /etc/pgbouncer/userlist.txt

pool_mode = session
max_client_conn = 1000
default_pool_size = 20

解决方法

已知为pgbouncer的限制。它仅使用一个CPU,并且在连接数量很高的情况下不能很好地工作(对于较少数量的连接,它是快速而有效的)。有新项目,可以代替pgbouncer来使用-Odysseypgagroal