【问题标题】:Heroku taking too much time to upload to S3 (carrierwave and fog)Heroku 花费太多时间上传到 S3(载波和雾)
【发布时间】:2012-10-14 23:44:35
【问题描述】:

我有一个 Rails 应用程序,当用户从网络调用一个操作时,heroku 应用程序会生成一张随机图像,将该图像上传到 S3 并将该图像的公共 URL(存储在 s3 中)返回给用户。 .

“将该图像上传到 S3”需要很长时间,27kb 的文件需要 20 秒,这是不可能的……我真的不知道如何解决这个问题,因为它正在工作,它正在上传到 s3 但占用太多...

我正在考虑将图像从 rails 应用程序存储在 tmp 文件夹中,但我不知道在被删除之前要保存多长时间...有什么想法吗?

谢谢!

【问题讨论】:

标签: ruby-on-rails-3 heroku amazon-s3 carrierwave fog


【解决方案1】:

如果图像不是临时的,则不应将它们存储在 Heroku 上,因为当测功机处于非活动状态时它们将被删除。

我认为您应该调查将上传到 s3 的内容转移到异步后台作业。有几个可用选项:DelayedJob、Resque 和 Sidekiq 是一些更受欢迎的后台处理 gem。您还必须在 Heroku 上添加一个工作人员来处理您的后台作业。

通过将上传移至后台作业,您的用户将无需等待很长时间,因为图像上传过程将单独完成。

【讨论】:

  • 这是一个很好的解决方案...我还更改了我的 S3 的区域并且速度提高了很多。谢谢...
  • Andres,将上传更改为后台作业会减少上传时间吗?从技术上讲,它不应该改变上传时间。我遇到了同样的问题...您使用的是哪个区域?
猜你喜欢
  • 1970-01-01
  • 2012-03-16
  • 2016-05-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多