Problemas repentinos de desempenho do SQL Azure

4

Estou usando o New Relic para monitorar um dos meus sites e a cada duas semanas meu Apdex cai no chão. Isso parece estar no SQL Azure.

O que eu sei:

  • As solicitações por minuto são as mesmas de todos os dias úteis daquele horário específico. Não há um pico em tudo comparado ao mesmo tempo ontem ou na semana passada.
  • O desempenho varia de cerca de 100 ms em média para 12 segundos em média.
  • Nenhuma mudança de código aconteceu na semana anterior.
  • Reiniciar o site do Azure que acessa esse banco de dados não faz diferença.
  • O aumento de escala no front-end do site não faz diferença.
  • Não parece haver nenhuma conexão não fechada ou objetos de conexão não-posicionados.

Curiosamente, o que parece parece funcionar para resolvê-lo instantaneamente é mudar a escala do banco de dados - na direção QUALQUER . Movê-lo de S0 para S1 corrige; movendo-o de S2 para S1, corrige-o. Obviamente, não é possível "reiniciar" um banco de dados do Azure, mas esse processo parece fazer alguma coisa.

Não sei como investigar isso ainda mais. Alguém tem alguma sugestão ou pensamento?

    
por Chris Wood 29.11.2014 / 16:16

3 respostas

3

Tivemos exatamente o mesmo problema várias vezes - geralmente a cada 3-6 semanas (dois anos atrás). O suporte do Azure continuou dizendo que precisamos ajustar nossas consultas. Mas o problema era semelhante ao que você tinha - sem nada mudar (código ou carga), o desempenho simplesmente se acumulava por algumas horas e depois voltava ao normal. Depois de dias de frustração e depois de adicionar mais e mais registro e monitoramento, encontramos o que o Azure não queria compartilhar conosco:

Se algo der errado com a instância primária, ela será eliminada e a instância secundária será a instância principal. Essa mudança foi a raiz de tudo isso e o suporte do Azure hesitantemente concordou com isso !!! Embora a instância secundária seja uma réplica, há algo com a opção que a retarda - mais ou menos como reiniciá-la.

A instância pode ser eliminada por vários motivos: 1. O Azure SQL é um banco de dados compartilhado. Se um dos outros bancos de dados na mesma instância estiver se comportando mal (muita carga com algum trabalho em lote), isso criaria problemas em toda a instância. 2. Falha de hardware - provavelmente não tão frequente quanto a anterior.

    
por 26.08.2015 / 19:33
0

Não usei nenhum dos comandos pessoalmente, mas tentei ver o que está acontecendo com os registros do banco de dados / servidor:

  • Obter registros de eventos do banco de dados: link
  • Obter registros de eventos do servidor: link

Além disso, tente fazer algum ajuste no seu aplicativo, quem sabe? pode ser a fonte do problema.

  • Orientações sobre desempenho do banco de dados do Azure SQL: link

E, finalmente, se esse problema for causado por um comportamento estranho do servidor de banco de dados, entrarei em contato diretamente com a Microsoft para obter suporte.

Espero que isso ajude.

    
por 05.12.2014 / 23:34
0

Você pode executar nossos benchmarks de banco de dados. Eles fornecem métricas de desempenho detalhadas para as principais propriedades de uma instância do SQL Server.

Nós fornecemos o dbwatch gratuitamente para este propósito. link

    
por 17.03.2017 / 13:59

Tags