いつもお世話になっております。
現在Ralisでwebページを作成しております。
AWS上でRails + Nginxでシステム運用しており、ファイルのアップロードはCarrierwave、アップロード先はAWSのS3を用いております。
データベースはRDSを使用しています。
ファイルアップロードする機能を作成しているのですが、コントローラー側に入ってから、データベースへの登録までの時間が、1Gのファイルで約1分程度かかってしまいます(下記コード部分です)。
下記サイトを見てみると、1G程度の場合待ち時間は遅くとも20秒程度といったような内容が書いてあるのですが、どういった原因が考えられますでしょうか。
CarrierWaveでキャッシュを作らない設定はしております。
参考サイト
https://techracho.bpsinc.jp/baba/2014_10_08/19139
ruby
1 2app/controller/xxxx.rb 3# アップロードメソッド 4def create 5 6 ## 省略 ## 7 # dataに1Gのファイル 8 @user = User.new( name: params[:name], 9 password: params[:password], 10 data: params[:data]) 11 # ここから 12 if @user.save 13 # ここまではの時間が1分 14 redirect_to controller: 'mypages', action: 'show' 15 else 16 # エラー 17 render 'registers/show' 18 end 19 20end 21 22 23CarrierWaveの設定 24# app/uploaders/xxx.rb 25class FileUploader < CarrierWave::Uploader::Base 26 storage :file 27 28 def move_to_cache 29 true 30 end 31 32 def move_to_store 33 true 34 end 35end 36
調べ方が悪いとは思うのですが、ググっても分からずこちらに質問させていただきました。
参考になるサイトでも構いませんので、適切な方法をご教示いただけますと幸いです。
よろしくお願いいたします。
環境
Amazon Linux release 2 (Karoo)
Rails 5.2.3
Ruby version: 2.6.1
RDS
ELB
S3
あなたの回答
tips
プレビュー