Memcached の構成

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

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

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

パラメータ 使用できる値 デフォルト値 説明
listen-backlog (-b) 1-10000 1024 調整可能な接続バックログ キューの長さ。バックログとは、Memcached で処理するためにキューに登録されたネットワーク接続リクエストの数のことです。
disable-flush-all (-F) true、false false disable-flush-alltrue に設定すると、オープンソースの 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 はこの値の変更をサポートしていません。したがって、max-item-size の最小値は、オープンソース Memcached でサポートされている最小値(1, 024 バイト)ではなく、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) true、false false disable-castrue に設定されている場合、チェックおよび設定(CAS)オペレーションは無効になります。CAS オペレーションを無効にすると、キャッシュ内のアイテムごとに 8 バイト少なくなります。Memcached は、前回の取得以降にアイテムのデータが更新されていない場合に、CAS オペレーションを使用してアイテムのデータを更新します。
disable-evictions (-M) true、false false true に設定すると、メモリ不足の場合、Memcached はアイテムを削除する代わりにエラーを返します。メモリが使用可能になるまで、インスタンスは書き込みを受け付けません。
max-reqs-per-event (-R) 1~1000 20 1 つのクライアント接続で送信できるイベントあたりのリクエスト数を制限します。クライアントがこの値を超えてリクエストを送信すると、サーバーはその処理を続行する前に、他のクライアントを優先します。
reserved-memory-percent 0.0-50.0 10.0 インスタンスの予約済みメモリを指定の割合に設定して、メモリ オーバーヘッドに利用できる容量を増やします。この設定では、キャッシュ メモリも同じ割合で削減されます。 2021 年 10 月 25 日より前に作成されたインスタンスの場合、デフォルト値は 0 です。詳細については、メモリ管理のベスト プラクティスをご覧ください。

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

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

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

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

パラメータ デフォルト値
port (-p) 11211
memory-limit (-m) Memorystore は、インスタンス ノード構成内の各ノードに構成されたメモリと一致するようにこの値を設定します。この構成は変更できません。ただし、前述の予約済みメモリ構成を使用した予約済みメモリの追加を行うことはできます。
threads (-t) Memorystore は、各インスタンス ノードの CPU 数と一致するようにこの値を設定します。
conn-limit (-c) 65000(ノードあたり)
verbose (-v) 有効
slab_automove true(有効)
slab_reassign true(有効)
enable-largepages (-L) false(無効)
lock-memory (-k) false(無効)
expirezero-does-not-evict サポートされていません。Memcached 1.4.35 でのサポートが終了しました。
slab_chunk_max 524288 バイト
modern true(有効)

次のステップ