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: 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: Tmax utilizaçãoVocê 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.
Exemplo 1: Carga de trabalho variável (autoscale recomendado)
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.
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) |
Exemplo 2: Carga de trabalho estável (taxa de transferência manual recomendada)
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.
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:
- Defina a agregação na métrica Consumo normalizado de RU como Máximo.
- Selecione a granularidade de tempo para 1 hora.
- Navegue até Opções de gráfico.
- Selecione a opção de gráfico de barras.
- 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.
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.
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
- Use a calculadora RU para estimar a taxa de transferência para novas cargas de trabalho.
- Use o Azure Monitor para monitorar suas cargas de trabalho existentes.
- Saiba como provisionar a taxa de transferência de dimensionamento automático em um banco de dados ou contêiner do Azure Cosmos DB.
- Reveja as perguntas frequentes sobre a escala automática.
- Tentando fazer o planejamento de capacidade para uma migração para o Azure Cosmos DB? Você pode usar informações sobre seu cluster de banco de dados existente para planejamento de capacidade.
- Se tudo o que você sabe é o número de vcores e servidores em seu cluster de banco de dados existente, leia sobre como estimar unidades de solicitação usando vCores ou vCPUs
- Se você souber as taxas de solicitação típicas para sua carga de trabalho de banco de dados atual, leia sobre como estimar unidades de solicitação usando o planejador de capacidade do Azure Cosmos DB