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

おすすめの記事

rsyslogを利用したログファイル作成と、logrotateを利用したログのローテーション

rsyslogを利用したログファイル作成と、logrotateを利用したロ…

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

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

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

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

Custom Post Type UIでカスタム投稿を作って、誰でも簡単に編集できる投稿画面を作る方法

Custom Post Type UIでカスタム投稿を作って、誰でも簡単に編集…

初めてでも理解できるようになる「Firefox機能拡張の開発」

初めてでも理解できるようになる「Firefox機能拡張の開発」

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

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

Google Adsenseで配信される詐欺的なサイトのブロック用URLまとめ

Google Adsenseで配信される詐欺的なサイトのブロック用URLまとめ

初めてでも理解できるようになる「Google Chrome機能拡張の開発」

初めてでも理解できるようになる「Google Chrome機能拡張の開発」


コメントを残す

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

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