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 un escalamiento horizontal. Puedes escalar una instancia horizontalmente de una de las siguientes maneras:
Escalar horizontalmente: Aumenta la capacidad de tu instancia, lo que le da más memoria y potencia de procesamiento para manejar un mayor volumen de datos o tráfico. La capacidad de tu instancia está determinada por la cantidad de fragmentos que contiene.
Si escalas horizontalmente tu instancia, tu aplicación puede manejar una mayor demanda sin que se degrade el rendimiento. Para escalar horizontalmente una instancia, agrega fragmentos a la instancia.
Reducir la escala: Reduce la capacidad de tu instancia, lo que disminuye 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 que contiene.
Puedes cambiar el tipo de nodo de tu instancia. Esto es un escalamiento vertical. Puedes escalar una instancia verticalmente de una de las siguientes maneras:
- Escalar verticalmente: Aumenta la capacidad de tu instancia. La capacidad de tu instancia está determinada por el tipo de nodo de la instancia. Para escalar verticalmente una instancia, cambia el tipo de nodo a un tipo de nodo 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 verticalmente de una instancia, cambia el tipo de nodo a un tipo de nodo 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.
- Escalar verticalmente: Aumenta la capacidad de tu instancia. La capacidad de tu instancia está determinada por el tipo de nodo de la instancia. Para escalar verticalmente una instancia, cambia el tipo de nodo a un tipo de nodo más grande. Por ejemplo, escala verticalmente tu instancia de un tipo de nodo
Impacto del escalamiento
Durante una operación de escalamiento, no se ve afectada la disponibilidad de tu instancia. Sin embargo, cuando cambias la cantidad de fragmentos de tu instancia, Memorystore para Valkey vuelve a balancear el espacio de claves de la instancia. Esto puede causar una mayor latencia durante la operación de escalamiento.
Además, el impacto de escalar verticalmente tu instancia cambiando el tipo de nodo es similar a lo que sucede 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:
Deseas 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 tu instancia o liberar memoria de los nodos de tu 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
gcloud memorystore instances describecomando. - 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 mayor que el 98%.Para liberar espacio para el nodo, borra algunas de las claves del nodo.
Vuelve a ingresar el comando
info memory. En el resultado, el valor del parámetroused_memoryes más pequeño.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 para 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 fragmentos de tu instancia, consulta Escala el recuento de fragmentos.
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 para Valkey te proporciona un tipo de nodo recomendado para reducir la escala verticalmente.
Actualizaste el tipo de nodo de tu instancia y anulaste la configuración predeterminada del tipo de nodo original o esta configuración ya se anuló. 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 muestra un error. Para resolver este problema, modifica la configuración de forma manual para que sea válida para el nuevo tipo de nodo.
Escalaste tu instancia durante un período de alta presión de escritura (por ejemplo, durante las pruebas de carga). Para resolver este problema, escala durante períodos de tráfico de instancia bajo.
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 muestra 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 satisfacer esta solicitud. Para resolver este problema, reduce la capacidad de tu instancia escalando horizontalmente al recuento de fragmentos original y más grande.
Prácticas recomendadas
Para ayudarte a escalar la capacidad de tu instancia y aumentar la velocidad y la confiabilidad del escalamiento, escálala durante períodos de tráfico bajo, siempre que puedas. Si deseas obtener información para supervisar el tráfico de las instancias, consulta Supervisa instancias.