我是Sidekiq的新手,并在Amazon EC2实例上使用
Ruby来使用ImageMagick和图像做一些工作.
在运行它时,我意识到每个工作者都在同一个核心上运行.我使用EC2 c3.2xlarge机器,它们有8个核心.它显示cpu使用率为15%,但一个核心使用100%,其他核心使用0%.
Sidekiq可以为不同的工作人员使用不同的cpu内核吗?如果可以的话,ImageMagic会导致效率低下吗?如何才能使用其他内核?
解决方法
如果您想使用MRI来利用多个核心,您需要启动多个Sidekiq进程;为sidekiq实例配置多个线程是不够的.
因此,如果您想使用所有8个核心,您将启动8个进程.它们都将从相同的队列中获取,因此无需担心多次处理作业.