Memcached の構成

このページでは、Memorystore for Memcached の Memcached 構成パラメータ(変更可能、変更不可能の両方)と、パラメータのデフォルト値のリストを示します。

変更可能な構成パラメータ

Memorystore for Memcached インスタンスを作成または更新する際に、次のパラメータを変更できます。パラメータを更新する場合は、パラメータの変更と適用の 2 つのステップがそれぞれ必要となります。これらの構成を変更する方法の詳細については、Memcached インスタンスの設定をご覧ください。

パラメータ 使用できる値 デフォルト値 説明
listen-backlog (-b) 1-10000 1024 調整可能な接続バックログ キューの長さ。バックログとは、Memcached で処理するためにキューに登録されたネットワーク接続リクエストの数のことです。
disable-flush-all (-F) 0、1 0 disable-flush-all1 に設定すると、オープンソースの Memcached flush-all コマンドが無効になります。この構成を変更すると cmd_flush カウンタが増加しますが、実際にはフラッシュは発生しません。
max-item-size (-I) 524288~134217728(バイト) 1048576 Memcached パラメータ max-item-size は、インスタンスに保存されているアイテムの最大サイズを設定します。次のような追加の制約があります。
  • max-item-size は slab_chunk_max より大きい値でなければなりません。slab_chunk_max は 524,288 バイト(512 KiB)に設定され、Memorystore for Memcached はこの値の変更をサポートしていません。したがって、オープンソース Memcached でサポートされている最小値(1,024 バイト)とは異なり、max-item-size の最小値は 524,288 バイトです。
  • max-item-size は slab_chunk_max(524,288 バイト)で割り切れる必要があります。
  • max-item-size は、キャッシュに割り当てられた合計サイズ(-m フラグ)の半分以下にする必要があります。
slab-min-size (-n) 1~1024(バイト) 48 最小のアイテムサイズと最小の Memcached スラブのサイズを設定します。
slab-growth-factor (-f) 1.01~100.00 1.25 slab-growth-factor は、Memcached のチャンク / スラブのサイズ計算に使用される乗数です。この値を下げると、メモリ使用の効率が向上しますが、格納されるアイテムのサイズとインスタンスの使用可能なメモリによって異なります。
protocol (-B) auto、ascii 自動 バインディング プロトコル。サーバーに接続するプロトコル クライアントにどれを使用する必要があるかを指定します。Auto はバイナリ プロトコルと ASCII プロトコルの両方をサポートします。
disable-cas (-C) 0、1 0 disable-cas が 1 に設定されている場合、チェックおよび設定(CAS)オペレーションは無効になります。CAS オペレーションを無効にすると、キャッシュ内のアイテムごとに 8 バイト少なくなります。Memcached は、前回の取得以降にアイテムのデータが更新されていない場合に、CAS オペレーションを使用してアイテムのデータを更新します。
disable-evictions (-M) 0、1 0 1 に設定すると、メモリ不足の場合、Memcached はアイテムを削除する代わりにエラーを返します。メモリが使用可能になるまで、インスタンスは書き込みを受け付けません。
max-reqs-per-event (-R) 1~1000 20 単一のクライアント接続で実行できるイベントごとのリクエスト数を制限します。クライアントがこの値を超えると、サーバーは元のクライアント リクエストの処理を続行する前に、他のクライアントを優先します。

サポートされている拡張オプション

パラメータ 使用できる値 デフォルト値 説明
track_sizes 0、1 0(無効) track-sizes1 に設定されている場合、ユーザーは Memcached stats sizes コマンドを実行できます。本番環境ではこの構成を有効にすることはおすすめしていません。
watcher_logbuf_size 0~2097151(KiB) 262144 接続されているアクティブなウォッチャーあたりの書き込みバッファのサイズ。この構成を変更すると、watch コマンドのログ バッファサイズのサイズが調整されます。ログが失われないようにするには、watcher_logbuf_size がいっぱいになったらそれを増やしてください。
worker_logbuf_size 48〜524288(キビバイト) 65536 アクティブな各ワーカーのバッファのサイズを制御します。バックグラウンド スレッドは、これらのバッファから読み取ります。
lru_crawler 0、1 1(有効) lru_crawler 構成を使用すると、スラブをスキャンして、最近使用されていない(LRU)項目をバックグラウンド プロセスから削除できます。このプロセスは、CPU やメモリを大量に消費するものではありません。lru_crawler1 に設定すると、lru_crawler 0 に設定するまで、起動時にこのプロセスが実行されます。
hashpower 13-32 16 ハッシュ テーブルの初期サイズに対する整数の乗数。ハッシュのサイズが大きくなると増加します。
idle_timeout 0~86400 秒 0(無効) デフォルトは 0(無効)です。この構成では、タイムアウトになって切断されるまでの、クライアントのアイドル状態の許容時間を秒単位で設定します。
lru_maintainer 0、1 1(有効) デフォルトで有効。 lru_maintainer は、すべてのアイテムを「最近使用したアイテム」(lru)の順に適切に並べ替えるために、アイテムの最近のアクセス状況を判定するバックグラウンド プロセスです。
maxconns_fast 0、1 0(無効) クライアントの最大数に達したときの Memcached による新しい接続の処理方法を管理します。maxconns-fast0 に設定されているときは、最大接続制限を超える接続がキューに追加されます。maxconns-fast1 に設定されているときは、最大接続制限を超える接続は破棄され、エラー メッセージが表示されます。
hash_algorithm jenkins、murmur3 murmur3 インスタンスが使用するハッシュ アルゴリズムを指定します。

変更不可の構成パラメータ

次の表では、Memorystore for Memcached で変更できない Memcached 構成パラメータと、パラメータのデフォルト値を示します。詳細については、ネイティブ Memcached 構成パラメータの一覧をご覧ください。

パラメータ デフォルト値
port (-p) 11211
memory-limit (-m) インスタンス ノード構成内の各ノードに設定されたメモリと一致するように設定します。
threads (-t) 各インスタンス ノードの CPU 数に合わせて設定します。
conn-limit (-c) 65000(ノードあたり)
verbose (-v) 有効
slab_automove 1(有効)
slab_reassign 1(有効)
enable-largepages (-L) 0(無効)
lock-memory (-k) 0(無効)
expirezero-does-not-evict サポートされていません。Memcached 1.4.35 でのサポートが終了しました。
slab_chunk_max 524288 バイト
modern 1(有効)

次のステップ