2016-03-01 102 views
0

我的应用程序有2层主要的部分,写在角多个连接池

  1. 用户界面,它使用一个Django蟒后端。
  2. 沉重的地图减少种类的过程。

两者都使用postgres进行查找,所以我的疑问是,如果我使用相同的连接池,当我的地图reduce由于大量查询而运行时,我的其他应用程序将无法工作,因为没有连接可用。是否有任何变通解决此(避免Postgres的本身是积压)

PS:我使用pgbouncer用于汇集

回答

1

简单的方法将是两个部分分开。 至少就连接资源而言。 (无论例如内存消耗和GC将从重组受益不要求)

您可能实现此使用下列方法之一:

  1. 使用两个单独的池,一个用于每个部分。
    这样,您可以根据每部分的连接要求设置池。

  2. 更改您的代码以维护其他部分的足够“免费”资源。
    这是非常繁琐的,只要资源需求 需要根据算法的内部状态进行细粒度控制才会有用。

通常你会想要去与建议1.

+0

感谢,将这样做。 – najeeb