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


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


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

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が足りなくなった場合の対処法 NexusFontが重い場合はWindows Font Cache Serviceを無効にしよう
Nginxでkeys zoneが足りなくなった場合の対処法 ページ編集の手間を劇的に減らす、Custom Field Templateでカスタムフィールドを作る方法

おすすめの記事

W3 Total Cacheの設定を通して学ぶ、WordPressを高速化するキャッシュの仕組み

W3 Total Cacheの設定を通して学ぶ、WordPressを高速化するキャ…

ページ編集の手間を劇的に減らす、Custom Field Templateでカスタムフィールドを作る方法

ページ編集の手間を劇的に減らす、Custom Field Templateでカス…

WordPressの新・旧ループからカスタムクエリ・アーカイブまで徹底解説

WordPressの新・旧ループからカスタムクエリ・アーカイブまで徹…

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

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

これ以上ないくらい簡単な例から学ぶ、レスポンシブwebデザインの作り方

これ以上ないくらい簡単な例から学ぶ、レスポンシブwebデザイン…

本気で作りたい人向け、WordPressプラグインの作成方法

本気で作りたい人向け、WordPressプラグインの作成方法

日々の単純作業を自動化できるUWSCの使い方(入門・書式編)

日々の単純作業を自動化できるUWSCの使い方(入門・書式編)

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

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


コメントを残す

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

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