postgresql性能优化-最大连接数

Posted 架构艺术AA

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 ;

 

按照用户分组查看

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

 二、最大连接数修改

通过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修改最大连接数

1.合适的最大连接数
used_connections/max_connections在85%左右
2.修改最大连接数
postgresql最大连接数默认为100
1)打开postgresql配置文件
vim /var/lib/pgsql/9.4/data/postgresql.conf
2)修改最大连接数
max_connections = 100
3)重启postgresql服务
在CentOS 6.x系统中
service postgresql-9.4 restart
在CentOS 7系统中
systemctl restart postgresql-9.4

以上是关于postgresql性能优化-最大连接数的主要内容,如果未能解决你的问题,请参考以下文章

mysql 性能优化参数配置

postgresql修改最大连接数

优化 Nginx 单个进程允许的最大连接数

PostgreSQL在线调整最大连接数方案设想

PostgreSQL在线调整最大连接数方案设想

查看PostgreSQL最大连接数信息