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 fornece a capacidade necessária para dar suporte aos requisitos de taxa de transferência. 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 mostra uma comparação de alto nível entre o padrão (manual) e o dimensionamento automático.

Description Padrão (manual) Dimensionamento Automático
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, você pode usar até T a taxa de transferência de RU/s.

Por exemplo, se você definir padrão (manual) 400 RU/s, a taxa de transferência 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 de T 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 Utilizar Você deseja gerenciar manualmente sua capacidade de taxa de transferência (RU/s) e dimensionar-se.

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 para 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ê deseja que o Azure Cosmos DB gerencie sua capacidade de taxa de transferência (RU/s) e dimensione, com base no uso.

Você tem o uso de RU/s que é variável ou difícil de prever. De todas as horas em um mês, se você definir a escala automática máxima de RU/s Tmax e usar a quantidade Tmax total por 66% das horas ou menos, estima-se que você economizará com a escala automática.

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).
    O faturamento é feito por hora, para o maior RU/s que o sistema escalou na hora.

    Exemplo:
  • Provisão de escala automática máxima RU/s de 4000 RU/s (escalas entre 400 - 4000 RU/s)
  • Hora 1: sistema dimensionado até o valor mais alto de 3500 RU/s
  • Hora 2: sistema reduzido para um mínimo de 400 RU/s (sempre 10% de ), devido à ausência de Tmaxutilizaçã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 você exceder o RU/s provisionado As RU/s permanecem estáticas no que é provisionado. Quaisquer solicitações que consumam além das RUs provisionadas em um segundo serão limitadas por taxa, com uma resposta que recomenda um tempo de espera antes de tentar novamente. Você pode aumentar ou diminuir manualmente o RU/s, se necessário. O sistema irá dimensionar o RU/s até o autoscale max RU/s. Quaisquer solicitações que consumam além do RU/s máximo de escala automática em um segundo serão limitadas à 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 você 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 a taxa de transferência. Você será cobrado por 400 RU/s na taxa de transferência provisionada padrão (manual), por hora.

    Se você provisionar a taxa de transferência de dimensionamento automático com RU/s máximo de 4000 RU/s, o recurso será dimensionado entre 400 e 4000 RU/s. Como a taxa de faturamento de taxa de transferência de escala automática por RU/s é 1,5x da taxa padrão (manual), para horas em que o sistema foi reduzido para o mínimo de 400 RU/s, sua fatura será maior do que se você 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).

    Gorjeta

    Se 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 dimensionamento 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 duas cargas de trabalho de exemplo diferentes e analisar se elas são adequadas para taxa de transferência manual ou de dimensionamento automático. 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.

    Nota

    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.
    • Use taxas de preços públicos para taxas de transferência manuais (US$ 0,008 por 100 RU/s por hora) e de dimensionamento automático (US$ 0,012 por 100 RU/s por hora) em contas de gravação de 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 normalizado de RU variando de 6% a 100%. Há picos ocasionais a 100% que são difíceis de prever, mas muitas horas com 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 normalizado de RU é inferior a 66%, economizamos usando o dimensionamento automático.

    Observe que na hora 1, quando há 6% de uso, o dimensionamento automático 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 de tempo Utilização RU/s de escala automática faturada Opção 1: Manual 30.000 RU/s Opção 2: Dimensionamento automático entre 3000 - 30.000 RU/s
    1.ª hora 6% 3000 30.000 * 0,008 / 100 = $2,40 3000 * 0,012 / 100 = $0,36
    2.ª hora 100% 30 000 30.000 * 0,008 / 100 = $2,40 30.000 * 0,012 / 100 = $3,60
    3.ª hora 11% 3300 30.000 * 0,008 / 100 = $2,40 3300 * 0,012 / 100 = $0,40
    Total $7,20 $4.36 (39% de poupança)

    Essa carga de trabalho tem 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

    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 nessas três horas é de 88%. Como a média de consumo normalizado de RU é superior a 66%, economizamos usando a taxa de transferência 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 de tempo Utilização RU/s de escala automática faturada Opção 1: Manual 30.000 RU/s Opção 2: Dimensionamento automático entre 3000 - 30.000 RU/s
    1.ª hora 72% 21,600 30.000 * 0,008 / 100 = $2,40 21600 * 0,012 / 100 = $2,59
    2.ª hora 93% 28,000 30.000 * 0,008 / 100 = $2,40 28.000 * 0,012 / 100 = $3,36
    3.ª hora 100% 30 000 30.000 * 0,008 / 100 = $2,40 30.000 * 0,012 / 100 = $3,60
    Total $7,20 $9,55

    Gorjeta

    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 em um determinado momento pelo RU/s padrão (manual) atualmente provisionado. Por exemplo, se você provisionou 5000 RU/s e a utilização normalizada é 90%, o uso de RU/s é 0,9 * 5000 = 4500 RU/s. Se você vir que seu padrão de tráfego é variável, mas está acima ou abaixo do provisionado, convém habilitar o dimensionamento automático e, em seguida, alterar a configuração de RU/s máximo de dimensionamento automático de acordo.

    Como calcular a utilização média

    Dimensionamento automático de faturas para o RU/s mais alto dimensionado 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, use o Azure Monitor para ver o RU/s máximo de escala automática provisionado (Taxa de transferência máxima de escala automática) e o RU/s para o qual o sistema está atualmente dimensionado (Taxa de transferência provisionada).

    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 tela de exemplo de carga de trabalho usando escala automática, com escala automática máxima de RU/s de 50.000 RU/s e taxa de transferência variando de 5000 a 50.000 RU/s.

    Migrar taxa de transferência provisionada padrão para dimensionamento automático

    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. Para obter mais detalhes, consulte Converter em Autoscale.

    Próximos passos