同一个 PostgreSQL 上的多个连接池
Multiple connection pool on same PostgreSQL
我的申请主要有两个部分,
- 使用 Django python 后端的 angular 编写的用户界面。
- 重映射减少类过程。
两者都使用 postgres 进行查找,所以我怀疑我是否对两者使用相同的连接池,当我的 map reduce 由于大量查找而运行时,我的其他应用程序将无法工作,因为没有可用的连接.有没有解决这个问题的方法。(避免 postgres 本身在积压中)
PS:我正在使用 pgbouncer 进行池化
最简单的方法是将这两个部分分开。
至少在连接资源方面。
(例如,内存消耗和 gc 是否会从重组中获益未被问及)
您可以使用以下方法之一实现此目的:
使用两个独立的池,每个池一个。
这样,您可以根据每个部分的连接要求设置池。
更改您的代码以为其他部分维护足够的 "free" 资源。
这是非常乏味的,只有在资源需求时才有用
需要根据算法的内部状态进行细粒度控制。
通常您会希望采用建议 1。
我的申请主要有两个部分,
- 使用 Django python 后端的 angular 编写的用户界面。
- 重映射减少类过程。
两者都使用 postgres 进行查找,所以我怀疑我是否对两者使用相同的连接池,当我的 map reduce 由于大量查找而运行时,我的其他应用程序将无法工作,因为没有可用的连接.有没有解决这个问题的方法。(避免 postgres 本身在积压中)
PS:我正在使用 pgbouncer 进行池化
最简单的方法是将这两个部分分开。 至少在连接资源方面。 (例如,内存消耗和 gc 是否会从重组中获益未被问及)
您可以使用以下方法之一实现此目的:
使用两个独立的池,每个池一个。
这样,您可以根据每个部分的连接要求设置池。更改您的代码以为其他部分维护足够的 "free" 资源。
这是非常乏味的,只有在资源需求时才有用 需要根据算法的内部状态进行细粒度控制。
通常您会希望采用建议 1。