【发布时间】:2013-08-06 08:37:47
【问题描述】:
我需要配置我的 pgbouncer 以使用超过 2000 个客户端连接,我正在阅读一些关于如何使用最大连接数的信息,然后我明白了我必须做什么 max_client_con = 2000在 pgbouncer 上,但是 default_pool_size 呢,他们不仅仅是寻求一些支持,以便了解在大型客户端连接上配置 pgbouncer 的正确方法
postgres.conf
port = 5432 # (change requires restart)
max_connections = 100 # (change requires restart)
unix_socket_directory = '/var/run/postgresql' # (change requires restart)
pgbouncer.ini
[pgbouncer]
logfile = /var/log/postgresql/pgbouncer.log
pidfile = /var/run/postgresql/pgbouncer.pid
listen_addr = 127.0.0.1
listen_port = 6432
unix_socket_dir = /var/run/postgresql
auth_type = md5
auth_file = /etc/pgbouncer/userlist.txt
admin_users = carlos
pool_mode = statement
server_reset_query = DISCARD ALL
max_client_conn = 100
default_pool_size = 20
【问题讨论】:
-
那 2000 个客户是什么?他们是在尝试直接访问数据库,还是连接到 Web 应用程序或其他使用自己的用户查询数据库服务器的服务?这一切都不同。
-
它们是来自gps监听器的连接,这个监听器每隔10秒从gps跟踪器接收数据,然后将数据存储在postgres数据库中
-
如果监听器是唯一连接到 pgbouncer 的人,那么你只有一个客户端可以同时进行 n 个连接。多少取决于每个连接的持续时间。听众是个人电脑吗?它与数据库在同一台机器上吗? pgbouncer 在哪里听?在侦听器上还是在数据库服务器上?
-
嗯,监听器是一个扭曲的应用程序,它管理多个协议,它为每个 gps 跟踪器设备创建一个连接,我已经找到了解决方案,但是谢谢
标签: postgresql pgbouncer