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 / 273890
Accepted
user1716729
user1716729
Asked: 2020-08-18 11:09:36 +0800 CST2020-08-18 11:09:36 +0800 CST 2020-08-18 11:09:36 +0800 CST

Alta espera de WRITELOG no Banco de Dados SQL do Azure

  • 772

Minha análise de WaitStats do nosso Banco de Dados SQL do Azure está mostrando WRITELOG e HADR_SYNC_COMMIT como contador de espera mais alta. Este é um recurso Premium 250 eDTU.

Roteiro

SELECT   TOP (10) wait_type,
                  CAST (([wait_time_ms] / 1000.0) AS DECIMAL (16, 2)) AS [WaitS],
                  CAST (100.0 * [wait_time_ms] / SUM([wait_time_ms]) OVER () AS DECIMAL (16, 2)) AS [Percentage]
FROM     sys.dm_db_wait_stats
ORDER BY [Percentage] DESC;

insira a descrição da imagem aqui

Não consigo encontrar muitas informações sobre como resolver isso no banco de dados SQL do AZure.

Qualquer ajuda é apreciada.

Obrigado

sql-server azure-sql-database
  • 1 1 respostas
  • 370 Views

1 respostas

  • Voted
  1. Best Answer
    David Browne - Microsoft
    2020-08-18T11:56:40+08:002020-08-18T11:56:40+08:00

    WRITELOG está aguardando confirmação para que os registros de log de sua transação sejam protegidos em disco e HADR_SYNC_COMMIT está aguardando confirmação para que os registros de log de sua transação sejam enviados pela rede para uma réplica secundária e protegidos para disco. Portanto, são esperas muito, muito semelhantes.

    Ambos indicam que seu aplicativo está cometendo muitas transações, talvez muitas.
    E no premium seu arquivo de log está em uma unidade flash local com latência muito baixa, então sofrer muitas esperas de WRITELOG sugere que há algo que precisa ser corrigido em seu aplicativo.

    Se você tiver algum processo que execute INSERT, UPDATE ou DELETE de linhas únicas em um loop apertado, considere envolvê-los em uma transação explícita, para que você só precise esperar que o log de transações seja liberado no final.

    Como sempre , o Query Store é seu amigo e pode mostrar as esperas por consulta, e você também pode analisar as esperas por sessão em sys.dm_exec_session_wait_stats para ver quais partes de sua carga de trabalho estão sofrendo essas esperas.

    Você pode ter uma noção melhor de quanto seus clientes estão esperando comparando o tempo decorrido da sessão e o tempo de CPU com os tempos de espera. POR EXEMPLO

    select s.session_id, 
           w.wait_type, 
           w.wait_time_ms, 
           w.signal_wait_time_ms, 
           s.total_elapsed_time, 
           s.cpu_time, 
           w.wait_time_ms/cast(nullif(s.total_elapsed_time,0) as float) wait_percent_of_elapsed
    from  sys.dm_exec_sessions s
    join sys.dm_exec_session_wait_stats w
      on s.session_id = w.session_id
    where w.wait_time_ms > 0
    order by wait_percent_of_elapsed desc
    
    • 3

relate perguntas

  • SQL Server - Como as páginas de dados são armazenadas ao usar um índice clusterizado

  • Preciso de índices separados para cada tipo de consulta ou um índice de várias colunas funcionará?

  • Quando devo usar uma restrição exclusiva em vez de um índice exclusivo?

  • Quais são as principais causas de deadlocks e podem ser evitadas?

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

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