我在我的CMS中有一个功能,允许用户上传一个充满图像的zip文件,服务器将提取它们并将每个图像插入到图片库中。我注意到这会严重地消耗CPU,并导致其他请求变慢。
我正在考虑使用delayed_job插件将每个图像添加到后台,但我也想给该进程一个较低的CPU优先级,这样它就不会使服务器陷入停顿。
我对练习的延迟部分很有信心,但节流部分是我被卡住的地方。有没有一种降低方法调用优先级的ruby方式?
这是图像大小调整导致的CPU问题。
欢迎任何想法:)
发布于 2010-03-08 22:53:24
如果您的CMS运行在linux系统上,那么您可以使用"nice“命令来执行此操作。"nice“将以较低的优先级启动一个进程。使用它最简单的方法就是把nice放在你的命令前面。因此,如果您运行的命令如下
unzip uploaded-images.zip
而不是运行
nice unzip uploaded-images.zip
这将导致解压缩进程获得较低的CPU优先级,从而让其他进程先运行。有关更多选项,如如何调整优先级,请参阅man page。
https://stackoverflow.com/questions/2399183
复制相似问题