2016-06-17 14 views
0

私は最近AWSでECSに移行した完全に動作するレールアプリケーションを持っています。アップロード数時間後にAWS + Docker + Puma + Rails + S3、壊れたアップロード

私は最初の1時間ほどは問題ないと思っています。その後、霧とキャリアウェーブのアップロードはログなしで停止します。

この時点で私はこのアプリケーションを、ハプロキシロードバランサの背後にあるNGINX + PassangerモジュールがサービスするCentOSサーバーの上に直接インストールしたサーバーに戻っていませんでした。

この設定では、何ヶ月も再起動せずに実行でき、すべて正常に動作しています。

これでAlpine linux(3.3と3.4でテスト済み)のベースイメージを持つドッカーコンテナに移動し、EC2インスタンスの上にPuma Webサーバーのgemを実行しました。私はそれを開始すると、すべてが動作しているとアプリケーションが速く感じるが、いくつかの時間(必ずしも同じ期間ではない)キャリアウェーブ+ S3へのフォグのアップロードはもはや働いていない(またアップロードされたファイルの数によって影響を受けていない。数時間働いているのですが、1つしかアップロードできませんし、わずか数時間で作業しています)。

エラーメッセージは表示されません。アプリ内のログは表示されません。表示されているのは、表示されないロード中のGIFです。

私はすでに多くのテストを行っていますが、同じ結果です。現時点では、私はPumaからAlpha LinuxからCentOSまで、さまざまなWebサーバーに移行し、どの移行段階でこれが起こるのかを見ていきます(うまくいけばそれができます)。

また申し訳ありませんが、コードは正常に動作していることを知っているので、私はコードを共有しませんが、何かが必要な場合は、ここで貼り付けてください。

私はインターネット上で何かを見つけることができなかったのと同じ解決済みの問題を抱えている人がいることを願っています。

ありがとうございました

答えて

0

問題は、アプリケーションとメモリを共有していたキャッシュにありました。だから、アプリケーションが起動していて同時に複数の画像をアップロードし始めて、amazonタスクが512MBに制限されていた場合、アップロード中にこれが失敗し始めました。タスクのサイズを1.5GBに増やし、少なくとも2GのRAMを使用して小さなインスタンスで実行すると、この問題は解決されました。

関連する問題