2016-08-07 17 views
4

私はDockerコンテナでNginxを実行しており、いくつかの静的ファイルを提供しています。ファイルはnever実行時に変更されます - 実際に変更すると、コンテナが停止し、イメージが再構築され、新しいコンテナが開始されます。Nginxの静的ファイルをメモリに永久にキャッシュしますか?

パフォーマンスを向上させるには、Nginxが静的ファイルをディスクから1回だけ読み込み、それをメモリから永遠にサーバーに保存すれば完璧です。私はキャッシングを設定するいくつかの設定オプションを見つけましたが、少なくとも私が見てきたことから、私が探していたこの "永遠の"振る舞いを誰も提供していませんでした。

これはまったく可能ですか?もしそうなら、これを達成するためにNginxをどのように設定する必要がありますか?

+0

私はこのような答えを試したと思いますか? http://stackoverflow.com/a/20026096/90800 –

+0

いいえ、これは*私が探していたもの(そして私が見つけられなかったもの)でした。あなたのコメントを答えにすると、私はそれをうれしく受け入れます。ありがとう:-)! –

+0

私はもう一度です:申し訳ありませんが、実際に私が探していたものであるかどうかはもう分かりません:これが正しいとすれば、クライアントサイドでのキャッシュが可能になりますが、サーバー側(私はNginxがファイルシステムに一度以上触れないようにしたい)。これでこれが達成されるのでしょうか、私はここで何かを逃していますか? –

答えて

3

オペレーティングシステムは、デフォルトでメモリキャッシングを実行します。それはpage cacheと呼ばれています。さらに、sendfileを有効にして、カーネルスペースとユーザースペースの間でデータをコピーしないようにすることもできます。

+0

つまり、私が望む振る舞いを得るために何もする必要はありませんか? –

+1

ファイルをキャッシュするのに十分なメモリがある場合、キャッシュされますOSによって。 – VBart

+0

ねえ、おかげで:-) –

関連する問題