2017-05-22 6 views
0

現在、Laravelブレードテンプレートに含まれているデフォルトのビューキャッシュを使用しているアプリケーションがあります。予想どおり、ブレードファイルがコンパイルされると、キャッシュされたビューはstorage/framework/viewsに保存されます(これがデフォルトのLaravel値です)。Laravel 5.4をアップデートしてS3サーバーにプッシュするビューキャッシュとローカルストレージパス

私のTechopsチームでは、これらのコンパイルされたビューをS3サーバに配置し、ローカルインスタンスに保存する必要があると述べました。私はここでこれを上書きする可能性のある方法を見つけました。How do I disable Laravel view cache?。私は自分のアプリケーションに実装し始めました。

私の質問は、S3サーバーとローカルディレクトリがある場合は、それをプッシュする利点は何ですか?このメソッドはロード時間に遅延を発生させますか?この方法で発生するその他の問題はありますか?

答えて

0

答えが遅すぎるとは思っていませんが、私はこのアプローチで2つの影響(必ずしも負ではない)を見ることができます。

まず、ロードバランサにインスタンスが多すぎる場合は、キャッシュの使用率が上がります(これは良いことです)。

ビューを生成してローカルにキャッシュするURLがあるとします(http://example.org/foo/bar)。キャッシュは、同じサーバーがヒットした場合にのみ再度使用します。このURLに対して別のサーバーがヒットした場合、解析とキャッシングのすべてのプロセスを完了する必要があります。

すべてのインスタンスがS3バケットを指している場合、1つのインスタンスが最初にキャッシュすると、すべてをローカルでもう一度再処理する必要のない他のすべてのインスタンスで使用できるようになります。

S3はローカルディスクよりも待ち時間が長くなりますが、バケツやその他のリソースの適切な設定でスピードアップすることができます(私はこのタスクの代わりに、 s3の)。

別のことはコストです。 S3は、データを格納するEBSボリュームよりも安価です。したがって、どれだけのデータを保存するかによって、これは議論にもなります。

関連する問題