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 で、各スラブページのデフォルト サイズがオーバーライドされます。このパラメータのデフォルト値は 1048576 バイトです。最小値は 524288 バイトで、オープンソースの Memcached では最大値は 1073741824 bytes(1 GB)ですが、現時点(ベータ版リリース)で、Memorystore は最大 134217728 バイト(128 MB)をサポートしています。この値を調整すると、アイテムサイズの制限が変更されます。次のような制約があります。
  • max-item-size は slab_chunk_max 以上にする必要があります。slab_chunk_max のサイズは 524288 バイト(512 KB)に設定されており、Memorystore for Memcached ではこの値の変更はサポートされていません。したがって、max-item-size の最小値は、Memcached でサポートされている最小値(1024)ではなく、524288 になります。
  • max-item-size は slab_chunk_max(524288 バイト)で割り切れます。
  • 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 1 つのクライアント接続で作成できるイベントあたりのリクエスト数を制限します。クライアントがこの値を超えると、サーバーは他のクライアントに優先順位を付けてから、元のクライアント リクエストの処理を続行します。

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

パラメータ 使用できる値 デフォルト値 説明
track_sizes 0、1 0(無効) track-sizes1 に設定されている場合、ユーザーは Memcached stats sizes コマンドを実行できます。本番環境ではこの構成を有効にすることはおすすめしていません。
watcher_logbuf_size 0〜2097151(キビバイト) 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(有効)

次のステップ