使用 rmagick 处理图像时,Amazon ec2 cpu 使用率非常高
我有一个使用 rmagick 和 imagemagick 进行图像处理的应用程序。该图像处理是通过 resque 和 redis 在后台作业中完成的。问题是,即使只有一名进行图像处理的工作人员也会消耗大量的 CPU。我做了一些研究并在禁用 open mp 的情况下重新编译了 imagemagick。我还能做些什么来使资源使用合理吗?
我正在使用高 CPU 亚马逊实例,操作系统为 ubuntu 10.04。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可能会关注 GraphicsMagick,这是一个专注于更高性能的分支;他们的一些较旧的基准测试显示了您可能会看到的性能提升。
我最近没有重复这些基准,因此不能保证它们的独立性或最新版本的准确性。我可以说几年前我们的观察结果与这种性能差异相符。
唯一有用的方向是,如果您的图像合适,寻找不解压缩图像的各种算法。 JPEG 有很多可以对压缩数据执行操作的工具 - 大大减少处理时间和内存消耗,与处理解压缩的数据相比。
You might look to GraphicsMagick, a fork that focused on higher performance; some of their older benchmarks show the sort of performance gain you might see.
I have not repeated those benchmarks in recent times, so can't vouch for either their independence or their accuracy with the most recent versions. I can say that a couple of years back our observations matched that performance difference.
The only other useful direction is, if your images are suitable, looking for various algorithms that don't decompress the image. JPEG has lots of tools that can perform on the compressed data - substantially reducing both processing time, and memory consumption, compared to working on the decompressed data.
看来我已经通过执行以下操作解决了该问题:
我删除了 ubuntu 安装的 imagemagick 软件包的所有痕迹。
然后我卸载了上述查询产生的所有 ubuntu 软件包。之后,我在禁用 open mp 的情况下重新编译了 imagemagick,并重新安装了 rmagick gem。
It seems I have resolved the issue by doing the following:
I removed all traces of the ubuntu installed imagemagick packages.
I then uninstalled all the ubuntu package that resulted from the above query. After that I recompiled imagemagick with open mp disabled and reinstalled the rmagick gem.