AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / dba / Perguntas / 133510
Accepted
sharptooth
sharptooth
Asked: 2016-03-28 23:21:28 +0800 CST2016-03-28 23:21:28 +0800 CST 2016-03-28 23:21:28 +0800 CST

Como as DTUs nos níveis de desempenho Standard e Premium no SQL Azure se comparam?

  • 772

Observamos recentemente uma grave degradação de desempenho em um banco de dados SQL Azure em execução no nível de desempenho Standard3 - a utilização da CPU passou de dez por cento para cinquenta por cento para quase cem por cento em apenas uma hora. Portanto, alteramos o nível de desempenho para Premium2 e a utilização da CPU caiu imediatamente para cerca de oito por cento.

O Standard3 oferece 100 DTUs e o Premium2 oferece 250 DTUs. O que significa que oito por cento de P2 são apenas vinte DTUs, o que está muito longe de usar todas as 100 DTUs no Standard3.

Essas DTUs são diferentes? Caso contrário, como é possível essa queda repentina de utilização ao mudar de um nível de desempenho de 100 DTUs para um nível de desempenho de 250 DTUs?

performance azure-sql-database
  • 4 4 respostas
  • 9416 Views

4 respostas

  • Voted
  1. TheGameiswar
    2016-03-29T00:37:48+08:002016-03-29T00:37:48+08:00

    O desempenho dos bancos de dados do Azure é expresso em termos de DTUS, o que significa o número de transações que podem ser concluídas por segundo. Além disso, também limita a quantidade máxima de memória, cpu, IO que seu banco de dados obterá. Consulte a tabela abaixo para obter mais detalhes e preste atenção à seção de solicitações de sessão.

    insira a descrição da imagem aqui

    Espero que a imagem acima esclareça as diferenças entre diferentes camadas de banco de dados. Mais abaixo está o que a Documentação do Azure tem a dizer quando usar diferentes camadas de banco de dados.

    insira a descrição da imagem aqui

    Sempre que você quiser estimar o desempenho do banco de dados do Azure, verifique abaixo o DMVS, que fornece mais detalhes sobre o uso de DTU expresso em termos de IO, log, memória, CPU.

    --Este DMV contém dados de apenas uma hora, mas capturados a cada 15 segundos

    SELECT  
        AVG(avg_cpu_percent) AS 'Average CPU Utilization In Percent', 
        MAX(avg_cpu_percent) AS 'Maximum CPU Utilization In Percent', 
        AVG(avg_data_io_percent) AS 'Average Data IO In Percent', 
        MAX(avg_data_io_percent) AS 'Maximum Data IO In Percent', 
        AVG(avg_log_write_percent) AS 'Average Log Write Utilization In Percent', 
        MAX(avg_log_write_percent) AS 'Maximum Log Write Utilization In Percent', 
        AVG(avg_memory_usage_percent) AS 'Average Memory Usage In Percent', 
        MAX(avg_memory_usage_percent) AS 'Maximum Memory Usage In Percent' 
    FROM sys.dm_db_resource_stats; 
    

    --Este DMV contém dados por 14 dias com intervalo de captura de 5 minutos

    SELECT start_time, end_time,    
      (SELECT Max(v)    
       FROM (VALUES (avg_cpu_percent), (avg_physical_data_read_percent), (avg_log_write_percent)) AS value(v)) AS [avg_DTU_percent]  
    FROM sys.resource_stats 
    WHERE database_name = '<your db name>' 
    ORDER BY end_time DESC; 
    

    Sempre que você vê uma métrica DTU consistentemente em 90%, é um indicador de gargalo e pode ser solucionado da mesma maneira, solucionamos problemas em nossos servidores locais.

    Digamos, por exemplo, que você esteja vendo a CPU consistentemente em 90% por um período de tempo a partir dos dados capturados pelo DMV, você pode começar coletando consultas que estão causando alta CPU, veja se elas podem ser ajustadas para consumir menos CPU. seus esforços de ajuste estão esgotados, então você pode precisar atualizar definitivamente para um nível superior

    Referências: https://azure.microsoft.com/en-in/documentation/articles/sql-database-performance-guidance/#monitoring-resource-use-with-sysresourcestats

    • 7
  2. UnionP
    2018-03-29T12:14:29+08:002018-03-29T12:14:29+08:00

    Fiquei igualmente confuso ao olhar para os preços desses dois níveis. 100 DTUs no padrão custam $ 150/mês e 125 DTUs no Premium custam $ 465/mês, imaginei que algo mais deveria explicar essa disparidade. Acho que esta linha de https://learn.microsoft.com/en-us/azure/sql-database/sql-database-service-tiers-dtu#choosing-a-service-tier-in-the-dtu-based -modelo de compra deve explicar a diferença:

                                | Standard                   | Premium
    IO throughput (approximate) | 2.5 IOPS per DTU           | 48 IOPS per DTU
    IO latency (approximate)    | 5 ms (read), 10 ms (write) | 2 ms (read/write)
    

    Parece que uma DTU Premium vale 19x mais do que uma DTU Standard

    • 7
  3. Best Answer
    sharptooth
    2017-10-18T02:56:26+08:002017-10-18T02:56:26+08:00

    Desta vez, o motivo foi o SQL Azure mudando de ideia sobre qual índice usar para uma consulta executada com frequência. Às vezes, o SQL Azure decide que alterar um índice usado talvez seja uma boa ideia (com base nas métricas coletadas). No momento em que o problema foi observado, faltava validação a esse mecanismo - uma vez que a consulta era alternada para outro índice, o mecanismo de banco de dados não validava, havia uma melhoria real. Não faço ideia se isso mudou desde aquela época. A maneira de contornar essa situação é usando WITH INDEXdica.

    A melhoria de desempenho que observamos não foi devido à alteração do nível de desempenho por si só, apenas quando Standard mudou para Premium, presumivelmente houve uma alteração de hardware e, portanto, as estatísticas do banco de dados foram limpas e o mecanismo de banco de dados reconsiderou os planos de consulta mais uma vez e, portanto, quando mudamos para Premium o motor foi redefinido para o plano antigo, é por isso que obtivemos a melhoria de desempenho dessa vez.

    • 4
  4. Faces Of IT
    2019-04-15T23:05:21+08:002019-04-15T23:05:21+08:00

    Se você estiver procurando a nova comparação baseada em SQL vCore do Azure , esses artigos de sites de terceiros e sites oficiais da Microsoft devem fornecer mais informações.

    • 0

relate perguntas

  • Existe um ganho de desempenho ao manipular dados com procedimentos armazenados em vez de alimentá-los em funções após a recuperação?

  • Como você ajusta o MySQL para uma carga de trabalho pesada do InnoDB?

  • Como determinar se um Índice é necessário ou necessário

  • Onde posso encontrar o log lento do mysql?

  • Como posso otimizar um mysqldump de um banco de dados grande?

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    conectar ao servidor PostgreSQL: FATAL: nenhuma entrada pg_hba.conf para o host

    • 12 respostas
  • Marko Smith

    Como fazer a saída do sqlplus aparecer em uma linha?

    • 3 respostas
  • Marko Smith

    Selecione qual tem data máxima ou data mais recente

    • 3 respostas
  • Marko Smith

    Como faço para listar todos os esquemas no PostgreSQL?

    • 4 respostas
  • Marko Smith

    Listar todas as colunas de uma tabela especificada

    • 5 respostas
  • Marko Smith

    Como usar o sqlplus para se conectar a um banco de dados Oracle localizado em outro host sem modificar meu próprio tnsnames.ora

    • 4 respostas
  • Marko Smith

    Como você mysqldump tabela (s) específica (s)?

    • 4 respostas
  • Marko Smith

    Listar os privilégios do banco de dados usando o psql

    • 10 respostas
  • Marko Smith

    Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL?

    • 4 respostas
  • Marko Smith

    Como faço para listar todos os bancos de dados e tabelas usando o psql?

    • 7 respostas
  • Martin Hope
    Jin conectar ao servidor PostgreSQL: FATAL: nenhuma entrada pg_hba.conf para o host 2014-12-02 02:54:58 +0800 CST
  • Martin Hope
    Stéphane Como faço para listar todos os esquemas no PostgreSQL? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh Por que o log de transações continua crescendo ou fica sem espaço? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland Listar todas as colunas de uma tabela especificada 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney O MySQL pode realizar consultas razoavelmente em bilhões de linhas? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx Como posso monitorar o andamento de uma importação de um arquivo .sql grande? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison Como você mysqldump tabela (s) específica (s)? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Jonas Como posso cronometrar consultas SQL usando psql? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas Como faço para listar todos os bancos de dados e tabelas usando o psql? 2011-02-18 00:45:49 +0800 CST

Hot tag

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve