我有一個系統使用sidekiq向隊列發送一些處理。這些過程包括對操縱圖像的程序進行系統調用。我對這個節目的表現非常糟糕。當我'頂部'我的系統時,幾乎所有的cpu都被ruby使用,而圖像軟件只需要幾個CPU。Ruby中的多線程系統調用
我試過用5,10,20,30名工人進行測試。增加更多的工人並不會提高處理性能(高值更糟糕)。
我的工作人員是這樣的:
def perform(file)
command = "convert -strip -resize 580x580 -quality 90 -sampling-factor 4:2:0 -interlace Plane #{file} #{file}.main"
`#{command}`
end
有什麼辦法改善紅寶石多線程的系統調用?
是什麼讓你覺得Resque是多線程的? –
它使用'其實內部fork' – Viren