Сидя здесь с простым приложением rails 3, в котором у меня есть простая модель галереи, и в каждой галерее много изображений.Модель изображения расширена с помощью скрепки и со следующими параметрами
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'}
end
end
Для меня это довольно просто.Но тут возникает проблема.В разработке под mongrel любой вид загрузки работает просто отлично, примерно 500-1000мс / загрузка.
Однако, когда я запускаю его в производство, я постоянно получаю тайм-ауты моих рабочих-единорогов, и когда он отправляет изображение через него, требуется от 30 до 55 секунд для одного файла.
файлы, которые я загружаю, имеют размер около 100 КБ
Я провел некоторое тестирование пропускной способности между моим VPS и моим компьютером dev с ipref и получил среднюю скорость около 77 Кбит / с, поэтому загрузка не должна бытьпроблема.
Примечание. Я также провел тест с загрузкой файлов без AJAX, используя то же приложение с пользовательской моделью, в которой есть аватар.Разработка => Завершено 302 Обнаружено за 693 мс Производство => Завершено 302 Обнаружено за 21618 мс
Кто-нибудь сталкивался с подобной проблемой при загрузке файлов (rails3, unicorn)?