我的CMS中有一项功能,允许用户上传完整图像的zip文件,服务器将提取它们并将每个文件插入图库。我注意到这会严重影响CPU并导致其他请求变慢。
我正在考虑使用delayed_job插件将每个图像添加委托给后台,但我也想让该进程具有较低的CPU优先级,这样就不会让服务器陷入困境。
我对演习的延迟部分非常有信心,但节流部分是我被卡住的地方。是否有一种降低方法调用优先级的红宝石方法?
图像调整大小导致CPU咀嚼。
欢迎任何想法:)
答案 0 :(得分:7)
如果您的CMS在Linux系统上运行,那么您可以使用“nice”命令执行此操作。 “nice”将以较低优先级启动进程。最简单的使用方法就是在命令面前放好。所以,如果你正在运行像
这样的命令 unzip uploaded-images.zip
改为运行
nice unzip uploaded-images.zip
这将导致解压缩进程获得较低的CPU优先级,让其他进程先运行。有关更多选项,请参阅man page,例如如何调整优先级。