从最近几周开始,我看到此错误“无法在5.000秒内获得数据库连接”。我尝试了以下解决方案。

根据Sidekiq Docs,我已将并发减少为10,并将MySql数据库池大小增加为12。但是我仍然遇到此错误,因此我将数据库池大小增加为27。但是,问题仍然存在。尝试从thisthis答案中解决。我的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 

它将打印所有将被调用的中间件。您可以检查列表中是否存在该中间件?


评论关闭
IT序号网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!