Información acerca del escalamiento de la capacidad de las instancias
Organiza tus páginas con colecciones
Guarda y categoriza el contenido según tus preferencias.
En esta página, se describe cómo se comporta tu instancia de Memorystore para Redis Cluster durante el escalamiento.
Puedes escalar la capacidad de tu instancia de las siguientes maneras:
Puedes cambiar la cantidad de fragmentos de tu instancia. Esto se conoce como escalamiento horizontal. Puedes escalar una instancia horizontalmente de una de las siguientes maneras:
Escalar horizontalmente: Aumenta la capacidad de tu instancia, lo que le brinda más memoria y potencia de procesamiento para controlar un mayor volumen de datos o tráfico. La capacidad de tu instancia se determina según la cantidad de fragmentos que contiene.
Si escalas horizontalmente tu instancia, tu aplicación podrá controlar una mayor demanda sin que se degrade el rendimiento. Para escalar horizontalmente una instancia, agrega fragmentos a la instancia.
Ajuste a la baja: 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 las demandas de datos de tu aplicación disminuyen 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 se conoce como 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 aumentar la escala de una instancia, cambia el tipo de nodo a uno más grande. Por ejemplo, puedes escalar tu instancia de un tipo de nodo redis-standard-small a un tipo de nodo redis-highmem-medium.
Reducir la escala: 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, puedes reducir la escala de tu instancia de un tipo de nodo redis-highmem-medium a un tipo de nodo redis-standard-small.
Impacto del escalamiento
Durante una operación de ajuste de escala, no se ve afectada la disponibilidad de tu instancia.
Sin embargo, cuando cambias la cantidad de fragmentos en tu instancia, Memorystore para Redis Cluster reequilibra el espacio de claves de la instancia. Esto podría causar un aumento de la latencia durante la operación de ajuste de escala.
Además, el impacto de escalar tu instancia verticalmente 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 ajuste de escala, 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 redis-shared-core-nano de tu instancia.
Para solucionar este problema, puedes escalar verticalmente tu instancia o liberar memoria de los nodos de tu instancia. Para liberar memoria, haz lo siguiente:
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:
redis-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 valores para los parámetros used_memory y maxmemory. used_memory indica cuánta memoria usa el nodo y maxmemory indica cuánta memoria está disponible para el nodo.
Divide el valor del parámetro used_memory por el valor del parámetro maxmemory y verifica que el cociente sea superior al 98%.
Vuelve a ingresar el comando info memory. En el resultado, el valor del parámetro used_memory es menor.
Divide el valor del parámetro used_memory por el valor del parámetro maxmemory y verifica que el cociente ahora sea inferior al 98%.
Si no es así, borra más llaves.
Para cualquier otro nodo que no tenga suficiente espacio libre, repite los pasos del 4 al 11 de este procedimiento.
Realizaste un ajuste de escala a una cantidad de fragmentos más pequeña que no tiene la capacidad de contener todas las claves que Memorystore for Redis Cluster 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 Cómo escalar la cantidad de fragmentos.
Redujiste la escala a un tipo de nodo más pequeño que no tiene la capacidad de contener todos los datos que Memorystore para Redis Cluster almacena en el tipo de nodo original. Si esto ocurre, Memorystore for Redis Cluster te proporciona un tipo de nodo recomendado para reducir la escala verticalmente.
Actualizaste el tipo de nodo de tu instancia y sobrescribiste la configuración predeterminada del tipo de nodo original, o bien esta configuración ya se sobrescribió. Sin embargo, el nuevo tipo de nodo ajustado 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 for Redis Cluster devuelve 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, ajusta la escala durante los períodos de poco tráfico de instancias.
Tienes una ranura que contiene una clave grande y deseas migrarla a otro nodo. Sin embargo, este nodo no tiene suficiente memoria para admitir la clave. Como resultado, no puedes actualizar tu clúster. Para resolver este problema, reduce el tamaño de la clave y vuelve a intentar la operación de actualización.
No se conoce el número de ranura que posee un nodo de un clúster, sino solo el rango de ranuras. Memorystore for Redis Cluster 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.
Realizaste un escalamiento horizontal a una cantidad menor de fragmentos, pero Memorystore para Redis Cluster no tiene suficiente memoria para satisfacer esta solicitud. Para resolver este problema, aumenta la cantidad de fragmentos hasta la cantidad original más grande.
Prácticas recomendadas
Para ayudarte a escalar la capacidad de tu instancia y aumentar la velocidad y la confiabilidad de su escalamiento, hazlo durante los períodos de tráfico bajo, siempre que puedas. Si deseas obtener información para supervisar el tráfico de las instancias, consulta Supervisa clústeres.
[[["Fácil de comprender","easyToUnderstand","thumb-up"],["Resolvió mi problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Información o código de muestra incorrectos","incorrectInformationOrSampleCode","thumb-down"],["Faltan la información o los ejemplos que necesito","missingTheInformationSamplesINeed","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 2025-09-04 (UTC)"],[],[],null,["# About scaling instance capacity\n\nThis page describes how your Memorystore for Redis Cluster instance behaves\nduring scaling.\n\nYou can scale the capacity for your instance in the following ways:\n\n- You can change the number of shards for your instance. This is *horizontal\n scaling*. You can scale an instance horizontally in one of the following ways:\n\n - **Scale out**: increase the capacity of your instance, which gives the\n instance more memory and processing power to handle a larger volume of data or\n traffic. Your instance's capacity is determined by the number of shards in\n your instance.\n\n By scaling your instance out, your application can handle an increased\n demand without performance degradation. To scale an instance out, add\n shards to the instance.\n - **Scale in**: reduce the capacity of your instance, which decreases both the\n processing power and the amount of memory available to store data. This occurs\n when your application's data demands decrease and you need to lower your\n resource usage to save costs. To scale an instance in, reduce the number of\n shards in the instance.\n\n- You can change the node type for your instance. This is *vertical scaling*.\n You can scale an instance vertically in one of the following ways:\n\n - **Scale up** : increase the capacity of your instance. Your instance's capacity is determined by your instance's node type. To scale an instance up, change the node type to a larger node type. For example, scale your instance up from a `redis-standard-small` node type to a `redis-highmem-medium` node type.\n - **Scale down** : reduce the capacity of your instance. To scale an instance\n down, change the node type to a smaller node type. For example, scale your\n instance down from a `redis-highmem-medium` node type to a `redis-standard-small`\n node type.\n\n | **Important:** If you want to scale the node type for your instance down, and you haven't overwritten the default settings for the original node type, then Memorystore for Redis Cluster modifies the default settings to those of the scaled node type.\n\n| **Note:** For more information about the different types and sizes of shards and nodes, see [Cluster and node specification](/memorystore/docs/cluster/cluster-node-specification). To learn more about scaling a Memorystore for Redis Cluster instance, see [Scale instance capacity](/memorystore/docs/cluster/scale-instance-capacity).\n\nImpact of scaling\n-----------------\n\nDuring a scaling operation, the availability of your instance isn't impacted.\nHowever, when you change the number of shards in your instance, Memorystore for Redis Cluster rebalances the instance's keyspace. This\nmight cause increased latency during the scaling operation.\n\nAlso, the impact of scaling your instance vertically by changing the node type\nis similar to what happens with a [maintenance](/memorystore/docs/cluster/about-maintenance) operation.\n\nFailure scenarios\n-----------------\n\nIf you encounter an error during the scaling operation, then it's likely because\nof one of the following scenarios:\n\n- You want to update the shard count for your instance, but you don't have\n enough free memory for the `redis-shared-core-nano` node type for your instance.\n\n To resolve this issue, you can either [scale your instance up](/memorystore/docs/cluster/scale-instance-capacity#scale_the_node_type) or free memory from the nodes of\n your instance. To free memory, do the following:\n 1. [Connect to a Memorystore for Redis Cluster instance](/memorystore/docs/cluster/connect-cluster-instance).\n 2. To get details about the instance, including the IP address and port number, use the [`gcloud redis clusters describe`](/sdk/gcloud/reference/redis/clusters/describe) command.\n 3. Make a note of the IP address and port number of the instance.\n 4. To get information about the nodes of the instance, use the following\n command:\n\n ```\n redis-cli -h IP_ADDRESS -p PORT_NUMBER cluster nodes\n ```\n\n Replace \u003cvar translate=\"no\"\u003eIP_ADDRESS\u003c/var\u003e and \u003cvar translate=\"no\"\u003ePORT_NUMBER\u003c/var\u003e with the values that\n you noted in the previous step.\n 5. Make a note of the IP address and port number of a node that doesn't have\n enough free space. This node's ID matches an ID that appears in the error.\n\n 6. To connect to this node, use the following command:\n\n ```\n redis-cli -h IP_ADDRESS -p PORT_NUMBER\n ```\n\n Replace \u003cvar translate=\"no\"\u003eIP_ADDRESS\u003c/var\u003e and \u003cvar translate=\"no\"\u003ePORT_NUMBER\u003c/var\u003e with the values\n that you noted in the previous step.\n 7. At the prompt, enter the `info memory` command.\n\n In the output, values for the `used_memory` and `maxmemory` parameters appear. `used_memory` is how much memory the node uses and `maxmemory` is how much\n memory is available for the node.\n 8. Divide the value of the `used_memory` parameter by the value of the\n `maxmemory` parameter, and verify that the quotient is greater than 98%.\n\n 9. To free up space for the node, [delete some of the node's keys](https://redis.io/docs/latest/commands/del/).\n\n 10. Enter the `info memory` command again. In the output, the value of the\n `used_memory` parameter is smaller.\n\n 11. Divide the value of the `used_memory` parameter by the value of the\n `maxmemory` parameter, and verify that the quotient is now less than 98%.\n If it isn't, then delete more keys.\n\n 12. For any other nodes that don't have enough free space, repeat steps 4 - 11\n of this procedure.\n\n | **Caution** : We recommend that you use the `redis-shared-core-nano` node type for development or testing purposes only. If you run Memorystore for Redis Cluster in a production environment, then we recommend using the `redis-standard-small`, `redis-highmem-medium`, or `redis-highmem-xlarge` node types. For more information about these node types, see [Choose a node type](/memorystore/docs/cluster/cluster-node-specification#choose_a_node_type).\n- You scaled to a smaller shard count that doesn't have the capacity to hold\n all of the keys that Memorystore for Redis Cluster stores in the\n original instance. To resolve this, scale to a larger shard count that can\n hold all of the stored keys. For more information about increasing the number of\n shards for your instance, see [Scale the shard count](/memorystore/docs/cluster/scale-instance-capacity#scale_the_shard_count).\n\n- You scaled to a smaller node type that doesn't have the capacity to hold all\n of the data that Memorystore for Redis Cluster stores in the original\n node type. If this occurs, then Memorystore for Redis Cluster\n provides you with a recommended node type to scale down vertically.\n\n- You updated the node type for your instance and either you overwrite the default\n [settings](/memorystore/docs/cluster/supported-instance-configurations) for the\n original node type or these settings are overwritten already. However, the new,\n scaled node type either doesn't support the values for the default settings or\n the settings aren't valid for the node type. If this occurs, then Memorystore for Redis Cluster returns an error. To resolve this, modify\n the settings manually so that they're valid for the new node type.\n\n- You scaled your instance during a period of high write pressure (for example,\n during load testing). To resolve this, scale during periods of low instance\n traffic.\n\n- You have a slot which contains a large key, and you want to migrate this key\n to another node. However, this node doesn't have sufficient memory to support\n the key. As a result, you can't update your cluster. To resolve this, reduce the\n size of the key and retry the update operation.\n\n- The slot number that a node of a cluster owns isn't known, but only the slot\n range is known. Memorystore for Redis Cluster returns an error message. If this occurs,\n then reduce the size of the key and retry the update operation.\n\nBest practices\n--------------\n\nTo help you scale the capacity for your instance, and to increase the speed and\nreliability of scaling your instance, scale it during low periods of traffic,\nwhenever you can. To learn how to monitor instance traffic, see [Monitor clusters](/memorystore/docs/cluster/monitor-instances)."]]