Nginx キャッシュをtmpfs RAMディスクに持たせる

tmpfs メモリ

Nginxのキャッシュをtmpfsに設定するチップスです。

もちろん他のキャッシュ用途でも使えます。様々なキャッシュファイルをtmpfsファイルシステムに置くことで高速で読み込みさせることが出来ます。tmpfsのようなRAMディスクは物理メモリをディスクのように扱うことが出来るから高速です。つまり、物理メモリ自体にファイルを置くと、ディスクI/Oを全く発生させずに処理が可能になります!

tmpfsファイルシステムの特長

ファイルを置いた瞬間に初めてメモリを動的に確保するので無駄なく効率よくメモリを使えるということ。ここが容量固定のramfsと異なります。また、どれだけ割り当てるかはケースバイケースですが、想定する最大キャッシュと物理メモリ、他サービスが使用する全体のメモリを考えて設定して下さい。

対象のディレクトリをtmpfsに設定する

/var/run/nginx-fastcgi-cacheディレクトリをtmpfsで起動時からマウントするように設定します。

noatimeオプション

noatimeが非常に効くのは以下の2つのケース。

  1. findやメーラーなど、山ほどファイルを開きまくるケース
  2. ベンチマークソフトなど、あんまり大きくないバッファをひたすらreadしまくるケース

@see http://mkosaki.blog46.fc2.com/blog-entry-539.html

noatimeオプションを設定すると、inodeのアクセス時刻を更新しなくなるので処理速度があがります。

設定を反映させます

再起動させます。

マウントされているか確認しましょう。

簡単に実装出来ますね。

お疲れ様です。

最新情報をチェックしよう!
>システム構築・保守に特化した会社です。

システム構築・保守に特化した会社です。

システムの構築・保守運用「システムガーディアン」 社内システム担当が欲しいが、専属で雇うほどの仕事量はない。 必要な時に必要なだけ頼りたいというお悩みを持つ企業様へ専門知識を持って対応を行っております。 サーバから各種システムまで自社・他社で構築されたシステムに対してサポートを行っております。

CTR IMG