Como escolho o tipo e o tamanho corretos de instância para meu cluster do ElastiCache para Redis?

6 minuto de leitura
0

Como seleciono um tamanho de nó e configuração de cluster do Amazon ElastiCache para Redis a fim de obter o melhor desempenho para minhas workloads?

Breve descrição

Ao selecionar um tamanho de nó para seu cluster do ElastiCache e sua configuração de cluster, faça as seguintes perguntas:

  • Preciso de quanto poder de processamento da CPU?
  • Preciso armazenar qual quantidade de dados?
  • O tamanho do nó selecionado será capaz de processar o tráfego de rede esperado?
  • Qual modo de cluster devo escolher?

Resolução

Preciso de quanto poder de processamento da CPU?

Analisar as opções de nó

Analise as opções de nó disponíveis. Como o Redis é um processo de thread único, o desempenho não aumenta quando você adiciona CPUs ao seu nó. O desempenho é determinado pel poder do núcleo único da CPU no nó. Cada tipo de nó tem seu próprio desempenho de linha de base. Os tipos de nós da geração atual fornecem mais memória e poder computacional a um custo menor em comparação com as versões anteriores. Por exemplo, as instâncias M5 e R5 oferecem melhor desempenho a um custo menor em comparação às instâncias M4 e R4.

Comparar seus nós

Uma das práticas recomendadas é a comparação de seus nós para obter uma estimativa do desempenho da instância na workload esperada. Para fazer isso, use o utilitário redis-benchmark. Para obter informações sobre recomendações de linha de base, consulte Five workload characteristics to consider when right sizing Amazon ElastiCache Redis clusters (Cinco características de workload que você deve levar em consideração ao dimensionar corretamente clusters do Redis do Amazon ElastiCache).

Ao realizar os testes comparativos, simule a workload do tráfego do seu aplicativo, incluindo o número de solicitações, a distribuição de chaves e o tamanho de item. Monitore as métricas do Amazon CloudWatch quanto ao uso de memória, utilização do processador, acertos de cache e erros de cache. Talvez você perceba que seu cluster não tem a taxa de acertos desejada ou que as chaves estão sendo despejadas com uma frequência alta. Se isso ocorrer, escolha um tamanho de nó diferente com especificações superiores de CPU e memória.

Como o Redis tem thread único, multiplique o uso de CPU relatado pelo número de núcleos de CPU para obter o uso real. Por exemplo, uma CPU de 4 núcleos relatando uma taxa de uso de 20% é, na verdade, o único núcleo que o Redis está executando com 80% de utilização.

Precisarei armazenar qual quantidade de dados?

Para fazer a estimativa das necessidades de armazenamento, multiplique o tamanho médio de item a ser armazenado em cache pelo número de itens que estão no cache ao mesmo tempo. Para fazer a estimativa do tamanho de item, serialize seus itens de cache, conte os caracteres e divida essa soma pelo número de fragmentos em seu cluster.

Lembre-se do parâmetro de grupo reserved-memory ou reserved-memory-percent da sua versão do Redis. Esse parâmetro reserva memória para uso não destinado a dados, como backups do sistema e estabilidade geral do sistema. Por padrão, esse valor é definido como 25% da sua memória máxima. Leve isso em consideração ao determinar qual é o tamanho suficiente para seus dados.

Por exemplo, o nó cache.r4.large tem 12,3 GB de memória disponível para uso. Como sua memória reservada está definida como 25%, o nó armazena até 9,2 GB (12,3 x 75%) de dados. O restante fica reservado para outras funções do Redis e estabilidade do sistema.

O tipo de nó selecionado será capaz de processar o tráfego de rede esperado?

Certifique-se de que o tipo de nó selecionado seja capaz de processar a quantidade de dados enviada sem atingir o máximo da rede.

Para determinar o throughput máximo em um nó do ElastiCache, execute um teste comparativo em um nó semelhante do Amazon Elastic Compute Cloud (Amazon EC2).

Por exemplo, para um nó cache.m4.large, execute seus testes em uma instância m4.large do EC2. A realização desse teste encontra o throughput máximo hipotético para o seu nó. Ele também fornece uma estimativa de quanta largura de banda você pode enviar entre seu cliente e seu nó do Redis. Um efeito colateral comum do uso máximo da sua rede é uma linha plana no gráfico de largura de banda, indicando que você está usando o máximo do seu hardware. Para obter instruções sobre como usar o iperf3 para medir o desempenho da rede entre instâncias, consulte How do I benchmark network throughput between Amazon EC2 Linux instances in the same Amazon VPC? (Como comparo o throughput de rede entre instâncias do Linux do Amazon EC2 na mesma Amazon VPC?).

Como os nós do ElastiCache são semelhantes aos equivalentes do EC2, veja o desempenho da rede listado para cada tipo de instância. Se você estiver atingindo o máximo do throughput de rede do seu nó, talvez seja necessário selecionar o próximo tamanho de nó para melhorar o desempenho da rede. Por exemplo, uma instância m4.large tem rede moderada. No entanto, se sua workload estiver atingindo o máximo da sua rede e você estiver recebendo um desempenho insatisfatório, identifique um novo tipo de nó que tenha melhor desempenho de rede. Um melhor desempenho de rede pode estar listado como Alto ou 10 Gigabit na coluna Desempenho da rede na página de preços.

Lembre-se de que o desempenho da rede também se aplica ao cliente. Se o seu cliente for um t2.micro com desempenho de rede baixo a moderado e você estiver enviando dados para um m4.10xlarge, você vai atingir o limite de throughput da rede primeiramente em seu cliente.

Qual modo de cluster devo escolher?

A escolha do modo certo para a workload do seu aplicativo depende do tráfego:

Se a carga primária em seu cluster consistir em aplicativos que fazem a leitura de dados, você poderá escolher um cluster do Redis (modo de cluster desabilitado). Em seguida, dimensione seu cluster para oferecer suporte a mais operações de leitura adicionando réplicas de leitura. Há um máximo de 5 réplicas de leitura. Lembre-se de que os clusters com o modo de cluster desativado têm apenas um fragmento. Portanto, o tipo de nó deve ser suficientemente grande para acomodar todos os dados do cluster, além da sobrecarga necessária.

Se a carga no cluster tiver muita gravação e sua workload de gravação exceder o que um nó é capaz de oferecer, use um cluster do Redis (modo de cluster desabilitado). Os clusters habilitados para o modo de cluster espalham suas chaves entre vários nós primários. Portanto, o desempenho de gravação é dividido entre vários nós em vez de ficar concentrado em um único nó.

Se você tiver uma workload grande que precise de desempenho extremo, use um cluster com o modo de cluster habilitado com vários fragmentos e várias réplicas de leitura para cada fragmento. Por exemplo, você pode criar um cluster com 15 fragmentos e 5 réplicas por nó primário.


AWS OFICIAL
AWS OFICIALAtualizada há 2 anos