2016-03-01 112 views
0

我的應用程序有2層主要的部分,寫在角多個連接池

  1. 用戶界面,它使用一個Django蟒後端。
  2. 沉重的地圖減少種類的過程。

兩者都使用postgres進行查找,所以我的疑問是,如果我使用相同的連接池,當我的地圖reduce由於大量查詢而運行時,我的其他應用程序將無法工作,因爲沒有連接可用。是否有任何變通解決此(避免Postgres的本身是積壓)

PS:我使用pgbouncer用於彙集

回答

1

簡單的方法將是兩個部分分開。 至少就連接資源而言。 (無論例如內存消耗和GC將從重組受益不要求)

您可能實現此使用下列方法之一:

  1. 使用兩個單獨的池,一個用於每個部分。
    這樣,您可以根據每部分的連接要求設置池。

  2. 更改您的代碼以維護其他部分的足夠「免費」資源。
    這是非常繁瑣的,只要資源需求 需要根據算法的內部狀態進行細粒度控制纔會有用。

通常你會想要去與建議1.

+0

感謝,將這樣做。 – najeeb