기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
아래에서 ElastiCache 내에서 Valkey, Memcached 및 Redis OSS 인터페이스를 사용하는 모범 사례에 대한 정보를 확인할 수 있습니다.
클러스터 모드 지원 구성 사용 - 클러스터 모드를 활성화하면 수평으로 캐시 규모 조정을 실행하여 클러스터 모드 비활성화 구성보다 더 높은 스토리지 및 처리량에 도달할 수 있습니다. ElastiCache 서버리스는 클러스터 모드가 활성화된 구성에서만 사용할 수 있습니다.
장시간 연결 사용 - 새 연결을 만들려면 비용이 많이 드는 것뿐 아니라 캐시에서 시간을 사용하고 CPU 리소스가 있어야 합니다. 가능하면 연결을 재사용하여(예: 연결 풀링 사용) 여러 명령에서 발생하는 이 비용을 분할 상환합니다.
복제본에서 읽기 - ElastiCache 서버리스를 사용하거나 프로비저닝된 읽기 전용 복제본(자체 설계된 클러스터)이 있는 경우 복제본으로 직접 읽기를 수행하여 확장성을 향상하거나 지연 시간을 줄일 수 있습니다. 복제본에서의 읽기는 최종적으로 프라이머리와 일치합니다.
자체 설계된 클러스터의 경우 노드에 장애가 발생하면 일시적으로 읽기가 불가능할 수 있으므로 읽기 요청을 단일 읽기 전용 복제본으로 보내지 않도록 합니다. 적어도 2개 이상의 읽기 전용 복제복으로 읽기 요청을 보내거나, 단일 복제복과 프라이머리로 읽기 전용 복제복으로 보내도록 클라이언트를 구성할 수 있습니다.
ElastiCache 서버리스의 경우 복제본 포트(6380)에서 읽으면 가능할 때 클라이언트의 로컬 가용 영역으로 읽기가 전달되므로 검색 지연 시간이 줄어듭니다. 장애가 발생하면 자동으로 다른 노드로 대체됩니다.
비용이 많이 드는 명령 피하기 - 컴퓨팅 및 I/O 집약적인 작업(예:
KEYS
및SMEMBERS
명령)을 실행하지 않습니다. 이러한 작업은 클러스터에 대한 부하를 늘리고 클러스터의 성능에 영향을 미치기 때문에 이러한 접근 방식을 채택하는 것이 좋습니다. 대신SCAN
및SSCAN
명령을 사용합니다.Lua 모범 사례 따르기 - 오래 실행되는 Lua 스크립트의 사용을 피하고 항상 사전에 Lua 스크립트에 사용되는 키를 선언합니다. 이렇게 하면 Lua 스크립트가 슬롯 간 명령을 사용하지 않습니다. Lua 스크립트에 사용되는 키가 동일한 슬롯에 속해 있는지 확인하세요.
샤딩된 pub/sub 사용 - Valkey 또는 Redis OSS를 사용하여 처리량이 높은 pub/sub 워크로드를 지원하는 경우 샤딩된 pub/sub
(Valkey 및 Redis OSS 7 이상에서 사용 가능)를 사용하는 것이 좋습니다. 클러스터 모드가 활성화된 클러스터의 기존 pub/sub는 클러스터의 모든 노드에 메시지를 브로드캐스트하므로 높은 EngineCPUUtilization
결과가 발생할 수 있습니다. ElastiCache 서버리스의 경우 기존 pub/sub 명령에서 내부적으로 샤딩된 pub/sub 명령을 사용합니다.