我正在使用Sidekiq并行运行大量作业,其中很多都无法连接到数据库,因为我的连接池大小只有5个。
我想将其提升到15(至少在本地主机上)但是想知道这可能带来的负面后果是什么。
安装程序是Ruby on Rails,默认的poolize是5。
答案 0 :(得分:3)
这取决于许多因素,如:
还有一些连接池也有其他调整,例如要打开的最小连接数(即使没有使用),以及看起来像你想要设置的最大打开连接。
我听说只要打开10个连接就可能会使网卡饱和。
我认为唯一的答案是根据您拥有的内容监控您的cpu / memorry / io使用情况,以便您拥有某种基线,然后将连接数量提高并进行比较。< / p>
就我个人而言,我认为你应该没有15个连接。已经将服务器推到极限或者拥有一个256MB内存的小型虚拟机:)
将值设置得太高可能会使postgres的允许打开连接数达到饱和(检查默认值但可能大约为100)。如果您过早关闭服务而不允许它正常关闭连接,这可能会成为一个问题。然后,当您尝试重新启动应用服务器时,它会错误地说postgres不允许更多连接。这不是设置得太高的问题,因为在任何一种情况下都会发生这种情况,但它会def。加速这个问题。