postgresql性能优化-最大连接数

一、最大连接数查看

postgresql数据库最大连接数是系统允许的最大连接数,当数据库并发用户超过该连接数后,会导致新连接无法建立或者连接超时。

最大连接数max_connections默认值为100。

当前总共正在使用的连接数

# select count(1) from pg_stat_activity;

显示系统允许的最大连接数,此数值包含为超级用户预留的连接数

# show max_connections;

显示系统保留的用户数superuser_reserved_connections

此参数为数据库为超级用户预留的连接数,默认值为3。当数据库的连接数达到(max_connections - superuser_reserved_connections)时,只有超级用户才能建立新的数据库连接,普通用户连接时将会返回错误信息“FATAL: sorry, too many clients already.”或者“FATAL: remaining connection slots are reserved for non-replication superuser connections”,登录数据库查询。

# show superuser_reserved_connections ;

 postgresql性能优化-最大连接数_第1张图片

按照用户分组查看

select usename, count(*) from pg_stat_activity group by usename order by count(*) desc;

postgresql性能优化-最大连接数_第2张图片

 二、最大连接数修改

通过postgresql.conf文件来修改postgresql的最大连接数

vi /var/lib/pgsql/11/data/postgresql.conf

 修改完要重启postgresql

# systemctl restart postgresql-11.service

三、连接数优化

postgresql的最大连接数合适值

used_connections/max_connections在85%左右

最大连接数设置上限是根据机器的配置相关,良好硬件上的 PostgreSQL 一次可以支持几百个连接。如果先设置数千个,考虑使用连接池软件来减少连接开销。客户应该是通过应用程序访问的数据库,应用程序到数据库的访问连接数,很多都可以从连接池中利用连接。

连接池方案可以参考pg+pgpool

如下,连接池配置4*1000

postgresql性能优化-最大连接数_第3张图片

 

你可能感兴趣的:(postgresql,dba)