Nginxでkeys zoneが足りなくなった場合の対処法


投稿日:2015年9月26日
  • 2
  • 0



キャッシュのキーサイズが足りない!

nginx_key

nginxのエラーログを見てみると以下の記述が大量に出ていました。

2015/05/22 16:47:25 [crit] 1628#0: ngx_slab_alloc() failed: no memory in cache keys zone "czone"

どうやらリバースプロキシに設定したczoneで、キャッシュのためのキーのサイズが足りないとのこと。
調べてみるとリバースプロキシのキャッシュ1つにつき128バイト使うようです。

試しにファイル数を調べてみます。
ちなみにproxy_cache_pathkeys_zoneのサイズは8MBに設定されていました。

# <span class="functions">find</span> /var/cache/nginx/ -type f | <span class="functions">wc</span> -l

62133」と表示されました。
62133*128=7953024なので、どうやら計算通り上限の8MBに達していたようです。

念のため以下のコマンドでキャッシュ全体のサイズも確認したところまだ余裕がありました。

$ <span class="functions">du</span> -s -m /var/cache/nginx/

ではnginxの設定を変えます。

# cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.org ← 念のためコピー
# vi /etc/nginx/nginx.conf

proxy_cache_pathの行を探してキャッシュのkeys_zoneのサイズを8MBから倍の16MBに増やします。ついでにキャッシュのサイズも5GBから7BGに増やしました。

proxy_cache_path  /var/cache/nginx levels=1:2 keys_zone=czone:8m max_size=5000m inactive=1d;
↓
proxy_cache_path  /var/cache/nginx levels=1:2 keys_zone=czone:16m max_size=7000m inactive=1d;

これで運用したところ、今のところエラーメッセージは出ていません。


現在のページを共有する



現在のページに関連する記事

Nginxでkeys zoneが足りなくなった場合の対処法 Nginxとリバースプロキシ、php-fpmとOPcacheのインストールと設定
Nginxでkeys zoneが足りなくなった場合の対処法 NginxとFastCGIの組み合わせでHTTP_USER_AGENTが取得できない
Nginxでkeys zoneが足りなくなった場合の対処法 サーバリソースをリアルタイムに監視するdstatのインストールと使い方
Nginxでkeys zoneが足りなくなった場合の対処法 WordPressのコメント欄に追加された「次回のコメントで使用するため…」を削除する方法
Nginxでkeys zoneが足りなくなった場合の対処法 BIND DNS サーバの正引き用ゾーンファイルと、逆引き用ゾーンファイルの作成方法
Nginxでkeys zoneが足りなくなった場合の対処法 ページ編集の手間を劇的に減らす、Custom Field Templateでカスタムフィールドを作る方法
Nginxでkeys zoneが足りなくなった場合の対処法 NexusFontが重い場合はWindows Font Cache Serviceを無効にしよう

おすすめの記事

作業効率を飛躍的に向上させる!実務で使うIllustratorのショートカット一覧

作業効率を飛躍的に向上させる!実務で使うIllustratorのショー…

メールのエラーコードと、メールサーバのmaillog解析方法まとめ

メールのエラーコードと、メールサーバのmaillog解析方法まとめ

Web制作の仕組みを根底から覆すかもしれないWix ADIの人工知能

Web制作の仕組みを根底から覆すかもしれないWix ADIの人工知能

iptablesの設定ファイルをシェルスクリプトを利用して動的に作成

iptablesの設定ファイルをシェルスクリプトを利用して動的に作成

Windows 10でネットワークが不安定になった際の対策まとめ

Windows 10でネットワークが不安定になった際の対策まとめ

ImageMagickをWindowsのXAMPPに導入する方法

ImageMagickをWindowsのXAMPPに導入する方法

サーバで管理していたWordPressをローカル環境に移行する方法

サーバで管理していたWordPressをローカル環境に移行する方法

ユーザーの環境変数を設定するbashの設定ファイルと、カスタムプロンプトについて

ユーザーの環境変数を設定するbashの設定ファイルと、カスタム…


コメントを残す

コメントは認証制のため、すぐには反映されません。

プログラミングに関する質問は「日本語でプログラミングの悩みを解決するQ&Aサイト sukegra」をご利用ください。