質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Ruby on Rails 5

Ruby on Rails 5は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Amazon RDS

Amazon RDSは、米アマゾン社が提供しているRDBMSサービス。クラウド上でのリレーショナルデータベースの構築および運用が可能です。MySQL/PostgreSQL/Oracle/SQL Serverのインストールを容易にすることができます。

nginx

nginixは軽量で高性能なwebサーバーの1つです。BSD-likeライセンスのもとリリースされており、あわせてHTTPサーバ、リバースプロキシ、メールプロキシの機能も備えています。MacOSX、Windows、Linux、上で動作します。

Amazon S3

Amazon S3 (Simple Storage Service)とはアマゾン・ウェブ・サービスが提供するオンラインストレージサービスです。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

Q&A

0回答

773閲覧

Rails + Nginx + Puma + AWS + S3 + RDS + ELBで大きいサイズのファイルをデータベースに登録する処理に時間がかかる

lyzmfeqpxs54

総合スコア237

Ruby on Rails 5

Ruby on Rails 5は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Amazon RDS

Amazon RDSは、米アマゾン社が提供しているRDBMSサービス。クラウド上でのリレーショナルデータベースの構築および運用が可能です。MySQL/PostgreSQL/Oracle/SQL Serverのインストールを容易にすることができます。

nginx

nginixは軽量で高性能なwebサーバーの1つです。BSD-likeライセンスのもとリリースされており、あわせてHTTPサーバ、リバースプロキシ、メールプロキシの機能も備えています。MacOSX、Windows、Linux、上で動作します。

Amazon S3

Amazon S3 (Simple Storage Service)とはアマゾン・ウェブ・サービスが提供するオンラインストレージサービスです。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

0グッド

0クリップ

投稿2020/03/26 08:12

いつもお世話になっております。
現在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

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

no1knows

2020/03/26 16:29

リンクを読んだ限りアップロード完了までは、A+Bで180秒ということだと思うのですが、下記はBのみの話をしているのでしょうか? > コントローラー側に入ってから、データベースへの登録までの時間が、1Gのファイルで約1分程度かかってしまいます。
lyzmfeqpxs54

2020/03/27 02:19

ご回答ありがとうございます。 言葉が足らず申し訳ございません。 Bのみで1分程度かかってしまっている状況です。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問