En esta página, se explican varios casos de error y se proporciona orientación para resolverlos.
Situaciones de replicación
En esta sección, se explican los problemas de replicación que pueden ocurrir con tu instancia.
¿Cómo supervisas los retrasos de replicación?
Memorystore para Valkey tiene la métrica /instance/replication/maximum_offset_diff
. Esta métrica supervisa la diferencia máxima de desfase de replicación (en bytes) para un nodo en una instancia principal.
Si se mantiene baja la diferencia de desfase de replicación, las réplicas pueden realizar operaciones de sincronización incrementales con mayor frecuencia y a un costo menor que las operaciones de sincronización completa.
Te recomendamos que establezcas un umbral para la métrica maximum_offset_diff
. Si se supera el umbral, Memorystore para Valkey puede notificarte a través de una alerta.
Según el tipo de nodo de tu instancia, te recomendamos que establezcas el umbral de la siguiente manera:
- Si el tipo de nodo es
shared-core-nano
,standard-small
ohighmem-medium
, establece el umbral en menos de 64 MB. - Si el tipo de nodo es
highmem-xlarge
, establece el umbral en menos de 1 GB.
¿Qué debes hacer si hay un retraso en la replicación entre tu instancia principal y sus réplicas?
Es posible que haya un retraso significativo en la replicación si la instancia principal tiene demasiadas operaciones de escritura y las réplicas no pueden ponerse al día para replicar estas operaciones. Para resolver este problema, te recomendamos que aumentes la capacidad de la instancia incrementando la cantidad de fragmentos de la instancia.
Situaciones de administración de memoria
En esta sección, se explican los problemas de administración de memoria que podría tener tu instancia.
¿Qué métrica puedes usar para determinar si tu instancia está bajo presión de memoria?
Para supervisar el uso de memoria de una instancia de Memorystore para Valkey, te recomendamos que consultes la métrica /instance/memory/maximum_utilization
. Si el uso de memoria de la instancia se acerca al 80% y esperas que el uso de datos aumente, aumenta el tamaño de la instancia para mejorar el rendimiento y dejar espacio para los datos nuevos.
Situaciones de supervisión
En esta sección, se explican los problemas de supervisión que puede tener tu instancia.
¿Cómo se configuran alertas para Memorystore para Valkey?
Puedes usar Cloud Monitoring para configurar alertas que te notifiquen si alguna métrica supera los umbrales que estableciste para tu instancia. Para obtener más información sobre cómo configurar alertas en Cloud Monitoring, consulta Configura una alerta de Monitoring para el uso de memoria.
Situaciones de administración de conexiones
En esta sección, se explican los problemas de administración de conexiones que podría tener tu instancia.
¿Qué debes hacer si alcanzas el límite de conexiones o recibes un tiempo de espera de conexión?
Cuando alcanzas el límite de conexiones, tu cliente no puede conectarse a tu servidor. Esto se conoce como rechazo de conexión.
Si esto sucede, haz lo siguiente:
- Usa la métrica
/instance/node/stats/rejected_connections_count
para determinar la cantidad de conexiones que rechaza Memorystore para Valkey porque el nodo de la instancia alcanza el límite máximo de clientes. - Usa la métrica
/instance/node/clients/connected_clients
para determinar la cantidad de clientes conectados al nodo de la instancia. De esta manera, puedes ver si todos los nodos de la instancia están por debajo del límite. - Detén las conexiones no deseadas o filtradas con el comando
client kill
. - Reduce la cantidad de conexiones o el tamaño del grupo en la aplicación cliente. Para obtener más información, consulta la documentación asociada a la aplicación cliente.
- Ajusta el límite máximo de clientes. Para obtener más información, consulta Cómo configurar una instancia.
- Aumenta la escala de tu instancia a un tipo de nodo más grande para que tenga un límite de conexión más alto.
Situaciones de tiempo de espera
En esta sección, se explican los problemas de tiempo de espera que podría tener tu instancia.
Si recibes un tiempo de espera de E/S, ¿qué debes hacer?
Cuando una operación de lectura o escritura en Memorystore para Valkey no se completa dentro de un período especificado, se produce un tiempo de espera de E/S. Este tiempo de espera puede deberse a varios motivos. Por ejemplo, es posible que uno o más nodos de tu instancia estén sobrecargados.
Si recibes un tiempo de espera de E/S, haz lo siguiente:
- Usa la métrica
instance/cpu/maximum_utilization
para determinar el uso de CPU de un nodo en tu instancia, de 0.0 (0%) a 1.0 (100%). Recomendamos que todos los nodos tengan un porcentaje de uso de CPU inferior al 80%. Para obtener más información, consulta las prácticas recomendadas para el uso de la CPU. - Cuando el cliente se desconecta del servidor porque se agota el tiempo de espera del servidor, vuelve a intentarlo con una retirada exponencial y con jitter. Esto ayuda a evitar que varios clientes sobrecarguen el servidor de forma simultánea.
Situaciones de error de conectividad
En esta sección, se explican los problemas de conectividad que puede tener tu instancia.
Error de conexión causado por reglas de firewall
Las reglas de firewall pueden provocar errores de conexión, ya que bloquean los puertos que usa Memorystore para Valkey. Debes incluir en la lista de entidades permitidas todos los puertos de los extremos de Private Service Connect de tu instancia. Para obtener más información sobre los extremos, consulta Direcciones de red reservadas.
Error de conexión causado por políticas de la organización.
Puedes tener una política de la organización que bloquee tus conexiones de Private Service Connect a tu instancia de Memorystore para Valkey.
Si tu política de la organización usa la política .restrictPrivateServiceConnectProducer
, incluye en la lista de entidades permitidas el número de carpeta 961333125034
, que es una carpeta específica para Memorystore para Valkey. Por ejemplo:
name: organizations/Consumer-org-1/policies/compute.restrictPrivateServiceConnectProducer spec: rules: - values: allowedValues: - under:folders/961333125034
Si tu política de la organización usa la política .disablePrivateServiceConnectCreationForConsumers
, debes incluir SERVICE_PRODUCERS
en la lista de entidades permitidas. Por ejemplo:
name: organizations/Consumer-org-1/policies/compute.disablePrivateServiceConnectCreationForConsumers spec: rules: - values: allowedValues: - SERVICE_PRODUCERS
Cómo controlar los errores de las instancias con el modo de clúster inhabilitado
Si la aplicación se conecta al extremo de lectura de una instancia que no tiene réplicas de lectura, la conexión se cierra y aparece el mensaje de error
ERR no replicas found
. En este caso, intenta conectar la aplicación al extremo principal o agrega réplicas de lectura a la instancia.En caso de conmutación por error, se cierran las conexiones existentes de tu aplicación y aparece el mensaje de error
ERR role change occurred
. También verías este mensaje de error si tu aplicación se conecta al extremo de lectura de una instancia y todas las réplicas de lectura de la instancia fallan. En este caso, la aplicación debe reintentar la conexión con una retirada exponencial.