Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
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: 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: 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.
Exemplo 1: Carga de trabalho variável (dimensionamento automático recomendado)
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.
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) |
Exemplo 2: Carga de trabalho estável (taxa de processamento manual recomendada)
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.
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:
- 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, 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.
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
- 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 escalamento automático em uma base de dados ou repositório 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