[英]Multithreaded system calls in Ruby
我有一個使用sidekiq將一些處理發送到隊列的系統。 這些過程包括對操縱圖像的程序進行系統調用。 我的程序性能很差。 當我“頂”我的系統時,幾乎所有的cpu都被ruby消耗,而圖像軟件僅消耗了幾個CPU。
我嘗試與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
有什么方法可以改善Ruby中的多線程系統調用?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.