![](/img/trans.png)
[英]ActiveRecord::ConnectionTimeoutError: could not obtain a database connection within 5.000 seconds (waited 5.000 seconds)
[英]Active Record Could not obtain a database connection within 5.000 seconds
從過去幾周開始,我看到此錯誤“無法在 5.000 秒內獲得數據庫連接”。 我嘗試了以下解決方案。
根據 Sidekiq Docs,我已將並發性降低到 10,並將 MySql 數據庫池大小增加到 12。但我仍然收到此錯誤,因此我將數據庫池大小增加到 27。但問題仍然存在。 從這個和這個答案中嘗試了解決方案。 我的 Sidekiq 服務器機器沒有運行任何其他可以使用 AR 連接的進程。 我沒有從外面紡任何線。 下面是我的配置
Sidekiq version - 3.4.2
Rails version - 4.2.4
Active Record version - 4.2.4
Database pool size - 27
Sidekiq concurrency - 10
對此的任何幫助將不勝感激。
我懷疑這是服務器端的連接泄漏。
Sidekiq::Middleware::Server::ActiveRecord
是負責在作業完成后將連接返回到池的中間件。 默認情況下應包含此內容。
當您使用-v
標志啟動服務器時,
bundle exec sidekiq -v -C config_file
它將打印將被調用的所有中間件。 你能檢查一下這個中間件是否存在於列表中嗎?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.