이 페이지에서는 다양한 오류 시나리오를 설명하고 오류 해결을 위한 안내를 제공합니다.
복제 시나리오
이 섹션에서는 인스턴스에서 발생할 수 있는 복제 문제를 설명합니다.
복제 지연은 어떻게 모니터링하나요?
Memorystore for Valkey에는 /instance/replication/maximum_offset_diff 측정항목이 있습니다. 이 측정항목은 기본 인스턴스의 노드에 대한 최대 복제 오프셋 차이 (바이트)를 모니터링합니다.
복제 오프셋 차이를 낮게 유지하면 복제본이 전체 동기화 작업보다 더 자주 그리고 더 낮은 비용으로 증분 동기화 작업을 실행할 수 있습니다.
maximum_offset_diff 측정항목의 기준점을 설정하는 것이 좋습니다. 임계값을 초과하면 Memorystore for Valkey에서 알림을 통해 알릴 수 있습니다.
인스턴스의 노드 유형에 따라 다음과 같이 기준점을 설정하는 것이 좋습니다.
- 노드 유형이
shared-core-nano,standard-small또는highmem-medium인 경우 임계값을 64MB 미만으로 설정합니다. - 노드 유형이
highmem-xlarge이면 기준점을 1GB 미만으로 설정합니다.
기본 인스턴스와 복제본 간에 복제 지연이 있는 경우 어떻게 해야 하나요?
기본 인스턴스에 쓰기 작업이 너무 많고 복제본이 이러한 작업을 복제할 수 없는 경우 상당한 복제 지연이 발생할 수 있습니다. 이 문제를 해결하려면 인스턴스의 샤드 수를 늘려 인스턴스의 용량을 확장하는 것이 좋습니다.
CPU 사용량 시나리오
이 섹션에서는 인스턴스에서 발생할 수 있는 CPU 사용량 문제를 설명합니다.
인스턴스의 출력 버퍼에 공간이 부족하면 어떻게 해야 하나요?
Memorystore for Valkey 인스턴스의 출력 버퍼에 공간이 부족하면 다음을 실행하세요.
maxmemory매개변수를 더 작은 값으로 설정합니다.allkeys-lrumaxmemory정책을 사용합니다.
인스턴스의 메모리가 가득 차고 새로운 쓰기가 들어오면 Memorystore for Valkey는 인스턴스의 maxmemory 정책에 따라 키를 삭제하여 쓰기를 수행할 공간을 확보합니다. allkeys-lru 정책은 전체 키 세트에서 가장 최근에 사용한 (LRU) 키를 제거합니다.
인스턴스의 maxmemory 및 사용된 메모리를 모니터링하는 것이 좋습니다. 이를 통해 인스턴스가 프로비저닝된 인스턴스 용량에 도달하는지 알 수 있습니다.
또한 maxmemory 매개변수 값을 줄이면 오버헤드를 위한 공간이 더 많아집니다.
메모리 관리 시나리오
이 섹션에서는 인스턴스에서 발생할 수 있는 메모리 관리 문제를 설명합니다.
인스턴스의 메모리 스트레스를 확인하는 데 사용할 수 있는 측정항목은 무엇인가요?
Memorystore for Valkey 인스턴스의 메모리 사용량을 모니터링하려면 /instance/memory/maximum_utilization 측정항목을 확인하는 것이 좋습니다. 인스턴스의 메모리 사용량이 80% 에 근접하고 데이터 사용량이 증가할 것으로 예상되면 인스턴스 크기를 수직 확장하여 성능을 개선하고 새 데이터를 위한 공간을 확보하세요.
모니터링 시나리오
이 섹션에서는 인스턴스에서 발생할 수 있는 모니터링 문제를 설명합니다.
Memorystore for Valkey 알림은 어떻게 설정하나요?
Cloud Monitoring을 사용하여 인스턴스에 설정한 기준점을 초과하는 측정항목이 있으면 알리도록 알림을 설정할 수 있습니다. Cloud Monitoring에서 알림을 설정하는 방법에 대한 자세한 내용은 메모리 사용량에 대한 Monitoring 알림 설정을 참고하세요.
연결 관리 시나리오
이 섹션에서는 인스턴스에서 발생할 수 있는 연결 관리 문제를 설명합니다.
연결 한도에 도달하거나 연결 시간 초과가 발생하면 어떻게 해야 하나요?
연결 한도에 도달하면 클라이언트가 서버에 연결되지 않습니다. 이를 연결 거부라고 합니다.
이 경우 다음 단계를 따르세요.
/instance/node/stats/rejected_connections_count측정항목을 사용하여 인스턴스 노드가 최대 클라이언트 한도에 도달하여 Memorystore for Valkey에서 거부한 연결 수를 확인합니다./instance/node/clients/connected_clients측정항목을 사용하여 인스턴스 노드에 연결된 클라이언트 수를 확인합니다. 이렇게 하면 인스턴스의 모든 노드가 한도 미만인지 확인할 수 있습니다.client kill명령어를 사용하여 유출되거나 원치 않는 연결을 중지합니다.- 클라이언트 애플리케이션에서 연결 수 또는 풀 크기를 줄입니다. 자세한 내용은 클라이언트 애플리케이션과 관련된 문서를 참고하세요.
- 최대 클라이언트 한도를 조정합니다. 자세한 내용은 인스턴스 구성을 참고하세요.
- 인스턴스의 연결 한도가 높아지도록 인스턴스를 더 큰 노드 유형으로 확장합니다.
제한 시간 시나리오
이 섹션에서는 인스턴스에서 발생할 수 있는 타임아웃 문제를 설명합니다.
I/O 시간 초과가 발생하면 어떻게 해야 하나요?
Memorystore for Valkey의 읽기 또는 쓰기 작업이 지정된 시간 내에 완료되지 않으면 I/O 시간 초과가 발생합니다. 이 타임아웃은 다양한 이유로 발생할 수 있습니다. 예를 들어 인스턴스의 하나 이상의 노드가 과부하되었을 수 있습니다.
I/O 제한 시간이 초과되면 다음을 수행합니다.
instance/cpu/maximum_utilization측정항목을 사용하여 인스턴스에 있는 노드의 CPU 사용률을 0.0 (0%)~1.0 (100%) 범위에서 확인할 수 있습니다. 모든 노드의 CPU 사용률이 80% 미만인 것이 좋습니다. 자세한 내용은 CPU 사용량 권장사항을 참고하세요.- 서버의 시간 제한으로 인해 클라이언트가 서버에서 연결 해제되면 지수 백오프 및 지터를 사용하여 다시 시도합니다. 이렇게 하면 여러 클라이언트가 동시에 서버에 과부하를 일으키는 것을 방지할 수 있습니다.
연결 오류 시나리오
이 섹션에서는 인스턴스에서 발생할 수 있는 연결 문제를 설명합니다.
방화벽 규칙으로 인한 연결 오류
방화벽 규칙으로 인해 Memorystore for Valkey에서 사용하는 포트가 차단되어 연결 오류가 발생할 수 있습니다. 인스턴스의 Private Service Connect 엔드포인트 모두의 모든 포트를 나열할 수 있도록 허용해야 합니다. 엔드포인트에 관한 자세한 내용은 예약된 네트워크 주소를 참고하세요.
조직 정책으로 인해 연결 오류가 발생했습니다.
Memorystore for Valkey 인스턴스에 대한 Private Service Connect 연결을 차단하는 조직 정책이 있을 수 있습니다.
조직 정책에서 .restrictPrivateServiceConnectProducer 정책을 사용하는 경우 Memorystore for Valkey 전용 폴더인 961333125034 폴더 번호를 허용 목록에 추가합니다. 예를 들면 다음과 같습니다.
name: organizations/Consumer-org-1/policies/compute.restrictPrivateServiceConnectProducer
spec:
rules:
- values:
allowedValues:
- under:folders/961333125034
조직 정책에서 .disablePrivateServiceConnectCreationForConsumers 정책을 사용하는 경우 SERVICE_PRODUCERS을 허용 목록에 추가해야 합니다. 예를 들면 다음과 같습니다.
name: organizations/Consumer-org-1/policies/compute.disablePrivateServiceConnectCreationForConsumers
spec:
rules:
- values:
allowedValues:
- SERVICE_PRODUCERS
클러스터 모드가 사용 중지된 인스턴스의 오류 처리
애플리케이션이 읽기 복제본이 없는 인스턴스의 읽기 엔드포인트에 연결되면 연결이 닫히고
ERR no replicas found오류 메시지가 표시됩니다. 이 경우 애플리케이션을 기본 엔드포인트에 연결하거나 인스턴스에 읽기 복제본을 추가해 보세요.장애 조치가 발생하면 애플리케이션의 기존 연결이 닫히고
ERR role change occurred오류 메시지가 표시됩니다. 애플리케이션이 인스턴스의 읽기 엔드포인트에 연결되어 있고 인스턴스의 모든 읽기 복제본이 실패하는 경우에도 이 오류 메시지가 표시됩니다. 이 경우 애플리케이션은 지수 백오프를 사용하여 연결을 다시 시도해야 합니다.