Sidekiq - 进程还是线程?什么最有效?

时间:2016-05-24 21:01:30

标签: ruby-on-rails multithreading background-process sidekiq

我在DO上有一个20芯的液滴。我有一个创建图像的rake任务。使用paperclip / imagemagick转换图像。我添加了paperclip_delayed,它使用了delayed_job,作为后台工作者,我添加了Sidekiq。

因此,对于sidekiq,我可以添加额外的工作人员或设置多个线程。

在性能方面最擅长的是什么?拥有少量进程并添加大量线程更好,反之亦然?或者只要我不超过核心数量就无所谓了?

1 个答案:

答案 0 :(得分:3)

“工人”是一个模糊的术语:使用过程或线程。

通过图像处理,您的限制因素很可能是磁盘I / O,除非您在该Droplet上有一些出色的SSD。线程将您限制为单个核心,除非图像处理例程正在出现mini_magick之类的内容。如果是这种情况,那么只有25个线程的单个进程就足够了。