Memcached 특정 파라미터 - Amazon ElastiCache

Memcached 특정 파라미터

Memcached 클러스터에 파라미터 그룹을 지정하지 않으면 엔진 버전에 적절한 기본 파라미터 그룹이 사용됩니다. 기본 파라미터 그룹에서는 어떤 파라미터 값도 변경할 수 없습니다. 그러나 사용자 지정 파라미터 그룹을 생성하여 언제든지 클러스터에 할당할 수 있습니다. 자세한 정보는 파라미터 그룹 생성을 참조하십시오.

Memcached 1.6.6 추가 파라미터

Memcached 1.6.6은 추가 파라미터를 지원하지 않습니다.

파라미터 그룹 패밀리: memcached1.6

Memcached 1.5.10 파라미터 변경

Memcached 1.5.10은 다음과 같은 추가 파라미터가 지원됩니다.

파라미터 그룹 Family: memcached1.5

이름 세부 정보 설명
no_modern

기본값: 1

유형: 부울

수정 가능 여부: 예

허용된 값: 0,1

변경 적용: 시작 시

slab_reassign, slab_automove, lru_crawler, lru_maintainer, maxconns_fast 명령 비활성화를 위한 별칭. No modern은 hash_algorithm을 jenkins로 설정하고 ASCII VALUE의 인라이닝을 허용합니다. memcached 1.5 이상에 적용됩니다. 현대로 되돌리려면 이 파라미터를 사용 중지한 다음 다시 실행해야 합니다. 그러면 자동으로 slab_reassign, slab_automove, lru_crawler, lru_maintainermaxconns_fast가 활성화됩니다.

참고

이 파라미터의 기본 구성 값은 2021년 8월 20일 현재 0에서 1로 변경되었습니다. 업데이트된 기본값은 2021년 8월 20일 이후 각 리전의 새로운 ElastiCache 사용자에 의해 자동으로 선택됩니다. 2021년 8월 20일 이전의 해당 리전에서는 기존 ElastiCache 사용자가 사용자 지정 파라미터 그룹을 수동으로 수정해야 이 새로운 변경 사항이 적용됩니다.

inline_ascii_resp

기본값: 0

유형: 부울

수정 가능 여부: 예

허용된 값: 0,1

변경 적용: 시작 시

최대 24바이트를 사용하여 항목 내 VALUE 응답의 수치를 저장합니다. ASCII get, faster 세트의 속도가 약간 느려집니다.

Memcached 1.5.10의 경우 다음과 같은 파라미터가 제거됩니다.

이름 세부 정보 설명
expirezero_does_not_evict

기본값: 0

유형: 부울

수정 가능 여부: 예

허용된 값: 0,1

변경 적용: 시작 시

이 버전에서는 이제 지원하지 않습니다.

modern

기본값: 1

유형: 부울

수정 가능 여부: 예(no-modern으로 설정하는 경우 재시작해야 함)

허용된 값: 0,1

변경 적용: 시작 시

이 버전에서는 이제 지원하지 않습니다. 이 버전부터는 시작할 때마다 항상 또는 재시작 시 기본적으로 modern이 활성화됩니다.

Memcached 1.4.34 추가 파라미터

Memcached 1.4.34는 추가 파라미터를 지원하지 않습니다.

파라미터 그룹 패밀리: memcached1.4

Memcached 1.4.33 추가 파라미터

For Memcached 1.4.33은 다음과 같은 추가 파라미터가 지원됩니다.

파라미터 그룹 패밀리: memcached1.4

이름 세부 정보 설명
modern

기본값: 활성화

유형: 부울

수정 가능 여부: 예

변경 적용: 시작 시

여러 기능의 별칭입니다. modern을 활성화하는 것은 murmur3 해시 알고리즘을 사용하고 다음 명령을 사용하는 것과 같습니다. slab_reassign, slab_automove, lru_crawler, lru_maintainer, maxconns_fasthash_algorithm=murmur3

watch

기본값: 활성화

유형: 부울

수정 가능 여부: 예

변경 적용: 즉시

사용자가 watcher_logbuf_sizeworker_logbuf_size 한도에 도달하면 로그가 삭제될 수 있습니다.

로그 가져오기, 제거 또는 변형. 예를 들어 사용자가 watch를 켜면 get, set, delete 또는 update 발생 시 로그를 볼 수 있습니다.

idle_timeout

기본값: 0(비활성화)

유형: 정수

수정 가능 여부: 예

변경 적용: 시작 시

종료하라는 메시지가 표시되기 전에 클라이언트가 유휴 상태로 있을 수 있는 최소 시간(초)입니다. 값의 범위는 0~86400입니다.

track_sizes

기본값: 비활성화

유형: 부울

수정 가능 여부: 예

변경 적용: 시작 시

슬래브 그룹이 소비한 크기를 표시합니다.

track_sizes를 활성화하면 stats sizes_enable을 실행할 필요 없이 stats sizes를 실행할 수 있습니다.

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를 일시적으로 활성화할 수 있습니다. 자세한 내용은 설명 열을 참조하세요.

만료된 항목의 슬래브 클래스를 삭제합니다. 백그라운드에서 실행되는 영향이 적은 프로세스입니다. 현재는 수동 명령을 사용하여 크롤링을 시작해야 합니다.

일시적으로 활성화하려면 명령줄에서 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로 설정하면 "슬래브 재할당" 명령을 사용하여 메모리를 수동으로 재할당할 수 있습니다.

Memcached 1.4.5 지원 파라미터

파라미터 그룹 패밀리: memcached1.4

Memcached 1.4.5는 다음과 같은 파라미터를 지원합니다.

Memcached 1.4.5에 추가된 파라미터
이름 세부 정보 설명
backlog_queue_limit

기본값: 1024

유형: 정수

수정 가능 여부: 아니요

백 로그 대기열 제한입니다.
binding_protocol

기본값: 자동

유형: 문자열

수정 가능 여부: 예

변경 적용: 재시작 후

바인딩 프로토콜입니다.

허용 가능한 값은 asciiauto입니다.

binding_protocol의 값을 수정하는 방법에 대한 지침은 파라미터 그룹 수정을 참조하세요.

cas_disabled

기본값: 0(false)

유형: 부울

수정 가능 여부: 예

변경 적용: 재시작 후

1(true)이면 확인 및 설정(CAS) 작업이 비활성화되고 저장된 항목이 CAS가 활성화된 경우보다 8바이트 적게 소비합니다.
chunk_size

기본값: 48

유형: 정수

수정 가능 여부: 예

변경 적용: 재시작 후

가장 작은 항목의 키, 값 및 플래그에 할당할 공간의 최소 크기(바이트)입니다.
chunk_size_growth_factor

기본값: 1.25

유형: float

수정 가능 여부: 예

변경 적용: 재시작 후

연속된 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 값이 100MB이면 Memcached 프로세스는 항목을 저장하는 데 1200MB를 사용할 수 있습니다.

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 값을 13MB로 설정합니다.

  • 클러스터가 사용자가 직접 생성한 파라미터 그룹을 사용하면 memcached_connections_overhead 값을 원하는 대로 설정할 수 있습니다.

Memcached 노드 유형별 파라미터

대부분의 파라미터는 단일 값을 갖지만 일부 파라미터는 사용하는 노드 유형에 따라 다양한 값을 갖습니다. 다음 표에는 각 노드 유형에 대한 max_cache_memorynum_threads 파라미터의 기본값이 나와 있습니다. 이 파라미터의 값은 수정할 수 없습니다.

노드 유형 max_cache_memory(MB) 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
참고

모든 T2 인스턴스는 Amazon Virtual Private Cloud(Amazon VPC)에서 생성됩니다.