Database 通过从另一台服务器接收信息在服务器上创建SidekiqWorkers

Database 通过从另一台服务器接收信息在服务器上创建SidekiqWorkers,database,ruby-on-rails-4,sidekiq,jrubyonrails,Database,Ruby On Rails 4,Sidekiq,Jrubyonrails,抱歉,如果我的标题没有任何意义,但我的问题是,我有一个应用程序托管在服务器上,该应用程序使用托管在同一服务器上的数据库,而且同一服务器使用sidekiq处理大量队列 一个问题是,占用了大量内存,而且一切工作都非常缓慢,即使我有一个8核处理器,我也无法在处理队列时利用它,因为应用程序是在MRI上开发的,并且使用Unicorn 我在考虑将用于处理不同服务器上的队列的所有部分移动到另一台服务器上,在那里安装Puma和jRuby,并在那里处理队列(通过利用多个核心,这个过程应该快得多) sidekiq处

抱歉,如果我的标题没有任何意义,但我的问题是,我有一个应用程序托管在服务器上,该应用程序使用托管在同一服务器上的数据库,而且同一服务器使用sidekiq处理大量队列

一个问题是,占用了大量内存,而且一切工作都非常缓慢,即使我有一个8核处理器,我也无法在处理队列时利用它,因为应用程序是在MRI上开发的,并且使用Unicorn

我在考虑将用于处理不同服务器上的队列的所有部分移动到另一台服务器上,在那里安装Puma和jRuby,并在那里处理队列(通过利用多个核心,这个过程应该快得多)

sidekiq处理的所有数据都来自一个数据库,并存储在一个数据库中(目前是同一个数据库,从中获取信息,并存储数据)。大多数sidekiq工作人员正在接收一些信息,并使用这些信息获取其他信息,因此他们需要连接到与应用程序相同的数据库

为两个不同的应用程序提供相同的数据库,什么是一个好的解决方案? 另外,为sidekiq安装另一台带有Puma和jRuby的服务器(将来可能还有其他东西)是不是一个好主意


谢谢

即使使用MRI和Unicorn,您也可以利用多个核心:只需多次启动Unicorn或使用Puma提供的。Sidekiq也是如此。无需立即切换到JRuby

从多个应用程序访问数据库是没有问题的。但是请帮自己一个忙,使用专用的数据库服务器。这样可以更轻松地添加更多的应用程序服务器