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を無効にしよう

おすすめの記事

WordPressで手軽にAdblock対策するならBetter Stop AdBlockで決まり!

WordPressで手軽にAdblock対策するならBetter Stop AdBlockで決…

エンティティとデコード用プラグイン「Entity Decode Button」を作成しました

エンティティとデコード用プラグイン「Entity Decode Button」…

SNSのカウントをキャッシュするWordPressのプラグインを作成しました

SNSのカウントをキャッシュするWordPressのプラグインを作成し…

「このアプリがシャットダウンを妨げています」と表示されるがアプリがわからない場合の対処法

「このアプリがシャットダウンを妨げています」と表示されるが…

自前の国別IPv6、IPv4アドレス割当リストを作成しよう

自前の国別IPv6、IPv4アドレス割当リストを作成しよう

誤って削除したGoogle Chromeのブックマークを復元する方法

誤って削除したGoogle Chromeのブックマークを復元する方法

Adblock対策プラグイン「End of Adblock Cycle」を作成しました

Adblock対策プラグイン「End of Adblock Cycle」を作成しました

WordPressに「トップへ戻る」ボタンを設置して、フックの仕組みについて学ぼう

WordPressに「トップへ戻る」ボタンを設置して、フックの仕組み…


コメントを残す

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

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