Dimensionamento ElastiCache para Memcached - Amazon ElastiCache

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Dimensionamento ElastiCache para Memcached

Dimensionamento ElastiCache para Memcached

ElastiCache O Serverless acomoda automaticamente seu tráfego de carga de trabalho à medida que ele aumenta ou diminui. Para cada cache ElastiCache sem servidor, rastreia ElastiCache continuamente a utilização de recursos como CPU, memória e rede. Quando qualquer um desses recursos está restrito, o ElastiCache Serverless se expande adicionando um novo fragmento e redistribuindo os dados ao novo fragmento, sem nenhum tempo de inatividade para seu aplicativo. Você pode monitorar os recursos consumidos pelo seu cache CloudWatch monitorando a BytesUsedForCache métrica para armazenamento de dados em cache e ElastiCacheProcessingUnits (ECPU) para uso de computação.

Definição dos limites de escalabilidade para gerenciar custos

Você pode optar por configurar um uso máximo no armazenamento de dados em cache e na ECPU/segundo do cache para controlar os custos do cache. Isso vai garantir que o uso do cache jamais exceda o máximo configurado.

Se você definir uma escala máxima, a aplicação pode apresentar um desempenho de cache reduzido quando o cache atinge o máximo. Quando você define um máximo de armazenamento de dados em cache e seu armazenamento de dados em cache atinge o máximo, ElastiCache começará a despejar dados em seu cache usando a lógica LRU. Quando você define um máximo de ECPU/segundo e a utilização computacional de sua carga de trabalho excede esse valor, ElastiCache começará a limitar as solicitações do Memcached.

Se você configurar um limite máximo em BytesUsedForCache ouElastiCacheProcessingUnits, é altamente recomendável configurar um CloudWatch alarme com um valor inferior ao limite máximo para que você seja notificado quando seu cache estiver operando perto desses limites. É recomendável definir um alarme em 75% do limite máximo definido. Consulte a documentação sobre como configurar CloudWatch alarmes.

Pré-escalonamento com Serverless ElastiCache

ElastiCache Pré-escalonamento sem servidor

Com o pré-escalonamento, também chamado de pré-aquecimento, você pode definir limites mínimos suportados para seu cache. ElastiCache Você pode definir esses mínimos para unidades de ElastiCache processamento (eCPUs) por segundo ou armazenamento de dados. Isso pode ser útil na preparação para eventos de escalonamento previstos. Por exemplo, se uma empresa de jogos espera um aumento de 5 vezes nos logins no primeiro minuto de lançamento do novo jogo, ela pode preparar seu cache para esse aumento significativo no uso.

Você pode realizar o pré-escalonamento usando o ElastiCache console, a CLI ou a API. ElastiCache O Serverless atualiza as ECPUs disponíveis por segundo no cache em 60 minutos e envia uma notificação de evento quando a atualização do limite mínimo é concluída.

Como funciona o pré-escalonamento

Quando o limite mínimo de ECPUs por segundo ou armazenamento de dados é atualizado por meio do console, da CLI ou da API, esse novo limite fica disponível em 1 hora. ElastiCache O Serverless suporta 30K ECPUS/segundo em um cache vazio e até 90K ECPUS/seg ao usar o recurso Read from Replica. ElastiCache pode dobrar ECPUS/segundo a cada 10-12 minutos. Essa velocidade de escalabilidade é suficiente para a maioria das cargas de trabalho. Se você prevê que um próximo evento de escalabilidade possa exceder essa taxa, recomendamos definir o mínimo de ECPUs por segundo para o pico de ECPUs por segundo que você espera pelo menos 60 minutos antes do evento de pico. Caso contrário, o aplicativo poderá apresentar latência elevada e limitação de solicitações.

Quando a atualização do limite mínimo for concluída, o ElastiCache Serverless começará a medir as novas eCPUs mínimas por segundo ou o novo armazenamento mínimo. Isso ocorre mesmo se o aplicativo não estiver executando solicitações no cache ou se o uso do armazenamento de dados estiver abaixo do mínimo. Quando você reduz o limite mínimo da configuração atual, a atualização é imediata, então o ElastiCache Serverless começará a medir o novo limite mínimo imediatamente.

nota
  • Ao definir um limite mínimo de uso, você é cobrado por esse limite, mesmo que seu uso real seja menor que o limite mínimo de uso. O uso de ECPU ou armazenamento de dados que exceda o limite mínimo de uso é cobrado de acordo com a taxa normal. Por exemplo, se você definir um limite mínimo de uso de 100.000 ECPUs por segundo, será cobrado pelo menos 1,224 USD por hora (usando os preços de ECPU em us-east-1), mesmo que seu uso seja inferior ao mínimo definido.

  • ElastiCache O Serverless oferece suporte à escala mínima solicitada em um nível agregado no cache. ElastiCache O Serverless também suporta um máximo de 30K ECPUS/segundo por slot (90K ECPUS/segundo ao usar Read from Replica usando conexões READONLY). Como prática recomendada, seu aplicativo deve garantir que a distribuição de chaves nos slots do Redis e o tráfego entre as chaves sejam os mais uniformes possíveis.

Definindo limites de escala usando o console e AWS CLI

Definindo limites de escala usando o console AWS

  1. Faça login no AWS Management Console e abra o ElastiCache console em https://console.aws.amazon.com/elasticache/.

  2. No painel de navegação, escolha o mecanismo em execução no cache que você deseja modificar.

  3. É exibida uma lista de caches que executam o mecanismo escolhido.

  4. Escolha o cache a ser modificado selecionando o botão de opção à esquerda do nome do cache.

  5. Escolha Ações e Modificar.

  6. Em Limites de uso, defina os limites apropriados de memória ou computação.

  7. Clique em Previsualizar alterações e em Salvar alterações.

Definindo limites de escala usando o AWS CLI

Para alterar os limites de escalabilidade usando a CLI, use modify-serverless-cache a 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}'

Remoção dos limites de escala usando a CLI

Para remover os limites de escala usando a CLI, defina os parâmetros de limite mínimo e máximo como 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}'