Ruby Sidekiq工人比Resque慢

Ruby Sidekiq工人比Resque慢,ruby,heroku,amazon-ec2,resque,sidekiq,Ruby,Heroku,Amazon Ec2,Resque,Sidekiq,我正在生产中尝试sidekiq和我的resque系统。现在我知道这并不是一个苹果对桔子的比较,但我在一个heroku工人身上运行的resque工作需要大约4秒才能完成。我在一个带有sidekiq的amazon大型实例上只运行了50个线程,相同的作业平均需要18秒左右。这些工作需要大量使用第三方API,因此我假设我的瓶颈只是我的网络连接,但我只是想看看是否有人对我如何更好地配置sidekiq提出了建议。sidekiq工作人员只有在使用jruby或rubinius时才能并行工作,因为ruby mri

我正在生产中尝试sidekiq和我的resque系统。现在我知道这并不是一个苹果对桔子的比较,但我在一个heroku工人身上运行的resque工作需要大约4秒才能完成。我在一个带有sidekiq的amazon大型实例上只运行了50个线程,相同的作业平均需要18秒左右。这些工作需要大量使用第三方API,因此我假设我的瓶颈只是我的网络连接,但我只是想看看是否有人对我如何更好地配置sidekiq提出了建议。

sidekiq工作人员只有在使用jruby或rubinius时才能并行工作,因为ruby mri具有全局解释器锁


只有将jruby或Rubinius与线程安全库结合使用,而不阻塞他们使用的资源,Sidekiq工作人员才能更快地工作。所以使用sidekiq而不是resque的主要原因是节省内存

如果需要18秒,但你一次做50次,这仍然比一个heroku工人每工作4次的吞吐量快得多。你使用的是什么版本的ruby?