确定Puma上Rails 4 app的最佳DB池大小

时间:2015-10-20 14:15:20

标签: ruby-on-rails postgresql activerecord heroku puma

我最近在我的应用上遇到ActiveRecord::ConnectionTimeoutError错误。这是在Puma上部署到Heroku的Rails 4应用程序。当我运行heroku pg:info时,我发现当遇到ActiveRecord::ConnectionTimeoutError错误时,只有5/20个连接处于活动状态。我在阅读this forum post on Heroku之后最终将我的MAX_THREADSMIN_THREADS env变量从2增加到5,这使问题暂时消失,但该解决方案似乎对问题应用了一些黑魔法并希望它消失。

我想知道的是如何正确确定我的连接池需要多大。现在我有一个网络工作者和两个额外的resque工作人员。

我的应用程序当前处理了大量的S3图像上传,我认为这可能会引发问题。这是我想要传递给resque工作人员以释放网络工作者的事情。我确实注意到在我增加池大小后上传过程急剧加快,但是我担心只是增加池大小不是一个可扩展的长期解决方案。

0 个答案:

没有答案