坐在这里,我有一个简单的 rails 3 应用程序,其中我有一个简单的画廊模型,每个画廊都有许多图像。图像模型使用回形针扩展,并具有以下选项
has_attached_file :local,
:styles => {
:large => "800x800>",
:medium => "300x300>",
:thumb => "100x100#",
:small => "60x60#"
}
在我的 gallery_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'}
end
end
对我来说,这是相当直截了当的。但问题来了。在 mongrel 下的开发中,任何类型的上传都可以正常工作,大约 500-1000 毫秒/上传。
但是,当我将它投入生产时,我的独角兽工作人员经常超时,当它通过它发送图像时,一个文件需要 30-55 秒。
我上传的文件大小约为 100k
我已经用 ipref 对我的 VPS 和我的开发计算机之间的带宽进行了一些测试,平均速度约为 77kbps,因此上传应该不是问题。
请注意,我还使用具有头像的用户模型的同一应用程序对非 ajax 文件上传进行了测试。开发 => 完成 302 发现在 693 毫秒 生产 => 完成 302 发现在 21618 毫秒
有人在(rails3,unicorn)文件上传时遇到过类似的问题吗?