An's Blog
收藏、分享 …
Toggle navigation
Home
Cesium
SuperMap
ArcGIS
MapboxGL
CentOS
GeoServer
Favorites
Archives
Tags
postgresql性能优化-最大连接数
2022-12-09 10:27:31
6
0
0
admin
**问题:** postgreSQL 致命错误: 对不起, 已经有太多的客户;  ### **一、最大连接数查看** postgresql数据库最大连接数是系统允许的最大连接数,当数据库并发用户超过该连接数后,会导致新连接无法建立或者连接超时。最大连接数max_connections默认值为100。 执行以下SQL语句,查看当前总共正在使用的连接数 select count(1) from pg_stat_activity; 执行以下语句,查看当前的连接详细情况,包括数据库名,用户,IP地址,连接开始时间,查询的语句,状态等。 select datid,datname,pid,usename,application_name,client_addr,"state" 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的最大连接数 nano /var/lib/pgsql/11/data/postgresql.conf  修改完要重启postgresql systemctl restart postgresql-11.service ### **三、连接数优化** postgresql的最大连接数合适值 used_connections/max_connections 在85%左右 最大连接数设置上限是根据机器的配置相关,良好硬件上的PostgreSQL一次可以支持几百个连接。如果先设置数千个,考虑使用连接池软件来减少连接开销。客户应该是通过应用程序访问的数据库,应用程序到数据库的访问连接数,很多都可以从连接池中利用连接。 连接池方案可以参考pg+pgpool 如下,连接池配置4*1000 
Pre:
PostgreSQL性能优化
Next:
Nexus代理阿里云仓库+Gradle仓库
0
likes
6
Weibo
Wechat
Tencent Weibo
QQ Zone
RenRen
Table of content