什麼是在這裏看到一個數據庫「連接限制」:什麼是數據庫連接限制以及ActiveRecord如何處理它?
https://addons.heroku.com/marketplace/heroku-postgresql
如果我有一個Ruby應用程序,查詢數據庫和100所請求的同時如何數據庫連接限制進入發玩?
是否有80個請求被拒絕?排隊?
每個查詢都是單獨的連接還是多個查詢由單個連接處理?
我正在使用ActiveRecord。提前致謝!
什麼是在這裏看到一個數據庫「連接限制」:什麼是數據庫連接限制以及ActiveRecord如何處理它?
https://addons.heroku.com/marketplace/heroku-postgresql
如果我有一個Ruby應用程序,查詢數據庫和100所請求的同時如何數據庫連接限制進入發玩?
是否有80個請求被拒絕?排隊?
每個查詢都是單獨的連接還是多個查詢由單個連接處理?
我正在使用ActiveRecord。提前致謝!
此處的連接限制意味着您可以針對數據庫打開的最大後端連接數。
在您的示例中,計數取決於應用程序的併發性。如果您的應用程序是單線程的並且您使用1個dyno,那麼這些請求將按順序處理,您可能只使用1個數據庫連接。
如果你使用的是像Unicorn這樣的說4名工人,那大約有4個數據庫連接。
這DevCenter擴展了連接:
活動記錄使用連接池機制通過線程來管理數據庫連接的數據庫connections.A池創建,然後在應用程序之間共享該需要訪問數據庫。當應用程序需要訪問數據庫時,它會請求池中的連接。完成後,它會將連接返回到池,供其他應用程序或請求使用。 活動記錄通過連接池類實現,它是線程安全的。根據您的示例,如果連接數量超出且池已滿,則它們將排隊並設置超時。請求完成後,處理其他請求。默認情況下,連接池設置爲5,超時時間爲5秒。