我在DO上有一个20芯的液滴。我有一个创建图像的rake任务。使用paperclip / imagemagick转换图像。我添加了paperclip_delayed,它使用了delayed_job,作为后台工作者,我添加了Sidekiq。
因此,对于sidekiq,我可以添加额外的工作人员或设置多个线程。
在性能方面最擅长的是什么?拥有少量进程并添加大量线程更好,反之亦然?或者只要我不超过核心数量就无所谓了?
答案 0 :(得分:3)
“工人”是一个模糊的术语:使用过程或线程。
通过图像处理,您的限制因素很可能是磁盘I / O,除非您在该Droplet上有一些出色的SSD。线程将您限制为单个核心,除非图像处理例程正在出现mini_magick
之类的内容。如果是这种情况,那么只有25个线程的单个进程就足够了。