Привет!
Очень странное поведение рельс:
Имеется пустой экшн:
def show
render json: {success: true}
end
Если выполнить запрос вида:
curl -X POST -H "Cache-Control: no-cache" http://localhost
результат - 0.02 сек, и это хорошо.
Но стоит отправить файл размером, например, 1 мб на экшн, то результат разительно отличается:
curl -X POST -H "Cache-Control: no-cache" -H "Content-Type: image/jpeg" -F "avatar=@test.png" "http://locahost
результат - 1.2 сек! это никуда не годится.
т.е. если добавляетм любые данные в тело запроса - время ответа увеличивается ооочень значительно.
Теоретически, все работает на локале, на ssd, время доставки файла в приложение должно быть ~ 0 сек.
Для сравнения, тестировал на yii - результат ожидаемый, 1 мб файл загружается в пустой экшн за 0.1 сек.
Ребята, гуру, в чем дело? Что делают рельсы при разборе запроса, что приводит к тормозам?
Та же проблема, только задал вопрос на
stackoverflow.com/questions/41236396/1-second-late...