Recomendaciones generales

En esta página, se proporciona orientación sobre el uso óptimo de Memorystore para Redis. También se muestran posibles problemas que debes evitar.

Para obtener una lista de situaciones de solución de problemas, consulta Solución de problemas.

Exportación de RDB

Cuando exportes una copia de seguridad de RDB, usa la siguiente guía:

Operaciones que consumen muchos recursos

En las instancias de Redis de nivel Estándar, las siguientes operaciones usan memoria adicional durante la operación:

La actualización de versiones, el escalamiento y la conmutación por error manual utilizan memoria adicional (para instancias de nivel Estándar) debido a la replicación. Estas operaciones siguen el proceso de replicación descrito en Comportamiento de actualización de instancias de nivel Estándar.

Las operaciones de importación y exportación requieren memoria adicional debido al proceso bifurcado de Redis y la administración de datos copy-on-write (copiar al escribir) asociados con estas operaciones.

Para mitigar las desventajas de las operaciones que usan muchos recursos, debes cumplir con lo siguiente:

Operaciones y situaciones que requieren un reintento de conexión

Las siguientes operaciones y situaciones interrumpen la conexión de red entre tu red y la instancia de Redis:

Estas operaciones modifican tu instancia, lo que requiere una desconexión temporal. Debes tener una lógica de reintento con retirada exponencial antes de ejecutar estas operaciones para que la aplicación se vuelva a conectar de manera automática y siga funcionando normalmente.

Mantenimiento de rutina

Las instancias de Memorystore para Redis se someten a mantenimiento periódicamente. Para conocer más detalles, consulta la política de mantenimiento de Memorystore para Redis.

Implementa las siguientes prácticas recomendadas a fin de prepararte para el mantenimiento de rutina:

Administración de la memoria

La administración de memoria puede ser un desafío debido a la conocida fragmentación de memoria que se produce con Redis de código abierto. Recomendamos reducir la configuración maxmemory para que tu instancia te asigne una sobrecarga en caso de que haya una alta demanda de memoria.

La mejor manera de supervisar la presión sobre la memoria en tu instancia de Memorystore es con la métrica de proporción de uso de memoria del sistema. Para obtener una guía detallada sobre cómo administrar la memoria en Memorystore para Redis, consulta Prácticas recomendadas de administración de memoria.

Cómo administrar conexiones inactivas

Con el tiempo, es posible que la cantidad de conexiones a tu instancia de Memorystore aumente si las conexiones no se finalizan de forma correcta. Esto puede tener implicaciones negativas para el rendimiento, en especial si usas la encriptación en tránsito, la cual imprime límites máximos de conexiones según tu nivel de capacidad. Para mitigar este problema, te recomendamos usar el parámetro de configuración de Redis timeout que te permite establecer la cantidad de segundos antes de que las conexiones de cliente inactivas finalicen de forma automática.

Se requiere un conector de Acceso a VPC sin servidores para algunos entornos sin servidores

Algunos entornos sin servidores requieren un conector de Acceso a VPC sin servidores para conectarse a Memorystore para Redis. Configura el conector de Acceso a VPC sin servidores para tu proyecto si deseas conectarte mediante uno de estos entornos.

Herramientas de redes

Te recomendamos usar el modo de conexión de acceso a servicios privados. Memorystore para Redis usa dos modos de conexión: acceso a servicios privados e intercambio de tráfico directo. El modo de conexión de acceso a servicios privados hace que la administración del rango de IP sea más simple y te permite usar la VPC compartida si lo deseas.

Una vez que creas una instancia, no se puede cambiar el modo de conexión.

Para obtener más detalles, consulta Herramientas de redes.

Supervisión y alertas

Te recomendamos usar la monitoring y las alertas porque te ofrecen indicadores clave del uso de memoria de tu instancia de Redis. También te brindan estadísticas sobre la eficiencia con la que tu instancia de Redis responde a las solicitudes entrantes de caché.

Debes configurar las siguientes alertas predeterminadas:

Prácticas recomendadas para el uso de CPU

El uso inadecuado de comandos de redis costosos genera problemas de latencia alta, falta de respuesta o conectividad. Las instancias de nivel Estándar proporcionan alta disponibilidad durante la recuperación ante desastres y dependen de la replicación asíncrona entre los nodos principal y de réplica. Si uno de los nodos tiene un procesamiento de comandos costoso que bloquea el subproceso principal de Redis, la replicación podría verse afectada. Si el problema persiste y ocurre una interrupción en la ubicación, es posible que los datos más recientes escritos en la ubicación de la interrupción no estén disponibles en la otra ubicación.

Recomendamos usar Cloud Monitoring a fin de configurar alertas para la métrica Segundos de CPU del subproceso principal (redis.googleapis.com/stats/cpu_utilization_main_thread) a fin de asegurarte de que el uso de CPU no supere los 0.9 segundos para el nodo principal y los 0.5 segundos para cada nodo de réplica.

Si tu instancia de Redis supera los valores recomendados, te recomendamos que escales la instancia a un nivel de capacidad más alto o sigas las instrucciones para solucionar problemas para evitar operaciones de uso intensivo de CPU.