Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Azure Redis Gerenciado oferece diferentes SKUs e camadas, para que você possa escolher o tamanho e o desempenho do cache que atendem às suas necessidades. Você pode dimensionar para um tamanho de memória maior ou alternar para uma camada com mais desempenho de computação. Você também pode diminuir para um nível menor ou mais apropriado. Este artigo mostra como dimensionar seu cache usando o portal Azure e ferramentas, como Azure PowerShell e CLI do Azure.
Observação
Como cada camada de Azure Redis Gerenciado tem quase os mesmos recursos, use o dimensionamento principalmente para alterar as características de memória e desempenho. O dimensionamento de caches redis gerenciados Azure replicados geograficamente está em versão prévia.
Tipos de dimensionamento
O Redis Gerenciado do Azure dá suporte ao dimensionamento em duas dimensões:
Memória Aumentar a memória aumenta o tamanho da instância do Redis, para que você possa armazenar mais dados. Ao reduzir a memória, verifique se o uso da memória atual é menor do que o novo tamanho de memória que você deseja usar.
O VCPUs Azure Managed Redis oferece três camadas (Otimizado para Memória, Balanceado e Computação otimizada) que têm um número crescente de vCPUs para cada nível de memória. O dimensionamento para uma camada com mais vCPUs aumenta o desempenho da instância sem exigir que você aumente a memória. Ao contrário das camadas Básica, Padrão e Premium do Cache do Azure para Redis, que usam apenas uma vCPU, o Azure Managed Redis usa a plataforma Redis Enterprise. A stack do Redis Enterprise pode usar várias vCPUs, o que significa que o número de vCPUs usadas pela sua instância do Redis está diretamente relacionado ao throughput e à latência.
Níveis de desempenho
Quatro camadas de Azure Redis Gerenciados estão disponíveis, cada uma com diferentes características de desempenho e níveis de preço.
Importante
Todas as camadas em memória que usam mais de 350 GB de armazenamento estão em prévia, incluindo Memory Optimized M500 e superior; Balanced B500 e superior; e Compute Optimized X500 e superior. Todas essas camadas e superiores estão em versão prévia.
As camadas otimizadas para Flash A2000 e A4500 estão em versão prévia.
Níveis e SKUs em resumo
Aqui estão três camadas que armazenam dados na memória:
Otimizado para memória Ideal para casos de uso com uso intensivo de memória que exigem uma alta taxa de memória para vCPU (8:1), mas não precisam do desempenho de taxa de transferência mais alto. Ele fornece um ponto de preço mais baixo para cenários em que menos poder de processamento ou taxa de transferência é necessário, tornando-o uma excelente opção para ambientes de desenvolvimento e teste.
Equilibrado (Memória + Computação) Oferece uma taxa equilibrada de memória para vCPU (4:1), tornando esta opção ideal para cargas de trabalho padrão. Essa camada fornece um equilíbrio saudável de recursos de memória e computação.
Computação otimizada Projetado para cargas de trabalho com uso intensivo de desempenho que exigem taxa de transferência máxima, com uma baixa taxa de memória para vCPU (2:1). É ideal para aplicativos que exigem o desempenho mais alto.
Aqui está a camada que armazena dados na memória e no disco:
Otimizado para Flash Permite que os clusters do Redis movam automaticamente dados acessados com menos frequência da memória (RAM) para o armazenamento NVMe. Essa redução no desempenho permite o dimensionamento econômico de caches com grandes conjuntos de dados.
Desempenho (taxa de transferência e latência)
Para obter parâmetros de comparação de desempenho e mais informações sobre como medir o desempenho de cada SKU e camada, consulte Performance test with Azure Managed Redis.
Quando dimensionar
Use os recursos monitoring do Azure Redis Gerenciado para monitorar a integridade e o desempenho do cache. Use essas informações para determinar quando escalonar o cache.
Monitore as métricas a seguir para determinar se você precisa dimensionar.
-
CPU
- O alto uso da CPU significa que o servidor Redis não pode acompanhar as solicitações de todos os clientes. Escalar verticalmente para mais vCPUs ajuda a distribuir solicitações em vários processos do Redis. O dimensionamento também ajuda a distribuir criptografia e descriptografia do TLS e conexão e desconexão, acelerando instâncias de cache que usam TLS.
-
Uso de Memória
- O uso de memória alta indica que o tamanho dos dados é muito grande para o tamanho do cache atual. Considere a possibilidade de dimensionar para um tamanho de cache com memória maior. Ao reduzir a memória, verifique se o uso de memória do cache atual é menor do que o novo tamanho de memória que você deseja usar. Você não pode colocar um conjunto de dados grande em um tamanho de cache menor.
-
Conexões de cliente
- Cada tamanho de cache tem um limite para o número de conexões de cliente às quais ele pode dar suporte. Se as conexões de cliente estiverem próximas do limite para o tamanho do cache, considere dimensionar para um tamanho de memória maior ou uma camada de desempenho mais alta.
- Para obter mais informações sobre limites de conexão por tamanho de cache, consulte Teste de desempenho com o Azure Managed Redis.
-
Largura de banda da rede
- Se o servidor Redis exceder a largura de banda disponível, o cliente solicitará tempo limite porque o servidor não pode enviar dados por push para o cliente com rapidez suficiente. Para ver a quantidade de largura de banda do lado do servidor que está sendo usada, verifique as métricas "Leitura de Cache" e "Gravação de Cache". Se o servidor Redis estiver excedendo a largura de banda de rede disponível, considere o dimensionamento para uma camada de desempenho mais alta ou um tamanho de cache maior.
- A escolha da política de cluster afeta a largura de banda de rede disponível. Em geral, a política de cluster do OSS tem maior largura de banda de rede do que a política de cluster Enterprise. Para obter mais informações, consulte a política de cluster.
- Para obter mais informações sobre a largura de banda disponível na rede pelo tamanho do cache, consulte Teste de desempenho com Redis Gerenciados do Azure.
Para obter mais informações sobre como determinar o tipo de preço de cache a ser usado, consulte Escolhendo a camada certa.
Para obter mais informações sobre como otimizar o processo de dimensionamento, consulte as práticas recomendadas para o guia de dimensionamento.
Limitações de dimensionamento do Redis Gerenciado do Azure
- Você não pode migrar das camadas Otimizada para memória, Balanceada ou Otimizada para computação para a camada Otimizada para flash ou vice-versa.
- Quando você reduz a memória da instância do Redis, o uso de memória atual da instância do Redis deve ser menor do que o novo tamanho de memória pretendido. Para obter mais informações, confira o que acontece com meus dados se eu dimensionar para um tamanho de memória menor?
- Quando você reduz a memória ou a vCPU para sua instância do Redis, você só pode dimensionar para SKUs que tenham uma configuração de vCPU e fragmento compatível com a configuração em sua instância atual.
- Em alguns casos, ao dimensionar, o endereço IP subjacente da instância do Redis pode ser alterado. O registro DNS para a instância é alterado e é transparente para a maioria dos aplicativos. No entanto, se você usar um endereço IP para configurar a conexão com sua instância do Redis ou para configurar NSGs ou firewalls que permitem o tráfego para a instância do Redis, seu aplicativo poderá ter problemas para se conectar em algum momento após as atualizações de registro DNS.
- O dimensionamento de uma instância em um grupo de replicação geográfica tem mais algumas limitações. Veja Se há limitações de dimensionamento com replicação geográfica? Para obter mais informações.
- Quando você reduz verticalmente, você só pode dimensionar para determinadas camadas. Para obter mais informações, consulte Por que só posso reduzir verticalmente para um subconjunto de SKUs menores?.
Como escalar
Esta seção descreve como dimensionar um cache redis gerenciado Azure.
Dimensionar usando o portal Azure
Observação
O dimensionamento de caches do Azure Managed Redis com replicação geográfica continua em versão prévia.
Para escalonar seu cache, navegue até ele no portal do Azure e selecione Escalar no menu Recurso.
Para dimensionar suas vCPUs, escolha um tipo de Cache diferente e, em seguida, escolha Salvar.
Importante
Se você selecionar um SKU para o qual não poderá dimensionar, a opção Salvar será desabilitada. Revise a seção Limitações de Dimensionamento do Redis Gerenciado do Azure para obter detalhes sobre quais opções de dimensionamento são permitidas.
Quando o dimensionamento é concluído, o status muda de Dimensionamento para Execução ao exibir a seção Visão geral do menu Recurso.
Escalonar com o PowerShell
Para dimensionar suas instâncias do Azure Managed Redis usando o PowerShell, use o cmdlet Update-AzRedisEnterpriseCache. Altere a Sku propriedade para selecionar a camada e o SKU necessários. O exemplo a seguir mostra como dimensionar um cache chamado myCache para uma instância de Computação Otimizada X20 (24 GB).
Update-AzRedisEnterpriseCache -ResourceGroupName <your-group> -Name <your-cache-name> -Sku <sku-name>
Dimensionar usando CLI do Azure
Para dimensionar suas instâncias redis gerenciadas Azure usando CLI do Azure, execute o comando az redisenterprise update. Altere a sku propriedade para selecionar a camada e o SKU necessários. O exemplo a seguir mostra como dimensionar um cache chamado myCache para uma instância de Computação Otimizada X20 (24 GB).
az redisenterprise update --cluster-name <your-cache-name> --resource-group <your-resource-group> --sku <name-of-sku>
Perguntas frequentes sobre dimensionamento
A lista a seguir contém respostas para perguntas frequentes sobre o dimensionamento do Redis Gerenciado do Azure.
- Posso dimensionar dentro ou entre camadas?
- O que acontece com meus dados se eu dimensionar para um tamanho de memória menor?
- Depois do dimensionamento, é necessário alterar minhas chaves de acesso ou o nome do cache?
- Como funciona o dimensionamento?
- Perco os dados do meu cache durante a colocação em escala?
- Meu cache está disponível durante o dimensionamento?
- Há limitações de dimensionamento com a replicação geográfica?
- Quanto tempo o dimensionamento leva?
- Como saber quando o dimensionamento é concluído?
- O Azure Managed Redis usa clusterização?
- Como muitos fragmentos cada SKU do Redis Gerenciado Azure usa?
- Como as chaves são distribuídas em um cluster?
- Qual é o maior tamanho de cache que eu posso criar?
- Por que só posso reduzir para um subconjunto de SKUs menores?
- A Política de Clustering pode ser alterada depois de selecionar o OSS ou o Enterprise Cluster?
Posso dimensionar dentro ou entre camadas?
Você sempre pode dimensionar para uma camada de desempenho mais alta com o mesmo tamanho de memória ou um tamanho de memória maior dentro da mesma camada de desempenho. Para dimensionar para uma camada de desempenho menor ou um tamanho de memória menor, execute a listskusforscaling API REST para obter a lista de SKUs para as quais você pode dimensionar.
az redisenterprise list-skus-for-scaling --cluster-name <your-redis-instance> --resource-group <your-resource-group>
O que acontece com meus dados se eu dimensionar para um tamanho de memória menor?
Você só poderá dimensionar para um tamanho de memória menor se o uso de memória atual for menor do que o tamanho de memória menor pretendido. Se o uso de memória atual for maior do que o tamanho menor pretendido, sua solicitação de dimensionamento falhará. Você pode reduzir o uso atual de memória excluindo pares de chave-valor indesejados ou executando a operação de limpeza.
az redisenterprise database flush --cluster-name <your-redis-instance> --resource-group <your-resource-group>
Depois do dimensionamento, é necessário alterar minhas chaves de acesso ou o nome do cache?
Não, o nome do cache e as chaves de acesso não são alterados durante uma operação de dimensionamento.
Como funciona o dimensionamento?
- Quando você dimensiona uma instância do Redis, o processo desliga um dos nós no cluster Redis e o reprovisiona para o novo tamanho. Em seguida, os dados são transferidos. O outro nó faz um failover semelhante em seguida, antes do reprovisionamento. O processo de desligamento e reprovisionamento é semelhante ao processo que ocorre durante a aplicação de patch ou uma falha de um dos nós de um cache.
- Quando você dimensiona para uma instância com mais vCPUs, o processo provisiona novos fragmentos e os adiciona ao cluster do servidor Redis. Os dados são então refragmentados em todos os fragmentos.
Para obter mais informações sobre como o Redis Gerenciado do Azure lida com a fragmentação, consulte Configuração de fragmentação.
Perco dados de meu cache durante a colocação em escala?
- Se você habilitar o modo de alta disponibilidade, todos os dados serão preservados durante operações de dimensionamento.
- Se você estiver dimensionando para um nível de memória menor, precisará garantir que o uso da memória atual seja menor do que o novo tamanho de memória pretendido. Se o uso de memória atual for maior do que o tamanho de memória SKU pretendido, você poderá liberar seus dados usando a operação Flush ou escolher manualmente os valores de chave a serem excluídos.
- Se você desabilitar o modo de alta disponibilidade, todos os dados serão perdidos e o cache não estará disponível durante a operação de dimensionamento.
Meu cache está disponível durante o dimensionamento?
- As instâncias gerenciadas do Redis no Azure com o modo de alta disponibilidade habilitado permanecem disponíveis durante a operação de escalonamento. No entanto, os blips de conexão podem ocorrer durante o dimensionamento desses caches. Esses blips de conexão normalmente são curtos, e os clientes Redis geralmente podem restabelecer sua conexão instantaneamente.
- Se você desabilitar o modo de alta disponibilidade, a instância Azure Redis Gerenciada fica offline durante operações de dimensionamento.
Há limitações de dimensionamento com a replicação geográfica?
O dimensionamento de caches replicados geograficamente está em versão prévia. Quando você configura a replicação geográfica ativa, você não pode misturar tamanhos de cache diferentes em um grupo de replicação geográfica. Como resultado, o dimensionamento dos caches em um grupo de replicação geográfica requer mais algumas etapas. Consulte Instâncias de dimensionamento em um grupo de replicação geográfica para obter instruções.
Não há suporte para diminuir para um tamanho de memória menor ou uma contagem menor de fragmentos para caches com replicação geográfica. Para obter mais informações, consulte Quantos fragmentos cada SKU do Redis Gerenciado do Azure usa para descobrir fragmentos em seu cluster.
Quanto tempo o dimensionamento leva?
O tempo de dimensionamento depende de alguns fatores. Aqui estão alguns fatores que podem afetar quanto tempo o dimensionamento leva:
- Quantidade de dados: quantidades maiores de dados levam mais tempo para serem replicadas.
- Alto volume de solicitações de gravação: um número maior de operações de gravação significa que mais dados são replicados entre nós ou fragmentos.
- Alto uso da CPU: uso mais alto da CPU significa que o servidor Redis está ocupado e ciclos limitados de CPU estão disponíveis para concluir a redistribuição de dados.
Geralmente, quando você dimensiona uma instância sem dados, leva aproximadamente 10 minutos.
Como saber quando o dimensionamento é concluído?
No portal do Azure, você pode ver a operação de dimensionamento em andamento. Quando o dimensionamento é concluído, o status do cache é alterado para Execução ao exibir Visão geral no menu Recurso.
O Redis Gerenciado do Azure usa clustering?
Ao contrário do Cache do Azure para Redis, o Redis Gerenciado do Azure usa clustering em todas as camadas e SKUs. O clustering permite otimizações significativas de desempenho. Cada SKU do Redis Gerenciado do Azure é configurado para um número otimizado de fragmentos para o número de vCPUs disponíveis. Você não pode configurar o número de fragmentos.
Quantos fragmentos cada SKU redis gerenciado do Azure usa?
Como o Redis Gerenciado do Azure é executado no software Redis Enterprise, os fragmentos podem ser usados em uma configuração mais densa do que no Redis da comunidade. Para saber mais sobre o número específico de fragmentos usados em cada SKU, consulte Configuração de fragmentação.
Como as chaves são distribuídas em um cluster?
De acordo com a documentação do Redis sobre o modelo de distribuição de chaves: o espaço da chave é dividido em 16.384 slots. Cada chave é resumida e atribuída a um desses slots, que são distribuídos entre os nós do cluster. Você pode configurar qual parte da chave é resumida para garantir que várias chaves estejam localizadas no mesmo fragmento usando hashtags.
- Chaves com marca hash – se alguma parte da chave estiver entre
{e}, somente essa parte da chave terá hash, a fim de determinar o slot de hash de uma chave. Por exemplo, as três chaves a seguir devem estar localizadas no mesmo fragmento:{key}1,{key}2e{key}3, uma vez que apenas a partekeydo nome está entre chaves. Para obter uma lista completa das especificações da marca hash de chaves, confira Keys hash tags. - Chaves sem uma marca de hash: todo o nome da chave é usado para hash, resultando em uma distribuição estatisticamente uniforme entre os fragmentos do cache.
Para obter um melhor desempenho e uma melhor taxa de transferência, recomendamos distribuir as chaves por igual. Se você estiver usando chaves com uma hashtag, é responsabilidade do aplicativo garantir que as chaves sejam distribuídas uniformemente.
Para saber mais, confira Keys distribution model, Redis Cluster data sharding e Keys hash tags.
Qual é o maior tamanho de cache que eu posso criar?
O maior tamanho de cache que você pode ter é de 4,5 TB, chamado de instância A4500 otimizada para Flash. Preço do Cache do Azure para Redis.
Por que só posso reduzir para apenas um subconjunto de SKUs menores?
Para manter a compatibilidade com o número de fragmentos e vCPU, você tem permissão para reduzir horizontalmente apenas para determinadas SKUs. Você pode ver para quais SKUs sua instância do Redis pode reduzir verificando as opções disponíveis na seção Dimensionar do portal do Azure. Você também pode executar o comando da CLI a seguir.
Você pode ver para quais SKUs sua instância do Redis pode reduzir verificando as opções disponíveis na seção Dimensionar do portal do Azure.
az redisenterprise list-skus-for-scaling --cluster-name <your-redis-instance> --resource-group <your-resource-group>
A Política de Clustering pode ser alterada depois de selecionar o OSS ou o Enterprise Cluster?
Depois de definir uma política de clustering para OSSCluster ou EnterpriseCluster ao criar um cache, você não poderá alterá-la. Para mudar para uma política de clustering diferente, você deve excluir o cache Redis e recriá-lo com a configuração desejada. Somente os caches com a política Não Agrupada podem ser atualizados para uma configuração agrupada após a implantação.