Escalado ElastiCache (Memcached) - Amazon ElastiCache

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Escalado ElastiCache (Memcached)

Escalado ElastiCache (Memcached)

ElastiCache Serverless acomoda automáticamente el tráfico de su carga de trabajo a medida que aumenta o disminuye. Para cada caché ElastiCache sin servidor, realiza un seguimiento ElastiCache continuo del uso de recursos como la CPU, la memoria y la red. Cuando alguno de estos recursos está limitado, ElastiCache Serverless amplía su capacidad añadiendo un nuevo fragmento y redistribuyendo los datos al nuevo fragmento, sin que la aplicación pierda tiempo de inactividad. Puede supervisar los recursos que consume la memoria caché supervisando la BytesUsedForCache métrica del almacenamiento de datos en CloudWatch la memoria caché y ElastiCacheProcessingUnits (ECPU) del uso informático.

Establecimiento de límites de escalado para administrar los costes

A fin de controlar el coste de la caché, puede configurar un uso máximo del almacenamiento de datos en caché y de la métrica ECPU/segundo para su caché. Si lo hace, se asegurará de que el uso de la memoria caché nunca supere el máximo configurado.

Si establece un escalado máximo, es posible que su aplicación disminuya el rendimiento de la caché cuando esta alcance el máximo. Cuando estableces un máximo de almacenamiento de datos en caché y tu almacenamiento de datos en caché alcanza el máximo, ElastiCache empezará a expulsar los datos de la caché mediante la lógica LRU. Si estableces un máximo de ECPU/segundo y la utilización informática de tu carga de trabajo supera este valor, ElastiCache empezará a limitar las solicitudes de Memcached.

Si configura un límite máximo en BytesUsedForCache oElastiCacheProcessingUnits, le recomendamos encarecidamente que configure una CloudWatch alarma con un valor inferior al límite máximo para que se le notifique cuando la memoria caché esté funcionando cerca de estos límites. Le recomendamos configurar una alarma al 75 % del límite máximo que haya establecido. Consulte la documentación sobre cómo configurar CloudWatch las alarmas.

Escalado previo con Serverless ElastiCache

ElastiCache Escalado previo sin servidor

Con el preescalado, también denominado precalentamiento, puede establecer los límites mínimos admitidos para la memoria caché. ElastiCache Puede establecer estos mínimos para las unidades de ElastiCache procesamiento (ECPUs) por segundo o para el almacenamiento de datos. Esto puede resultar útil para prepararse para los eventos de escalado previstos. Por ejemplo, si una empresa de videojuegos prevé multiplicar por cinco el número de inicios de sesión en el primer minuto de lanzamiento de su nuevo juego, puede preparar su caché para este importante aumento de uso.

Puede realizar el escalado previo mediante la ElastiCache consola, la CLI o la API. ElastiCache Serverless actualiza las ECPUs disponibles por segundo en la memoria caché en 60 minutos y envía una notificación de evento cuando se completa la actualización del límite mínimo.

Cómo funciona el escalado previo

Cuando el límite mínimo de ECPU/segundo o almacenamiento de datos se actualiza mediante la consola, la CLI o la API, ese nuevo límite estará disponible en 1 hora. ElastiCache Serverless admite 30 000 ECPU/segundo en una caché vacía y hasta 90 000 ECPUs/segundo cuando se utiliza la función de lectura desde réplica. ElastiCache puede duplicar las ECPU/segundo cada 10-12 minutos. Esta velocidad de escalado es suficiente para la mayoría de las cargas de trabajo. Si prevé que un próximo evento de escalado podría superar esta tasa, le recomendamos que establezca el número mínimo de ECPU/segundo en el máximo de ECPUs/segundo que espere al menos 60 minutos antes del pico. De lo contrario, es posible que la aplicación experimente una latencia elevada y se limiten las solicitudes.

Una vez completada la actualización del límite mínimo, ElastiCache Serverless empezará a calcularte las nuevas ECPUs mínimas por segundo o el nuevo almacenamiento mínimo. Esto ocurre incluso si la aplicación no ejecuta las solicitudes en la memoria caché o si el uso del almacenamiento de datos es inferior al mínimo. Al reducir el límite mínimo con respecto a su configuración actual, la actualización es inmediata, por lo que ElastiCache Serverless empezará a medir el nuevo límite mínimo de forma inmediata.

nota
  • Cuando estableces un límite de uso mínimo, se te cobrará por ese límite incluso si tu uso real es inferior al límite de uso mínimo. El uso de la ECPU o del almacenamiento de datos que supere el límite de uso mínimo se cobrará la tarifa normal. Por ejemplo, si estableces un límite de uso mínimo de 100 000 ECPU/segundo, se te cobrará al menos 1,224$ por hora (utilizando los precios de la ECPU en us-east-1), incluso si tu uso es inferior al mínimo establecido.

  • ElastiCache Serverless admite la escala mínima solicitada a nivel agregado en la memoria caché. ElastiCache Serverless también admite un máximo de 30 000 ECPU/segundo por ranura (90 000 ECPU/segundo cuando se utiliza Read from Replica con conexiones READONLY). Como práctica recomendada, su aplicación debe garantizar que la distribución de claves entre las ranuras OSS de Redis y el tráfico entre las claves sean lo más uniformes posible.

Establecer límites de escalado mediante la consola y AWS CLI

Establecer límites de escalado mediante la AWS consola

  1. Inicie sesión en la ElastiCache consola AWS Management Console y ábrala en https://console.aws.amazon.com/elasticache/.

  2. En el panel de navegación, elija el motor que se ejecuta en la caché que desea modificar.

  3. Aparecerá una lista de las cachés que ejecutan el motor elegido.

  4. Elija la caché que desee modificar seleccionando el botón de opción (a la izquierda del nombre de la caché).

  5. Elija Actions (Acciones) y después Modify (Modificar).

  6. En Límites de uso, establece los límites de memoria o cómputo adecuados.

  7. Haga clic en Vista previa de los cambios y seleccione Guardar los cambios.

Definir los límites de escalado mediante el AWS CLI

Para cambiar los límites de escalado mediante la CLI, utilice la modify-serverless-cache API.

Linux:

aws elasticache modify-serverless-cache --serverless-cache-name <cache name> \ --cache-usage-limits 'DataStorage={Minimum=10,Maximum=100,Unit=GB}, ECPUPerSecond={Minimum=1000,Maximum=100000}'

Windows:

aws elasticache modify-serverless-cache --serverless-cache-name <cache name> ^ --cache-usage-limits 'DataStorage={Minimum=10,Maximum=100,Unit=GB}, ECPUPerSecond={Minimum=1000,Maximum=100000}'

Eliminación de los límites de escalado mediante la CLI

Para eliminar los límites de escalado mediante la CLI, establezca los parámetros de límite mínimo y máximo en 0.

Linux:

aws elasticache modify-serverless-cache --serverless-cache-name <cache name> \ --cache-usage-limits 'DataStorage={Minimum=0,Maximum=0,Unit=GB}, ECPUPerSecond={Minimum=0,Maximum=0}'

Windows:

aws elasticache modify-serverless-cache --serverless-cache-name <cache name> ^ --cache-usage-limits 'DataStorage={Minimum=0,Maximum=0,Unit=GB}, ECPUPerSecond={Minimum=0,Maximum=0}'