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

おすすめの記事

今さら聞けない、変数や関数の命名規則と、まず覚えるべき英単語200

今さら聞けない、変数や関数の命名規則と、まず覚えるべき英単…

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

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

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

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

開発の最前線でクリエイター・エンジニアに必要なプログラミング言語

開発の最前線でクリエイター・エンジニアに必要なプログラミン…

全く新しい決済サービスPayPal.Meの導入と使い方を解説

全く新しい決済サービスPayPal.Meの導入と使い方を解説

サーバの処理を自動実行するcronの仕組みと応用法

サーバの処理を自動実行するcronの仕組みと応用法

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

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

公式ドキュメントよりも詳しいTinyMCEの使い方(基本編)

公式ドキュメントよりも詳しいTinyMCEの使い方(基本編)


コメントを残す

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

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