Memcached 특정 파라미터 - 아마존 ElastiCache

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Memcached 특정 파라미터

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

Memcached 1.6.17 변경 사항

Memcached 1.6.17부터는 lru_crawlerlruslabs 관리 명령을 더 이상 지원하지 않습니다. 이러한 변경으로 인해 런타임에 명령을 통해 lru_crawler를 활성화하거나 비활성화할 수 없습니다. 사용자 지정 파라미터 그룹을 수정하여 lru_crawler를 활성화하거나 비활성화하세요.

Memcached 1.6.6 추가 파라미터

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

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

Memcached 1.5.10 파라미터 변경

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

파라미터 그룹 Family: memcached1.5

이름 Details 설명
no_modern

기본값: 1

유형: boolean

수정 가능 여부: 예

허용된 값: 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

유형: boolean

수정 가능 여부: 예

허용된 값: 0,1

변경 적용: 시작 시

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

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

이름 Details 설명
expirezero_does_not_evict

기본값: 0

유형: boolean

수정 가능 여부: 예

허용된 값: 0,1

변경 적용: 시작 시

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

modern

기본값: 1

유형: boolean

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

허용된 값: 0,1

변경 적용: 시작 시

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

Memcached 1.4.34 추가 파라미터

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

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

Memcached 1.4.33 추가 파라미터

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

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

이름 Details 설명
modern

기본값: enabled

유형: boolean

수정 가능 여부: 예

변경 적용: 시작 시

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

watch

기본값: enabled

유형: boolean

수정 가능 여부: 예

변경 적용: 즉시

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

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

idle_timeout

기본값: 0(비활성화)

유형: 정수

수정 가능 여부: 예

변경 적용: 시작 시

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

track_sizes

기본값: 비활성화

유형: boolean

수정 가능 여부: 예

변경 적용: 시작 시

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

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]

기본값: 비활성화

유형: boolean

수정 가능 여부: 예

변경 적용: 즉시

lru_crawler를 활성화하면 이 명령이 모든 키를 덤프합니다.

all|1|2|3 - 모든 슬래브 또는 특정 슬래브 수 지정

Memcached 1.4.24 추가 파라미터

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

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

이름 Details 설명
disable_flush_all

기본값: 0(비활성화)

유형: boolean

수정 가능 여부: 예

변경 적용: 시작 시

flush_all을 비활성화하려면 파라미터(-F)를 추가합니다. 프로덕션 인스턴스에서 전체 플러시를 실행할 수 없는 경우에 유용합니다.

값은 0, 1(값이 0일 때 사용자가 flush_all을 수행할 수 있음)입니다.

hash_algorithm

기본값: jenkins

유형: 문자열

수정 가능 여부: 예

변경 적용: 시작 시

사용할 해시 알고리즘입니다. 허용되는 값은 murmur3 및 jenkins입니다.
lru_crawler

기본값: 0(비활성화)

유형: boolean

수정 가능 여부: 예

변경 적용: 재시작 후

참고

런타임 시 명령줄에서 lru_crawler를 일시적으로 활성화할 수 있습니다. 자세한 내용은 설명 열을 참조하세요.

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

일시적으로 활성화하려면 명령줄에서 lru_crawler enable을 실행합니다.

lru_crawler 1,3,5는 슬래브 클래스 1, 3 및 5를 크롤링하여 freelist에 추가할 만료 항목을 찾습니다.

값: 0,1

참고

명령줄에서 lru_crawler를 활성화하면 명령줄에서 비활성화하거나 다음에 재부팅될 때까지 크롤러가 활성화됩니다. 영구적으로 활성화하려면 파라미터 값을 수정해야 합니다. 자세한 내용은 파라미터 그룹 수정 섹션을 참조하세요.

lru_maintainer

기본값: 0(비활성화)

유형: boolean

수정 가능 여부: 예

변경 적용: 시작 시

용량에 도달할 때 LRU 간에 항목을 셔플링한 백그라운드 스레드입니다. 값: 0, 1

expirezero_does_not_evict

기본값: 0(비활성화)

유형: boolean

수정 가능 여부: 예

변경 적용: 시작 시

lru_maintainer와 함께 사용하면 만료 시간이 0인 항목을 제거할 수 없게 합니다.

주의

기타 제거할 수 있는 항목에 사용 가능한 메모리를 밀어낼 수 있습니다.

lru_maintainer를 무시하도록 설정할 수 있습니다.

Memcached 1.4.14 추가 파라미터

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

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

Memcached 1.4.14에 추가된 파라미터
이름 Details 설명
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에 추가된 파라미터
이름 Details 설명
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
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)에서 생성됩니다.