Memcached 固有のパラメータ - Amazon ElastiCache

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Memcached 固有のパラメータ

Memcached クラスターにパラメータグループを指定しない場合、エンジンのバージョンに適したデフォルトのパラメータグループが使用されます。デフォルトのパラメータグループのパラメータの値を変更することはできません。ただし、カスタムパラメータグループを作成し、いつでもクラスターに割り当てることはできます。詳細については、「パラメータグループを作成する」を参照してください。

Memcached 1.6.17 の変更点

Memcached 1.6.17 以降、lru_crawlerlru、および slabs 管理コマンドはサポートされなくなりました。これらの変更により、lru_crawler コマンドを使ってランタイムで有効または無効にできなくなります。lru_crawler は、カスタムパラメータグループを変更して有効または無効にしてください。

Memcached 1.6.6 で追加されたパラメータ

Memcached 1.6.6 では、追加のパラメータはサポートされません。

パラメータグループファミリー: memcached1.6

Memcached 1.5.10 パラメータの変更

Memcached 1.5.10 では、次のパラメータが追加でサポートされます。

パラメータグループファミリー: memcached1.5

名前 詳細 説明
no_modern

デフォルト: 1

タイプ:ブール値

変更可能: はい

許可された値: 0,1

変更の適用: 起動時

slab_reassignslab_automovelru_crawlerlru_maintainermaxconns_fast コマンドを無効にするためのエイリアス。No modern は、hash_algorithm も jenkins に設定し、ASCII VALUE のインラインも許可します。Memcached 1.5 以上に適用されます。最新に戻すには、このパラメータを無効にして再起動する必要があります。これにより、slab_reassignslab_automovelru_crawlerlru_maintainer、および maxconns_fast が自動的に有効になります。

注記

2021 年 8 月 20 日現在、このパラメータのデフォルトの設定値は 0 から 1 に変更されています。更新されたデフォルト値は、2021 年 8 月 20 日以降、各リージョンの Elasticache の新規ユーザーによって自動的に取得されます。2021 年 8 月 20 日以前のリージョンで ElastiCache を使用する既存ユーザーは、この新しい変更を取得するためにカスタムパラメータグループを手動で変更する必要があります。

inline_ascii_resp

デフォルト: 0

タイプ:ブール値

変更可能: はい

許可された値: 0,1

変更の適用: 起動時

アイテム内の VALUE レスポンスからの数値が保存されます。最大 24 バイトを使用します。ASCII getfaster セットの小さい減速。

Memcached 1.5.10 では、次のパラメータが削除されます。

名前 詳細 説明
expirezero_does_not_evict

デフォルト: 0

タイプ:ブール値

変更可能: はい

許可された値: 0,1

変更の適用: 起動時

このバージョンではサポートされなくなりました。

modern

デフォルト: 1

タイプ:ブール値

変更可能: はい (no_modern に設定されている場合は再起動が必要です)

許可された値: 0,1

変更の適用: 起動時

このバージョンではサポートされなくなりました。このバージョン以降、起動または再起動するたびに no-modern がデフォルトで有効になります。

Memcached 1.4.34 で追加されたパラメータ

Memcached 1.4.34 では、追加のパラメータはサポートされません。

パラメータグループファミリー: memcached1.4

Memcached 1.4.33 で追加されたパラメータ

Memcached 1.4.33 では、次のパラメータが追加でサポートされます。

パラメータグループファミリー: memcached1.4

名前 詳細 説明
modern

デフォルト: 有効

タイプ:ブール値

変更可能: はい

変更の適用: 起動時

各種機能のエイリアス 有効化 modern は、次のコマンドをオンにし、murmur3 ハッシュアルゴリズム (slab_reassignslab_automovelru_crawlerlru_maintainermaxconns_fasthash_algorithm=murmur3) を使用する場合と同等です。

watch

デフォルト: 有効

タイプ:ブール値

変更可能: はい

変更の適用: 即時

ログは、watcher_logbuf_size および worker_logbuf_size 制限に達すると削除できます。

ログ取得、削除または変異。たとえば、watch をオンにすると、getsetdelete または update が発生したときにユーザーはログを表示できます。

idle_timeout

デフォルト: 0 (無効)

タイプ: 整数

変更可能: はい

変更の適用: 起動時

閉じる前にクライアントがアイドル状態にできる最小秒数。値の範囲: 0~86400

track_sizes

デフォルト: 無効

タイプ:ブール値

変更可能: はい

変更の適用: 起動時

各スラブグループの消費サイズを表示します。

有効化 track_sizes を行うと、stats sizes を実行せずに stats sizes_enable を実行できます。

watcher_logbuf_size

デフォルト: 256 (KB)

タイプ: 整数

変更可能: はい

変更の適用: 起動時

watch コマンドは、Memcached の配信ログ作成をオンにします。ただし、削除、変異、取得によって、ロギングバッファがいっぱいになる可能性がある場合には、watch でログを削除することができます。このような場合、ユーザーは、バッファサイズを増やして、ログ損失の可能性を抑えることができます。

worker_logbuf_size

デフォルト: 64 (KB)

タイプ: 整数

変更可能: はい

変更の適用: 起動時

watch コマンドは、Memcached の配信ログ作成をオンにします。ただし、削除、変異、取得によって、ロギングバッファがいっぱいになる可能性がある場合には、watch でログを削除することができます。このような場合、ユーザーは、バッファサイズを増やして、ログ損失の可能性を抑えることができます。

slab_chunk_max

デフォルト: 524288 (バイト)

タイプ: 整数

変更可能: はい

変更の適用: 起動時

スラブの最大サイズを指定します。スラブサイズを小さくすると、メモリは効率的に使用されます。slab_chunk_max より大きい項目は、複数のスラブに分割されます。

lru_crawler metadump [all|1|2|3]

デフォルト: 無効

タイプ:ブール値

変更可能: はい

変更の適用: 即時

lru_crawler を有効化すると、このコマンドによってすべてのキーがダンプされます。

all|1|2|3 - すべてのスラブ、または特定のスラブ数を指定する

Memcached 1.4.24 で追加されたパラメータ

Memcached 1.4.24 では、次のパラメータが追加でサポートされます。

パラメータグループファミリー: memcached1.4

名前 詳細 説明
disable_flush_all

デフォルト: 0 (無効)

タイプ:ブール値

変更可能: はい

変更の適用: 起動時

flush_all を無効化するパラメータ (-F) を追加します。本稼働インスタンスでフルフラッシュを実行しない場合に便利です。

値: 0、1 (値が 0 の場合にユーザーは flush_all を実行できます。)

hash_algorithm

デフォルト: jenkins

タイプ: 文字列

変更可能: はい

変更の適用: 起動時

使用されるハッシュアルゴリズム。使用可能な値: murmur3 と jenkins。
lru_crawler

デフォルト: 0 (無効)

タイプ:ブール値

変更可能: はい

変更の適用: 再起動後

注記

実行時に、コマンドラインから lru_crawler を一時的に有効にすることができます。詳細については、「Describe」列を参照してください。

期限が切れた項目のスラブクラスを消去します。これにより、バックグラウンドで実行されるプロセスの影響を小さくなります。現在は、手動コマンドを使用して Crawl を起動する必要があります。

一時的に有効にするには、コマンドラインで lru_crawler enable を実行します。

lru_crawler 1,3,5 はスラブクラス 1、3、5 をクロールし、freelist に追加する期限切れの項目を検索します。

値: 0、1

注記

コマンドラインで lru_crawler を有効にして、コマンドラインまたは次の再起動で無効化されるまでクローラを有効にします。永続的に有効にするには、パラメータ値を変更する必要があります。詳細については、「パラメータグループを変更する」を参照してください。

lru_maintainer

デフォルト: 0 (無効)

タイプ:ブール値

変更可能: はい

変更の適用: 起動時

容量に到達すると LRU 間で項目をシャッフルするバックグラウンドスレッドです。値: 0、1。

expirezero_does_not_evict

デフォルト: 0 (無効)

タイプ:ブール値

変更可能: はい

変更の適用: 起動時

lru_maintainer と併用すると、項目の期限切れ時間が 0 (期限切れなし) になります。

警告

これにより、期限切れでクリアされる他の項目をメモリから排除して、メモリを使用できるようにすることができます。

lru_maintainer を無視するよう設定できます。

Memcached 1.4.14 で追加されたパラメータ

Memcached 1.4.14 では、次のパラメータが追加でサポートされます。

パラメータグループファミリー: memcached1.4

Memcached 1.4.14 で追加されたパラメータ
名前 詳細 説明
config_max

デフォルト: 16

タイプ: 整数

変更可能: いいえ

ElastiCache 設定エントリの最大数。
config_size_max

デフォルト: 65536

タイプ: 整数

変更可能: いいえ

設定エントリの最大サイズ (バイト単位)。
hashpower_init

デフォルト: 16

タイプ: 整数

変更可能: いいえ

ElastiCache ハッシュテーブルの初期サイズは、2 の累乗として表されます。デフォルトは 16 (2^16)、つまり 65536 のキーです。
maxconns_fast

デフォルト: 0 (false)

型: ブール

変更可能: はい

変更の適用: 再起動後

最大接続制限に達したときに新しい接続リクエストを処理する方法を変更します。このパラメータを 0 (ゼロ) に設定した場合、新しい接続がバックログキューに追加され、他の接続が終了するまで待機します。パラメータを 1 に設定した場合、ElastiCache はクライアントにエラーを送信し、すぐに接続を終了します。
slab_automove

デフォルト: 0

タイプ: 整数

変更可能: はい

変更の適用: 再起動後

スラブ自動移動アルゴリズムを調整します。このパラメータを 0 (ゼロ) に設定した場合、自動移動アルゴリズムは無効です。1 に設定した場合、ElastiCache は低速で控えめな手法を使用して、スラブを自動的に移動します。2 に設定した場合、削除が生じると必ず ElastiCache はスラブを積極的に移動します (このモードは、テスト目的以外では推奨されません)。
slab_reassign

デフォルト: 0 (false)

型: ブール

変更可能: はい

変更の適用: 再起動後

スラブの再割り当てを有効または無効にします。このパラメータを 1 に設定した場合、「slabs reassign」コマンドを使用してメモリを手動で再割り当てできます。

Memcached 1.4.5 でサポートされているパラメータ

パラメータグループファミリー: memcached1.4

Memcached 1.4.5 では、さらに次のパラメータがサポートされています。

Memcached 1.4.5 で追加されたパラメータ
名前 詳細 説明
backlog_queue_limit

デフォルト: 1024

タイプ: 整数

変更可能: いいえ

バックログキューの制限。
binding_protocol

デフォルト: auto

タイプ: 文字列

変更可能: はい

変更の適用: 再起動後

バインディングプロトコル。

許可される値は ascii および auto です。

binding_protocol の値を変更する際のガイダンスについては、「パラメータグループを変更する」を参照してください。

cas_disabled

デフォルト: 0 (false)

型: ブール

変更可能: はい

変更の適用: 再起動後

1 (true) の場合、CAS (Check and Set) 操作が無効になり、格納されている項目が消費するバイト数は CAS が有効な場合より 8 バイト少なくなります。
chunk_size

デフォルト: 48

タイプ: 整数

変更可能: はい

変更の適用: 再起動後

最も小さい項目のキー、値、およびフラグ (バイト単位) に割り当てる領域の最小量 (バイト単位)。
chunk_size_growth_factor

デフォルト: 1.25

タイプ: 浮動小数点

変更可能: はい

変更の適用: 再起動後

連続する各 memcached チャンクのサイズを制御する増加係数。各チャンクは、前のチャンクより chunk_size_growth_factor 倍大きくなります。
error_on_memory_exhausted

デフォルト: 0 (false)

型: ブール

変更可能: はい

変更の適用: 再起動後

1 (true) の場合、項目を保存するメモリがないと、Memcached によって項目が削除されるのではなくエラーが返されます。
large_memory_pages

デフォルト: 0 (false)

型: ブール

変更可能: いいえ

1 (true) の場合、ElastiCache は大量のメモリページを使用しようとします。
lock_down_paged_memory

デフォルト: 0 (false)

型: ブール

変更可能: いいえ

1 (true) の場合、ElastiCache はすべてのページ分割メモリをロックダウンします。
max_item_size

デフォルト: 1048576

タイプ: 整数

変更可能: はい

変更の適用: 再起動後

クラスターに保存できる最も大きい項目のサイズ (バイト単位)。
max_simultaneous_connections

デフォルト: 65000

タイプ: 整数

変更可能: いいえ

同時接続の最大数。
maximize_core_file_limit

デフォルト: 0 (false)

型: ブール

変更可能:

変更の適用: 再起動後

1 (true) の場合、ElastiCache はコアファイルの制限を最大限に高くします。
memcached_connections_overhead

デフォルト: 100

タイプ: 整数

変更可能: はい

変更の適用: 再起動後

Memcached 接続および他のさまざまなオーバーヘッド用に予約されるメモリの量。このパラメータの詳細については、「Memcached 接続オーバーヘッド」を参照してください。
requests_per_event

デフォルト: 20

タイプ: 整数

変更可能: いいえ

特定の接続のイベントごとの最大リクエスト数。この制限は、リソース不足を防ぐために必要です。

Memcached 接続オーバーヘッド

各ノードで、項目の保存に使用可能なメモリは、ノード上の使用可能な合計メモリ (max_cache_memory パラメータ内) から、接続や他のオーバーヘッドに使用されているメモリ (memcached_connections_overhead パラメータ内) を引いた量です。たとえば、タイプが cache.m1.small のノードには 1300MB の max_cache_memory があるとします。memcached_connections_overhead がデフォルト値の 100 MB の場合、Memcached プロセスは項目を保存するために 1,200 MB 使用できます。

memcached_connections_overhead パラメータのデフォルト値は、ほとんどのユースケースに適しています。ただし、接続オーバーヘッドの割り当てに必要な量は、リクエストの頻度、ペイロードサイズ、接続数など、複数の要因によって変化します。

アプリケーションのニーズにさらに合うように memcached_connections_overhead の値を変更できます。たとえば、memcached_connections_overhead パラメータの値を大きくすると、項目の保存に使用できるメモリの量が減り、接続のオーバーヘッド用のバッファが増えます。memcached_connections_overhead パラメータの値を小さくすると、項目の保存に使用できるメモリは増えますが、スワップの使用とパフォーマンスの低下のリスクが高くなります。スワップの使用やパフォーマンスの低下が観察される場合、memcached_connections_overhead パラメータの値を大きくしてみてください。

重要

ノードタイプが cache.t1.micro の場合、memcached_connections_overhead の値は次のように決まります。

  • クラスターがデフォルトのパラメータグループを使用している場合、ElastiCache は memcached_connections_overhead の値を 13 MB に設定します。

  • 自身で作成したパラメータグループをクラスターが使用している場合、memcached_connections_overhead の値を選択した値に設定できます。

Memcached ノードタイプ固有のパラメータ

ほとんどのパラメータの値は 1 つですが、一部のパラメータには、使用されているノードタイプによって複数の値が設定されることがあります。次の表は、各ノードタイプの max_cache_memory パラメータと num_threads パラメータのデフォルト値を示しています。これらのパラメータの値は変更できません。

ノードの種類 max_cache_memory (メガバイト) num_threads
cache.t1.micro 213 1
cache.t2.micro 555 1
cache.t2.small 1588 1
cache.t2.medium 3301 2
cache.t3.micro 512 2
cache.t3.small 1402 2
cache.t3.medium 3364 2
cache.t4g.micro 512 2
cache.t4g.small 1402 2
cache.t4g.medium 3164 2
cache.m1.small 1301 1
cache.m1.medium 3350 1
cache.m1.large 7100 2
cache.m1.xlarge 14600 4
cache.m2.xlarge 33800 2
cache.m2.2xlarge 30412 4
cache.m2.4xlarge 68000 16
cache.m3.medium 2850 1
cache.m3.large 6200 2
cache.m3.xlarge 13600 4
cache.m3.2xlarge 28600 8
cache.m4.large 6573 2
cache.m4.xlarge 11496 4
cache.m4.2xlarge 30412 8
cache.m4.4xlarge 62234 16
cache.m4.10xlarge 158355 40
cache.m5.large 6537 2
cache.m5.xlarge 13248 4
cache.m5.2xlarge 26671 8
cache.m5.4xlarge 53516 16
cache.m5.12xlarge 160900 48
cache.m5.24xlarge 321865 96
cache.m6g.large 6537 2
cache.m6g.xlarge 13248 4
cache.m6g.2xlarge 26671 8
cache.m6g.4xlarge 53516 16
cache.m6g.8xlarge 107000 32
cache.m6g.12xlarge 160900 48
cache.m6g.16xlarge 214577 64
cache.c1.xlarge 6600 8
cache.r3.large 13800 2
cache.r3.xlarge 29100 4
cache.r3.2xlarge 59600 8
cache.r3.4xlarge 120600 16
cache.r3.8xlarge 120600 32
cache.r4.large 12590 2
cache.r4.xlarge 25652 4
cache.r4.2xlarge 51686 8
cache.r4.4xlarge 103815 16
cache.r4.8xlarge 208144 32
cache.r4.16xlarge 416776 64
cache.r5.large 13387 2
cache.r5.xlarge 26953 4
cache.r5.2xlarge 54084 8
cache.r5.4xlarge 108347 16
cache.r5.12xlarge 325400 48
cache.r5.24xlarge 650869 96
cache.r6g.large 13387 2
cache.r6g.xlarge 26953 4
cache.r6g.2xlarge 54084 8
cache.r6g.4xlarge 108347 16
cache.r6g.8xlarge 214577 32
cache.r6g.12xlarge 325400 48
cache.r6g.16xlarge 429154 64
cache.c7gn.large 3164 2
cache.c7gn.xlarge 6537 4
cache.c7gn.2xlarge 13248 8
cache.c7gn.4xlarge 26671 16
cache.c7gn.8xlarge 53516 32
cache.c7gn.12xlarge 325400 48
cache.c7gn.16xlarge 108347 64
注記

すべての T2 インスタンスは、Amazon Virtual Private Cloud (Amazon VPC) で作成されます。