我有一个PostgreSQL 9.4服务器似乎限制连接到少于我在max_connections中定义的连接.
我将max_connections设置为300.
SHOW max_connections; max_connections ----------------- 300
但是,我发现一旦我的活动连接达到100,我就会开始新的连接超时,这是通过pg_stat_activity的SELECT count(*)来衡量的;
只要该数字低于100,新连接就可以工作.一旦达到100,新连接就会失败:PG :: ConnectionBad:无法连接到服务器:连接超时(Ruby pg库)
超级用户连接似乎有一个例外(即我通过PgAdmin连接),因为我可以通过这种方式超过100门限,尽管不使用超级用户的应用程序会继续超时.
我不知道究竟根本原因是什么.
一些配置设置:
max_connections = 300 superuser_reserved_connections = 2 shared_buffers = 1024MB effective_cache_size = 2048MB work_mem = 8MB maintenance_work_mem = 256MB
我尝试过修改这些值,没有任何有用的效果.
其他详情:
> Ubuntu 14.04 64位
> 4GB Linode VPS
> PostgreSQL 9.4.1
>在PostgreSQL 9.2上基本上没有相同配置的问题.
>数据库通过pg_dumpall从Postgres 9.2迁移
>内存使用似乎不是问题,免费显示2.1 GB免费,3.5 GB包括缓冲区/缓存.
>这些连接适用于许多不同数据库的许多不同角色,没有单个数据库具有超过5或6个活动连接,并且每个数据库都由其自己的单独角色访问.似乎没有与单个DB或角色的任何连接限制相冲突.
你是否也提高了内核最大段大小?
尝试:
sysctl -w kernel.shmmax=1258291200
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。