전체 모범 사례 - Amazon ElastiCache

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

전체 모범 사례

아래에서 에서 Valkey, Redis OSS 및 Memcached 인터페이스를 사용하기 위한 모범 사례에 대한 정보를 찾을 수 있습니다 ElastiCache.

  • 클러스터 모드 지원 구성 사용 - 클러스터 모드 활성화를 사용하면 캐시를 수평으로 확장하여 클러스터 모드 비활성화 구성보다 더 높은 스토리지 및 처리량을 달성할 수 있습니다. ElastiCache 서버리스는 클러스터 모드 활성화 구성에서만 사용할 수 있습니다.

  • 장기 연결 사용 - 새 연결을 생성하는 데 비용이 많이 들고 캐시에서 시간과 CPU 리소스가 걸립니다. 가능하면 연결을 재사용하여(예: 연결 풀링 사용) 여러 명령에서 발생하는 이 비용을 분할 상환합니다.

  • 복제본에서 읽기 - ElastiCache 서버리스를 사용 중이거나 읽기 전용 복제본(자체 설계 클러스터)을 프로비저닝한 경우 읽기를 복제본으로 직접 전달하여 확장성을 높이고 지연 시간을 줄입니다. 복제본에서의 읽기는 최종적으로 프라이머리와 일치합니다.

    자체 설계된 클러스터의 경우 노드에 장애가 발생하면 일시적으로 읽기가 불가능할 수 있으므로 읽기 요청을 단일 읽기 전용 복제본으로 보내지 않도록 합니다. 적어도 2개 이상의 읽기 전용 복제복으로 읽기 요청을 보내거나, 단일 복제복과 프라이머리로 읽기 전용 복제복으로 보내도록 클라이언트를 구성할 수 있습니다.

    ElastiCache 서버리스에서는 복제본 포트(6380)에서 읽기를 수행하면 가능하면 읽기가 클라이언트의 로컬 가용 영역으로 전달되어 검색 지연 시간이 줄어듭니다. 장애가 발생하면 자동으로 다른 노드로 대체됩니다.

  • 비용이 많이 드는 명령 피하기 - 컴퓨팅 및 I/O 집약적인 작업(예: KEYSSMEMBERS 명령)을 실행하지 않습니다. 이러한 작업은 클러스터에 대한 부하를 늘리고 클러스터의 성능에 영향을 미치기 때문에 이러한 접근 방식을 채택하는 것이 좋습니다. 대신 SCANSSCAN 명령을 사용합니다.

  • Lua 모범 사례 따르기 - 오래 실행되는 Lua 스크립트의 사용을 피하고 항상 사전에 Lua 스크립트에 사용되는 키를 선언합니다. 이렇게 하면 Lua 스크립트가 슬롯 간 명령을 사용하지 않습니다. Lua 스크립트에 사용되는 키가 동일한 슬롯에 속해 있는지 확인하세요.

  • 샤딩된 pub/sub 사용 - 처리량이 높은 pub/sub 워크로드를 지원하기 OSS 위해 Valkey 또는 Redis를 사용하는 경우 샤딩된 pub/sub(Valkey 및 Redis OSS 7 이상에서 사용 가능)를 사용하는 것이 좋습니다. 클러스터 모드가 활성화된 클러스터의 기존 pub/sub는 클러스터의 모든 노드에 메시지를 브로드캐스트하므로 높은 EngineCPUUtilization 결과가 발생할 수 있습니다. ElastiCache 서버리스에서 기존 pub/sub 명령은 내부적으로 샤딩된 pub/sub 명령을 사용합니다.

주제