Partilhar via


Como escolher entre taxa de transferência provisionada padrão (manual) e dimensionamento automático

Aplica-se a: NoSQL MongoDB Cassandra Gremlin Tabela

O Azure Cosmos DB dá suporte a dois tipos ou ofertas de taxa de transferência provisionada: padrão (manual) e dimensionamento automático. Ambos os tipos de taxa de transferência são adequados para cargas de trabalho de missão crítica que exigem alto desempenho e escala, e são apoiados pelos mesmos SLAs do Azure Cosmos DB em taxa de transferência, disponibilidade, latência e consistência.

Este artigo descreve como escolher entre taxa de transferência provisionada padrão (manual) e dimensionamento automático para sua carga de trabalho.

Visão geral dos tipos de taxa de transferência provisionada

Antes de mergulhar na diferença entre padrão (manual) e dimensionamento automático, é importante primeiro entender como a taxa de transferência provisionada funciona no Azure Cosmos DB.

Ao usar a taxa de transferência provisionada, você define a taxa de transferência, medida em unidades de solicitação por segundo (RU/s) necessárias para sua carga de trabalho. O serviço provisiona a capacidade necessária para suportar os requisitos de largura de banda. As operações de banco de dados no serviço, como leituras, gravações e consultas, consomem alguma quantidade de unidades de solicitação (RUs). Saiba mais sobre as unidades de solicitação.

A tabela a seguir apresenta uma comparação geral entre o método padrão (manual) e o dimensionamento automático.

Descrição Padrão (manual) Escala automática
Mais adequado para Cargas de trabalho com tráfego estável ou previsível Cargas de trabalho com tráfego variável ou imprevisível. Consulte os casos de uso do dimensionamento automático.
Como funciona Você provisiona uma quantidade definida de RU/s T que é estática ao longo do tempo, a menos que você os altere manualmente. A cada segundo que passa, pode utilizar até T a velocidade de RU/s.

Por exemplo, se definires 400 RU/s como padrão (manual), o throughput permanecerá em 400 RU/s.
Você define o RU/s Tmax mais alto ou máximo que não deseja que o sistema exceda. O sistema dimensiona automaticamente a taxa T de transferência de tal forma que 0.1* Tmax <= T <= Tmax.

Por exemplo, se você definir a escala automática máxima de RU/s de 4000 RU/s, o sistema será dimensionado entre 400 - 4000 RU/s.
Quando usá-lo Você deseja gerenciar manualmente a sua capacidade de taxa de transferência (RU/s) e fazer o escalonamento.

Você tem uma utilização alta e consistente de RU/s provisionados. De todas as horas em um mês, se você definir RU/s provisionado e usar o valor total por 66% das horas ou mais, estima-se que você economizará com RU/s T provisionados padrão (manual).

Isso se baseia em uma comparação entre a configuração T no padrão (manual) e a mesma quantidade Tmax no dimensionamento automático.
Você quer que o Azure Cosmos DB gerencie a sua capacidade de processamento (RU/s) e faça o escalonamento com base no uso.

Você tem o uso de RU/s que é variável ou difícil de prever. De todas as horas num mês, se definir o limite máximo de dimensionamento automático de RU/s Tmax e usar o valor total Tmax durante 66% horas ou menos, estima-se que economizará com o dimensionamento automático.

Isso se baseia em uma comparação entre a configuração da escala Tmax automática e a mesma quantidade T na taxa de transferência padrão (manual).
Modelo de faturação A cobrança é feita por hora para os RU/s provisionados, independentemente de quantos RUs foram consumidos.

Exemplo:
  • Provisão 400 RU/s
  • Hora 1: sem pedidos
  • Hora 2: 400 RU/s de pedidos


  • Para as horas 1 e 2, você será cobrado 400 RU/s por ambas as horas com as tarifas padrão (manuais).
    A cobrança é feita por hora, com base no maior RU/s que o sistema alcançou durante essa hora.

    Exemplo:
  • Configurar capacidade máxima de escala automática de 4000 RU/s (variável entre 400 - 4000 RU/s)
  • Hora 1: sistema escalado para o valor máximo de 3500 RU/s
  • Hora 2: sistema reduzido para um mínimo de 400 RU/s (sempre 10% de Tmax), devido à ausência de utilização.


  • Você será cobrado por 3500 RU/s na hora 1 e 400 RU/s na hora 2 com as taxas de taxa de transferência provisionadas em escala automática. A taxa de escala automática por RU/s é de 1,5 * a taxa padrão (manual).
    O que acontece se excederes os RU/s provisionados As RU/s permanecem estáticas no que é provisionado. Todas as solicitações que consumam além das RUs provisionadas num segundo terão a sua taxa limitada, com uma resposta sugerindo um tempo de espera antes de tentar novamente. Você pode aumentar ou diminuir manualmente o RU/s, se necessário. O sistema irá dimensionar os RU/s até ao máximo de escalonamento automático de RU/s. Quaisquer solicitações que consumam além das unidades de solicitação por segundo (RU/s) máximas definidas pela escala automática em um segundo serão sujeitas a limitações de taxa, com uma resposta que recomenda um tempo de espera antes de tentar novamente.

    Compreender os seus padrões de tráfego

    Novas aplicações

    Se você estiver criando um novo aplicativo e ainda não conhece seu padrão de tráfego, convém começar no ponto de entrada RU/s (ou RU/s mínimo) para evitar o provisionamento excessivo no início. Ou, se você tiver um aplicativo pequeno que não precise de alta escala, convém provisionar apenas o RU/s mínimo do ponto de entrada para otimizar o custo. Para aplicativos pequenos com um baixo tráfego esperado, você também pode considerar o modo de capacidade sem servidor .

    Se você planeja usar o padrão (manual) ou o dimensionamento automático, aqui está o que você deve considerar:

    Se provisionar RU/s padrão (manual) no ponto de entrada de 400 RU/s, não poderá consumir acima de 400 RU/s, a menos que altere manualmente o throughput. Você será cobrado por 400 RU/s na taxa de transferência provisionada padrão (manual), por hora.

    Se provisionar o throughput de escalonamento automático com um máximo de 4000 RU/s, o recurso será escalonado entre 400 e 4000 RU/s. Como a taxa de faturamento do throughput de escala automática por RU/s é 1,5x da taxa padrão (manual), para as horas em que o sistema se reduziu para o mínimo de 400 RU/s, a sua fatura será superior ao que pagaria se provisionasse 400 RU/s manualmente. No entanto, com o dimensionamento automático, a qualquer momento, se o tráfego do aplicativo aumentar, você pode consumir até 4000 RU/s sem a necessidade de nenhuma ação do usuário. Em geral, você deve pesar o benefício de poder consumir até o máximo de RU/s a qualquer momento com a taxa de 1,5x da escala automática.

    Use a calculadora de capacidade do Azure Cosmos DB para estimar seus requisitos de taxa de transferência.

    Aplicações existentes

    Se você tiver um aplicativo existente usando a taxa de transferência provisionada padrão (manual), poderá usar as métricas do Azure Monitor para determinar se seu padrão de tráfego é adequado para dimensionamento automático.

    Primeiro, encontre a métrica de consumo de unidade de solicitação normalizada do seu banco de dados ou contêiner.

    Em seguida, determine como a utilização normalizada varia ao longo do tempo. Encontre a maior utilização normalizada para cada hora. Em seguida, calcule a utilização normalizada média em todas as horas. Se vir que a utilização média é inferior a 66%, considere ativar o Dimensionamento automático na base de dados ou no contentor. Em contrapartida, se a utilização média for superior a 66%, recomenda-se que permaneça no débito aprovisionado padrão (manual).

    Sugestão

    Se a sua conta estiver configurada para usar gravações em várias regiões e tiver mais de uma região, a taxa por 100 RU/s será a mesma para escalonamento manual e automático. Isso significa que habilitar o dimensionamento automático não incorre em nenhum custo adicional, independentemente da utilização. Como resultado, é sempre recomendável usar o dimensionamento automático com gravações em várias regiões quando você tiver mais de uma região, para aproveitar a economia de pagar apenas pelo RU/s para o qual seu aplicativo é dimensionado. Se você tiver gravações em várias regiões e uma região, use a utilização média para determinar se o dimensionamento automático resultará em economia de custos.

    Exemplos

    Vamos dar uma olhada em diferentes cargas de trabalho de exemplo e analisar se elas são adequadas para taxa de transferência manual ou automática. Para ilustrar a abordagem geral, analisaremos três horas de histórico para determinar a diferença de custo entre o uso manual e o dimensionamento automático. Para cargas de trabalho de produção, recomenda-se usar 7 a 30 dias de histórico (ou mais, se disponível) para estabelecer um padrão de uso de RU/s.

    Observação

    Todos os exemplos mostrados neste documento são baseados no preço de uma conta do Azure Cosmos DB implantada em uma região não governamental nos EUA. O preço e o cálculo variam dependendo da região que você está usando, consulte a página de preços do Azure Cosmos DB para obter as informações de preços mais recentes.

    Pressupostos:

    • Suponhamos que atualmente temos uma taxa de transferência manual de 30.000 RU/s.
    • Nossa região é configurada com gravações de região única, com uma região. Se tivéssemos várias regiões, multiplicaríamos o custo horário pelo número de regiões.
    • Utilize taxas de preços públicos para largura de banda manual (US$ 0,008 por 100 RU/s por hora) e com escalonamento automático (US$ 0,012 por 100 RU/s por hora) em contas de escrita em uma única região. Consulte a página de preços para obter detalhes.

    Primeiro, olhamos para o consumo normalizado de RU. Esta carga de trabalho tem tráfego variável, com consumo de RU normalizado variando de 6% a 100%. Existem picos ocasionais de 100% que são difíceis de prever, no entanto, muitas horas apresentam baixa utilização.

    Carga de trabalho com tráfego variável - consumo normalizado de RU entre 6% e 100% para todas as horas

    Vamos comparar o custo de provisionamento de 30.000 RU/s de taxa de transferência manual versus a configuração de escala automática máxima de RU/s para 30.000 (escalas entre 3000 e 30.000 RU/s).

    Agora, vamos analisar a história. Suponhamos que temos a utilização descrita na tabela a seguir. A utilização média nestas três horas é de 39%. Como a média de consumo de RU normalizado é inferior a 66%, economizamos usando a escala automática.

    Observe que na hora 1, quando há 6% de uso, a escala automática cobrará RU/s por 10% do máximo de RU/s, que é o mínimo por hora. Embora o custo do dimensionamento automático possa ser maior do que o rendimento manual em determinadas horas, desde que a utilização média seja inferior a 66% em todas as horas, o dimensionamento automático será mais barato em geral.

    Período Utilização RU/s de escala automática faturada Opção 1: Manual 30.000 RU/s Opção 2: Dimensionamento automático entre 3 000 - 30 000 RU/s
    Hora 1 6% 3000 30.000 * 0,008 / 100 = $2,40 3000 * 0,012 / 100 = $0,36
    Hora 2 100% 30 000 30.000 * 0,008 / 100 = $2,40 30.000 * 0,012 / 100 = $3,60
    Hora 3 11% 3300 30.000 * 0,008 / 100 = $2,40 3300 * 0,012 / 100 = $0,40
    Total $7,20 $4.36 (39% de poupança)

    Esta carga de trabalho possui tráfego constante, com consumo normalizado de RU variando de 72% a 100%. Com 30.000 RU/s provisionados, isso significa que estamos consumindo entre 21.600 e 30.000 RU/s.

    Carga de trabalho com tráfego constante - consumo normalizado de RU entre 72% e 100% para todas as horas do dia

    Vamos comparar o custo de provisionamento de 30.000 RU/s de taxa de transferência manual versus a configuração de escala automática máxima de RU/s para 30.000 (escalas entre 3000 e 30.000 RU/s).

    Suponha que temos o histórico de utilização conforme descrito na tabela. Nossa utilização média durante estas três horas é de 88%. Como a média de consumo de RU normalizado é superior a 66%, poupamos usando o rendimento manual.

    Em geral, se a utilização média em todas as 730 horas em um mês for superior a 66%, economizaremos usando a taxa de transferência manual.

    Período Utilização RU/s de escala automática faturada Opção 1: Manual 30.000 RU/s Opção 2: Dimensionamento automático entre 3 000 - 30 000 RU/s
    Hora 1 72% 21,600 30.000 * 0,008 / 100 = $2,40 21600 * 0,012 / 100 = $2,59
    Hora 2 93% 28,000 30.000 * 0,008 / 100 = $2,40 28.000 * 0,012 / 100 = $3,36
    Hora 3 100% 30 000 30.000 * 0,008 / 100 = $2,40 30.000 * 0,012 / 100 = $3,60
    Total $7,20 $9,55

    Sugestão

    Com a taxa de transferência padrão (manual), você pode usar a métrica de utilização normalizada para estimar o RU/s real que você pode usar se alternar para o dimensionamento automático. Multiplique a utilização normalizada num dado momento pelos RU/s padrão (manuais) atualmente provisionados. Por exemplo, se você provisionou 5000 RU/s e a utilização normalizada é de 90%, o uso de RU/s é 0,9 * 5000 = 4500 RU/s. Se vires que o teu padrão de tráfego é variável, mas estás acima ou abaixo do provisionado, podes querer habilitar o dimensionamento automático e, em seguida, alterar a configuração máxima de RU/s do dimensionamento automático de acordo.

    Como calcular a utilização média

    As faturas de dimensionamento automático são cobradas pela maior quantidade de RU/s atingida em uma hora. Ao analisar o consumo normalizado de RU ao longo do tempo, é importante usar a maior utilização por hora ao calcular a média.

    Para calcular a média da maior utilização em todas as horas:

    1. Defina a Agregação na métrica Consumo Normalizado de RU como Máximo.
    2. Selecione a granularidade de tempo para 1 hora.
    3. Navegue até Opções de gráfico.
    4. Selecione a opção de gráfico de barras.
    5. Em Partilhar, selecione a opção Transferir para o Excel . A partir da planilha gerada, calcule a utilização média em todas as horas.

    Para ver o consumo normalizado de RU por hora, 1) Selecione a granularidade do tempo para 1 hora; 2) Editar configurações do gráfico; 3) Selecione a opção de gráfico de barras; 4) Em Compartilhar, selecione a opção Download to Excel para calcular a média em todas as horas.

    Meça e monitorize a sua utilização

    Com o tempo, depois de escolher o tipo de taxa de transferência, você deve monitorar seu aplicativo e fazer ajustes conforme necessário.

    Ao usar o dimensionamento automático, utilize o Azure Monitor para ver o RU/s máximo de dimensionamento automático provisionado (Taxa de transferência máxima de dimensionamento automático) e o RU/s para o qual o sistema está atualmente configurado (Taxa de transferência configurada).

    O exemplo a seguir mostra uma carga de trabalho variável ou imprevisível usando o dimensionamento automático. Observe que, quando não há tráfego, o sistema dimensiona o RU/s para o mínimo de 10% do máximo de RU/s, que neste caso é de 5.000 RU/s e 50.000 RU/s, respectivamente.

    Captura de ecrã da carga de trabalho de exemplo usando escala automática, com um máximo de 50.000 RU/s e taxa de transferência variando de 5000 a 50.000 RU/s.

    Migrar o throughput provisionado padrão para autoscale

    Os usuários que desejam migrar um grande número de recursos da taxa de transferência provisionada padrão para o dimensionamento automático podem usar um script da CLI do Azure que migrará todos os recursos de taxa de transferência em uma assinatura do Azure para o dimensionamento automático.

    Próximos passos