Sidekiq - 进程还是线程?什么最有效?
Sidekiq - Processes or threads? Whats most effective?
我在 DO 上有一个 20 核心的 Droplet。我有一个创建图像的 rake 任务。图像使用 paperclip/imagemagick 转换。我添加了使用 delayed_job 的 paperclip_delayed 并且作为后台工作者我添加了 Sidekiq。
因此,借助 sidekiq,我可以添加额外的工作人员或设置多个线程。
在性能方面最好的是什么?拥有少量进程并添加大量线程是否更好,反之亦然?还是只要我不超过核心数量就无所谓?
"Worker"是一个模糊的名词:使用进程或线程。
对于图像处理,您的限制因素可能是磁盘 I/O 除非您在该 droplet 上安装了一些出色的 SSD。线程将您限制为单核,除非图像处理例程正在处理 mini_magick
之类的东西。如果是这样的话,一个有25个线程的进程就足够了。
我在 DO 上有一个 20 核心的 Droplet。我有一个创建图像的 rake 任务。图像使用 paperclip/imagemagick 转换。我添加了使用 delayed_job 的 paperclip_delayed 并且作为后台工作者我添加了 Sidekiq。
因此,借助 sidekiq,我可以添加额外的工作人员或设置多个线程。
在性能方面最好的是什么?拥有少量进程并添加大量线程是否更好,反之亦然?还是只要我不超过核心数量就无所谓?
"Worker"是一个模糊的名词:使用进程或线程。
对于图像处理,您的限制因素可能是磁盘 I/O 除非您在该 droplet 上安装了一些出色的 SSD。线程将您限制为单核,除非图像处理例程正在处理 mini_magick
之类的东西。如果是这样的话,一个有25个线程的进程就足够了。