Sin*_*ary 5 mysql activerecord ruby-on-rails sidekiq
从过去几周开始,我看到此错误“无法在 5.000 秒内获取数据库连接”。我尝试过以下解决方案。
根据 Sidekiq文档,我已将并发数减少到 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
Run Code Online (Sandbox Code Playgroud)
对此的任何帮助将不胜感激。
小智 -1
我怀疑这是服务器端的连接泄漏。
Sidekiq::Middleware::Server::ActiveRecord是负责在作业完成后将连接返回到池的中间件。默认情况下应包含此内容。
当您使用标志启动服务器时-v,
bundle exec sidekiq -v -C config_file
Run Code Online (Sandbox Code Playgroud)
它将打印所有将被调用的中间件。你能检查一下这个中间件是否存在于列表中吗?
| 归档时间: |
|
| 查看次数: |
1684 次 |
| 最近记录: |