En esta página, se describe cómo se comporta tu instancia de Memorystore para Valkey durante el escalamiento.
Puedes escalar la capacidad de tu instancia de las siguientes maneras:
Puedes cambiar la cantidad de fragmentos de tu instancia. Esto es el escalamiento horizontal. Puedes escalar una instancia de forma horizontal de una de las siguientes maneras:
Escalar horizontalmente: aumenta la capacidad de tu instancia, lo que le otorga más memoria y potencia de procesamiento para manejar un mayor volumen de datos o tráfico. La capacidad de tu instancia se determina por la cantidad de fragmentos que tiene.
Si escalas la instancia de forma horizontal, la aplicación puede controlar una mayor demanda sin que se degrade el rendimiento. Para escalar horizontalmente una instancia, agrega fragmentos a ella.
Reducir la escala: Disminuye la capacidad de tu instancia, lo que reduce la potencia de procesamiento y la cantidad de memoria disponible para almacenar datos. Esto ocurre cuando disminuyen las demandas de datos de tu aplicación y necesitas reducir el uso de recursos para ahorrar costos. Para reducir la escala de una instancia, disminuye la cantidad de fragmentos en ella.
Puedes cambiar el tipo de nodo de tu instancia. Esto es el escalamiento vertical. Puedes escalar una instancia de forma vertical de una de las siguientes maneras:
- Escalamiento vertical: Aumenta la capacidad de tu instancia. La capacidad de tu instancia
se determina según su tipo de nodo. Para escalar verticalmente una instancia,
cambia el tipo de nodo a uno más grande. Por ejemplo, escala verticalmente tu instancia
de un tipo de nodo
standard-smalla un tipo de nodohighmem-medium. Reducir la escala verticalmente: Reduce la capacidad de tu instancia. Para reducir la escala de una instancia, cambia el tipo de nodo a uno más pequeño. Por ejemplo, reduce la escala verticalmente de tu instancia de un tipo de nodo
highmem-mediuma un tipo de nodostandard-small.
- Escalamiento vertical: Aumenta la capacidad de tu instancia. La capacidad de tu instancia
se determina según su tipo de nodo. Para escalar verticalmente una instancia,
cambia el tipo de nodo a uno más grande. Por ejemplo, escala verticalmente tu instancia
de un tipo de nodo
Impacto del escalamiento
Durante una operación de escalamiento, la disponibilidad de tu instancia no se ve afectada. Sin embargo, cuando cambias la cantidad de fragmentos en tu instancia, Memorystore for Valkey reequilibra el espacio de claves de la instancia. Esto podría aumentar la latencia durante la operación de escalamiento.
Además, el impacto de escalar tu instancia de forma vertical cambiando el tipo de nodo es similar al que se produce con una operación de mantenimiento.
Situaciones de falla
Si encuentras un error durante la operación de escalamiento, es probable que se deba a una de las siguientes situaciones:
Quieres actualizar el recuento de fragmentos de tu instancia, pero no tienes suficiente memoria libre para el tipo de nodo
shared-core-nanode tu instancia.Para resolver este problema, puedes escalar verticalmente la instancia o liberar memoria de los nodos de la instancia. Para liberar memoria, haz lo siguiente:
- Conéctate a una instancia de Memorystore para Valkey.
- Para obtener detalles sobre la instancia, incluida la dirección IP y el número de puerto, usa el comando
gcloud memorystore instances describe. - Anota la dirección IP y el número de puerto de la instancia.
Para obtener información sobre los nodos de la instancia, usa el siguiente comando:
valkey-cli -h IP_ADDRESS -p PORT_NUMBER cluster nodes
Reemplaza IP_ADDRESS y PORT_NUMBER por los valores que anotaste en el paso anterior.
Anota la dirección IP y el número de puerto de un nodo que no tenga suficiente espacio libre. El ID de este nodo coincide con un ID que aparece en el error.
Para conectarte a este nodo, usa el siguiente comando:
valkey-cli -h IP_ADDRESS -p PORT_NUMBER
Reemplaza IP_ADDRESS y PORT_NUMBER por los valores que anotaste en el paso anterior.
En el símbolo del sistema, ingresa el comando
info memory.En el resultado, aparecen los valores de los parámetros
used_memoryymaxmemory.used_memoryes la cantidad de memoria que usa el nodo ymaxmemoryes la cantidad de memoria disponible para el nodo.Divide el valor del parámetro
used_memorypor el valor del parámetromaxmemoryy verifica que el cociente sea superior al 98%.Para liberar espacio para el nodo, borra algunas de sus claves.
Vuelve a ingresar el comando
info memory. En el resultado, el valor del parámetroused_memoryes menor.Divide el valor del parámetro
used_memorypor el valor del parámetromaxmemoryy verifica que el cociente ahora sea inferior al 98%. Si no es así, borra más claves.Para cualquier otro nodo que no tenga suficiente espacio libre, repite los pasos del 4 al 11 de este procedimiento.
Escalaste a un recuento de fragmentos más pequeño que no tiene la capacidad de contener todas las claves que Memorystore for Valkey almacena en la instancia original. Para resolver este problema, escala a un recuento de fragmentos más grande que pueda contener todas las claves almacenadas. Para obtener más información sobre cómo aumentar la cantidad de shards de tu instancia, consulta Escala el recuento de shards.
Escalaste a un tipo de nodo más pequeño que no tiene la capacidad de contener todos los datos que Memorystore para Valkey almacena en el tipo de nodo original. Si esto ocurre, Memorystore for Valkey te proporciona un tipo de nodo recomendado para reducir la escala verticalmente.
Actualizaste el tipo de nodo de tu instancia y reemplazaste la configuración predeterminada del tipo de nodo original o esta configuración ya se reemplazó. Sin embargo, el nuevo tipo de nodo escalado no admite los valores de la configuración predeterminada o la configuración no es válida para el tipo de nodo. Si esto ocurre, Memorystore para Valkey devuelve un error. Para resolver este problema, modifica la configuración de forma manual para que sea válida para el tipo de nodo nuevo.
Escalaste la instancia durante un período de alta presión de escritura (por ejemplo, durante las pruebas de carga). Para resolver este problema, escala durante los períodos de poco tráfico de instancias.
Tienes una ranura que contiene una clave grande y deseas migrar esta clave a otro nodo. Sin embargo, este nodo no tiene suficiente memoria para admitir la clave. No puedes actualizar tu instancia. Para resolver este problema, reduce el tamaño de la clave para que sea inferior a 128 MB. Luego, vuelve a intentar la operación de actualización.
No se conoce el número de ranura que posee un nodo de una instancia, sino solo el rango de ranuras. Memorystore para Valkey devuelve un mensaje de error. Si esto ocurre, reduce el tamaño de la clave y vuelve a intentar la operación de actualización.
Aumentaste la capacidad de tu instancia escalando horizontalmente a un recuento de fragmentos más pequeño. Sin embargo, Memorystore para Valkey no tiene suficiente memoria para alojar esta solicitud. Para resolver este problema, reduce la capacidad de tu instancia reduciendo la escala verticalmente a la cantidad de fragmentos original y más grande.
Prácticas recomendadas
Para ayudarte a escalar la capacidad de tu instancia, te recomendamos las siguientes prácticas recomendadas:
- Elige cuándo escalar: Para aumentar la velocidad y la confiabilidad del escalamiento de tu instancia, hazlo durante los períodos de poco tráfico. Para obtener información sobre cómo supervisar el tráfico de las instancias, consulta Supervisa instancias.
- Vuelve a intentarlo cuando no puedas escalar: la disponibilidad de los recursos cambia con frecuencia. Si no puedes escalar la instancia debido a una restricción temporal de recursos, intenta escalarla más tarde.