ruby-on-rails-3 – 上传回形针非常慢(独角兽)

ruby-on-rails-3 – 上传回形针非常慢(独角兽),第1张

概述坐在这里有一个简单的rails 3 app,我有一个简单的Gallery模型,每个画廊都有很多图像.使用回形针和以下选项扩展图像模型 has_attached_file :local, :styles => { :large => "800x800>", :medium => "300x300>", :thumb => "100x100#", 坐在这里有一个简单的rails 3 app,我有一个简单的gallery模型,每个画廊都有很多图像.使用回形针和以下选项扩展图像模型

has_attached_file :local,:styles => {     :large => "800x800>",:medium => "300x300>",:thumb => "100x100#",:small => "60x60#"   }

在我的gallerIEs_controller中,我执行了以下 *** 作以使用jQuery-File-Upload插件.从而Json响应.

def add_image   gallery = gallery.find params[:ID]   image = gallery.images.new({:local => params[:local]})   if image.save     render :Json => {:thumb => image.url(:thumb),:original => image.url}   else      render :Json => { :result => 'error'}   endend

对我来说,这是相当直接的.但问题来了.在Mongrel下的开发中,任何类型的上传都可以正常工作,大约500-1000ms /上传.

然而,当我将它推向生产时,我不断地让我的独角兽工作人员超时,当它发送图像时,一个文件需要30-55秒.

我上传的文件大小约为100k

我已经对我的VPS和我的开发计算机之间的带宽进行了一些测试,并且平均速度大约为77kbps,因此上传应该不是问题.

注意我还使用具有头像的用户模型的相同应用程序进行了非AJAX文件上载测试.
发展=>完成302发现在693ms
生产=>完成302发现在21618ms

任何人都遇到类似的问题(rails3,unicorn)文件上传?

解决方法 所以在挖掘之后,我设法确定在我的VPS上,ImageMagick中的OpenMP选项导致了非常慢的 *** 作.所以我的第一次尝试是重建原生Ubuntu 10.04包,并添加了–disable-openmp标志.由于某种原因,这失败了,虽然我不确定为什么打包出来的openMP仍然有效.我现在的解决方案现在改为从Ubuntu 10.10向后移植ImageMagick.下面是我采取的步骤:

步骤1下载以下文件:

> imagemagick_6.6.2.6-1ubuntu1.1.dsc
> imagemagick_6.6.2.6.orig.tar.bz2
> imagemagick_6.6.2.6-1ubuntu1.1.debian.tar.bz2

从here

第2步打开包装

$dpkg-source -x imagemagick_6.6.2.6-1ubuntu1.1.dsc

第3步编辑规则

$cd imagemagick-6.6.2.6$vim debian/rules

将以下行添加到第25-39行的./configure语句中.我在第34行添加了我的.

34: --disable-openmp \

第4步添加依赖项和构建(我需要这些依赖项)

$sudo apt-get install liblqr-1-0-dev librsvg2-dev$dpkg-buildpackage -b

步骤5用旧的,用新的

$sudo apt-get remove --purge imagemagick$sudo dpkg -i libmagickcore3_6.6.2.6-1ubuntu1.1_amd64.deb$sudo dpkg -i libmagickwand3_6.6.2.6-1ubuntu1.1_amd64.deb$sudo dpkg -i imagemagick_6.6.2.6-1ubuntu1.1_amd64.deb

第6步再次进行快速图像转换

_before_ (with openmp)$time utilitIEs/convert 'image.jpg' -resize "x60" -crop "60x60+10+0" +repage 'thumb'real    0m11.602suser    0m11.414ssys  0m0.069s_after_$time utilitIEs/convert 'image.jpg' -resize "x60" -crop "60x60+10+0" +repage 'thumb'real    0m0.077suser    0m0.058ssys  0m0.019s
总结

以上是内存溢出为你收集整理的ruby-on-rails-3 – 上传回形针非常慢(独角兽)全部内容,希望文章能够帮你解决ruby-on-rails-3 – 上传回形针非常慢(独角兽)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1278081.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-09
下一篇 2022-06-09

发表评论

登录后才能评论

评论列表(0条)

保存