Métrica de “porcentagem de DTU” do Banco de Dados SQL do Azure

88

Com a nova estrutura de camadas do Banco de Dados SQL do Azure , parece importante monitorar o uso de "DTU" do banco de dados para saber se deve atualizar ou fazer downgrade para outra camada.

Ao ler as Camadas de Serviço e Níveis de Desempenho do Banco de Dados SQL do Azure , ele fala apenas sobre o monitoramento com uso de porcentagem de CPU, Dados e Log.

Mas, quando adiciono novas métricas, também tenho uma opção de porcentagem de DTU :

Adicionar métricas de banco de dados

Não consigo encontrar nada sobre isso online. Este é essencialmente um resumo das outras métricas relacionadas ao DTU?

Dave New
fonte

Respostas:

100

Uma DTU é uma unidade de medida para o desempenho de uma camada de serviço e é um resumo de várias características do banco de dados. Cada camada de serviço tem um certo número de DTUs atribuídos a ele como uma maneira fácil de comparar o nível de desempenho de uma camada em relação a outra.

Unidade de throughput do banco de dados (DTU): as DTUs fornecem uma maneira de descrever a capacidade relativa de um nível de desempenho de bancos de dados Basic, Standard e Premium. As DTUs são baseadas em uma medida combinada de CPU, memória, leituras e gravações. À medida que as DTUs aumentam, a potência oferecida pelo nível de desempenho aumenta. Por exemplo, um nível de desempenho com 5 DTUs tem cinco vezes mais potência do que um nível de desempenho com 1 DTU. Uma cota máxima de DTU se aplica a cada servidor.

A cota de DTU se aplica ao servidor, não aos bancos de dados individuais e cada servidor tem no máximo 1600 DTUs. O DTU% é a porcentagem de unidades que seu banco de dados específico está usando e parece que esse número pode ultrapassar 100% da classificação de DTU da camada de serviço (presumo que seja o limite do servidor). Esse número de porcentagem é projetado para ajudá-lo a escolher o nível de serviço apropriado.

Da parte inferior deste anúncio :

Por exemplo, se o consumo de DTU mostrar um valor de 80%, isso indica que está consumindo DTU a uma taxa de 80% do limite que um banco de dados S2 teria. Se você vir valores maiores que 100% nesta visualização, significa que você precisa de um nível de desempenho maior do que S2.

Como exemplo, digamos que você veja um valor percentual de 300%. Isso indica que você está usando três vezes mais recursos do que estariam disponíveis em um S2. Para determinar um tamanho inicial razoável, compare as DTUs disponíveis em um S2 (50 DTUs) com os próximos tamanhos maiores (P1 = 100 DTUs ou 200% de S2, P2 = 200 DTUs ou 400% de S2). Como você está em 300% de S2, você gostaria de começar com um P2 e testar novamente.

embedded.kyle
fonte
2
Estou procurando e ainda não encontrei, o que mostra essa porcentagem de DTU se já estamos em algum novo Tier? como se eu estivesse em S0, a porcentagem de DTU agora mostra o gráfico de S0 ou ainda mostra "como compare com s2"? É algo realmente simples que não está claro.
Sumit Gupta de
1
@SumitGupta o gráfico é redefinido / esvaziado quando você muda de nível, então você não tem dados antigos para olhar e a nova escala de DTU de nível entra em vigor imediatamente.
Andrew,
Atualmente, estou usando o Azure SQL e tenho poucos bancos de dados. O limite de cota por servidor que você mencionou aqui não está correto ou pelo menos está desatualizado. As cotas de DTU são determinadas pela faixa de preço que é específica para cada banco de dados, não servidor. Talvez o link de referência que você cita tenha sido alterado após sua postagem. ... ou eu perdi alguma coisa? Obrigado.
Vladislav de
15

Ainda não é legal o suficiente para comentar, mas em relação ao comentário de @vladislav, o artigo original era bastante antigo. Aqui está um documento de atualização sobre DTU's, que ajudaria a responder à pergunta do OP.

https://docs.microsoft.com/en-us/azure/sql-database/sql-database-what-is-a-dtu

Jeff Patton
fonte
Este link é o portal azure que fornece uma resposta à pergunta "O que é um DTU". Obrigado por isso.
Ayushmati
13

A partir deste documento, esta porcentagem de DTU é determinada por esta consulta:

SELECT end_time,   
  (SELECT Max(v)    
   FROM (VALUES (avg_cpu_percent), (avg_data_io_percent), 
(avg_log_write_percent)) AS    
   value(v)) AS [avg_DTU_percent]   
FROM sys.dm_db_resource_stats;  

parece o máximo de avg_cpu_percent, avg_data_io_percenteavg_log_write_percent

Referência:

https://docs.microsoft.com/en-us/sql/relational-databases/system-dynamic-management-views/sys-dm-db-resource-stats-azure-sql-database

jyong
fonte
4

O DTU nada mais é do que uma mistura de CPU, memória e E / S. Por que precisamos de uma mistura quando esses 3 são bem claros? Porque queremos uma unidade de poder. Mas ainda é confuso de várias maneiras. por exemplo: Se eu simplesmente aumentar a memória, isso aumentará a potência (DTU)? Se sim, como o DTU pode ser uma mistura? É um sim Neste caso de aumento de memória, de acordo com a consulta na resposta dada por jyong, DTU será equivalente à memória (já que o aumentamos). A MS tem até um modelo de precificação baseado neste DTU e levantou muitas questões.

Por causa dessas confusões e perguntas, MS queria trazer outra opção. Já tínhamos algumas especificações no local, por que não podemos usá-las? Como resultado, nasceu o 'modelo de preços vCore'. Neste modelo temos visibilidade para RAM e CPU. Mas não no modelo DTU.

O contra-argumento do DTU seria que as medidas do DTU são calibradas usando um benchmark que simula a carga de trabalho do banco de dados do mundo real. E que não estamos mais no local;). Sim, ele foi projetado para a computação em nuvem (mas também é usado em cargas de trabalho OLTP).

Mas isso não é tudo. Agora que estamos entrando no modelo de precificação, a equação muda. A questão agora é sobre dinheiro e o pacote (quais são todos os recursos incluídos). Aqui, o DTU tem algumas vantagens (a meu ver), mas as empresas com muitas licenças existentes discordariam.

  • A DTU tem um preço (Compute + Storage + Backup). Mais simples e pode começar com preços mais baixos.
  • O vCore tem preços diferentes (computação, armazenamento). Garantia de software disponível aqui. As empresas terão licenças no local, isso pode ser facilmente transferido aqui (para que consigam máquinas grandes por um preço menor do que o modelo DTU). Além disso, eles se comprometem por vários anos e obtêm descontos adicionais.

Podemos alternar entre os dois quando necessário, então, se não tiver certeza, comece com DTU (Basic / Standard / Premium).

Como podemos saber qual faixa de preço usar? Vá para o menu de configuração conforme indicado abaixo: (à direita / esquerda você pode alternar entre os dois) VCore

DTU

Mesmo que o Vcore seja uma 'máquina' maior e para coisas maiores, o custo às vezes pode ser mais barato para organizações empresariais. Aqui está uma prova. O DTU custa $ 147. Mas o Vcore custa $ 111. Isso porque você pode se comprometer por 3 anos (mas ainda paga mensalmente) e também por causa da opção de reutilização da licença (as empresas terão licenças locais).

Custo DTU

insira a descrição da imagem aqui

É um pouco demais do que responder a uma pergunta direta, mas vou prosseguir e fazer isso respondendo 'como escolher entre diferentes opções em DTU, muito menos escolher entre DTU e vCore'. Isso é respondido neste belo blog e este fluxograma explica tudo

insira a descrição da imagem aqui

Nuvens Azuis
fonte
Muito informativo! As capturas de tela do portal azure são especialmente úteis.
Ayushmati
0

Para verificar o uso preciso de seus serviços, seja ele gratuito (como sempre gratuito ou 12 meses grátis) ou Pague conforme o uso, é importante monitorar o uso para que você saiba antecipadamente o custo incorrido ou quando atualize seu nível de serviço.

Para verificar a utilização do serviço gratuito e seus limites, acesse a busca no Portal, faça a busca com "Assinatura" e clique nele. você verá os detalhes de cada serviço que utilizou.

No caso do free azure da Microsoft, você poderá ver o custo incorrido de cada um.

Visite Verificar o uso de serviços gratuitos incluídos em sua conta gratuita do Azure insira a descrição da imagem aqui

Espero que isso ajude alguém!

Karthik
fonte