Почему загрузка файлов в rails + puma настолько медленная?

Привет!
Очень странное поведение рельс:

Имеется пустой экшн:
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...
  • Вопрос задан
  • 166 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы