我遇到了Rails和MySQL RDS實例的問題。我有我的rails應用程序連接到它通過我們的database.yml文件與10(現在5)連接池。有一天,數據庫的另一個用戶嘗試運行一個存儲過程,但它不會執行。它只是掛在等待執行。用戶查看了這些進程,發現我們的rails用戶有大約30個空閒進程,所以他們殺死了其中的一些進程。存儲過程隨即啓動並正常運行。Rails堅持數據庫連接時間過長,無法運行存儲過程
我們在一個r3.xlarge實例上,並且在出現問題時有大約100個進程。這對我來說似乎並不令人驚訝,我不確定爲什麼這個程序不能在沒有釋放某些過程的情況下執行。我想我的問題是,有沒有辦法告訴我的Rails應用程序在x秒後釋放一些空閒連接,還是更好地控制這些連接的方法?我可以寫一個可以釋放它們的cron,但是我很樂意用rails/best的方式來做它。
感謝您的幫助!