LoginSignup
44
43

More than 5 years have passed since last update.

nginxでproxy_cache_pathに指定するkey_zoneのサイズはどのくらいにすれば良いのか

Posted at

nginxでproxy_cache_pathにしているkey_zoneのサイズはどのくらいにすれば良いのか。

nginxでプロキシキャッシュを使う場合はnginx_cache_pathにパスや容量などを指定する事になる。

proxy_cache_path /var/lib/nginx/cache levels=1:2 keys_zone=CACHE:512m inactive=1d  max_size=60g;

このときkeys_zoneには共有メモリの名前と容量を指定するのだが、この容量は結局の所幾らにすればよいのか。引用すると次のようになるらしい。

Zone size should be set proportional to number of pages to cache. The size of the metadata for one page (file) depends on the OS; currently it is 64 bytes for FreeBSD/i386, and 128 bytes for FreeBSD/amd64.
-- HttpProxyModule

つまり64bitのFreeBSD環境の場合、キャッシュするオブジェクト1つにつき、128バイト消費される事になる。
なので、上の例のように60GBキャッシュするときは、1つのファイルが100KBであると仮定すると、

(60[GB]*1024*1024*1024) / (100*1024) * 128[B] /1024/1024 = 76.8 [MB]

となる。なので、76.8MB以上を指定しておけばいいということになる。

44
43
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
44
43