2016-01-12 64 views
0

我收到錯誤在生產::無法獲得5.000秒內的數據庫連接(等待5.000秒)(ActiveRecord的:: ConnectionTimeoutError)

/home/yaswant/.rvm/gems/ruby- 2.2.1/gems/activerecord-4.2.5/lib/active_record/connection_adapters/abstract/connection_pool.rb:189: `block in wait_poll':無法獲得 內的數據庫連接5.000秒(等待5.000秒)( ActiveRecord :: ConnectionTimeoutError)

我的連接池有30個連接。 我的應用程序是基於API的應用程序,我使用線程旁邊的線程。 請建議我如何解決此問題

+1

不知道更多,很難幫助。你有什麼嘗試?你怎麼連接?你可以從終端連接嗎? – Yule

+0

使反應更快?減少數據庫請求?沒有簡單的答案。但是,如果你在本地主機上有30個連接池並設法殺死API,我聞到你的設計出了問題。 –

+0

@MichalSzyndel我在產品環境中遇到這個錯誤。 –

回答

0

您需要增加應用程序將使用的連接池。

默認情況下,Sidekiq每個隊列需要25個,這意味着如果你有一個10的池,那麼最終會出現很多錯誤,他們最終會成功,但這需要更長的時間。

相關問題