Performance azure disks, comprimento de fila médio alto

3

Estou tendo uma batalha clássica de administrador do sistema de desenvolvedor, na qual estou afirmando que há um problema de E / S no disco do servidor SQL compartilhado, enquanto o administrador do sistema informa que a capacidade não foi atingida.

Uma coisa que consegui ressaltar é que o tamanho médio da fila de disco no servidor SQL é muito alto. O comprimento da fila do avg tem uma média de 5 e picos regulares de 10 a 15. Ele nunca chega abaixo de 2,5

O administrador do sistema me diz que não é um problema porque o disco é uma faixa de 6 discos e o tamanho da fila é, por definição, ruim se for maior que a quantidade dupla de eixos. Portanto, sua fórmula é 6 * 2 = 12, que é menor que a média de 5.

O raciocínio dele está correto? Podemos apenas olhar para um disco azul como um fuso? O comprimento constante da fila média de min 5 não é uma indicação?

EDIT: Como se vê, os discos foram um enorme gargalo. O aplicativo é executado sem problemas depois de mover os bancos de dados para um servidor de banco de dados separado.

    
por MichaelD 08.07.2015 / 14:14

2 respostas

2

Você está se concentrando um pouco em uma única métrica!

Diagnosticar um gargalo para um único componente raramente termina com um contador que fornece uma explicação completa.
Existem muitos grande guides para usar o perfmon para diagnosticar problemas de desempenho no SQL Server.

E, infelizmente, o seu Admin poderia estar certo, o contador que você escolheu realmente depende do hardware subjacente. No entanto, não consigo encontrar nenhuma documentação informando que o Azure é baseado em uma invasão de 6 discos. Então, talvez se concentrar em outros contadores?

  1. Média Disco sec / leitura
  2. Média Disco sec / Write
  3. Leitura de disco / seg
  4. Gravações de disco / seg

Mas como recomendação final. Se a sua única indicação fosse a média Comprimento da Fila de Disco, seu Sysadmin provavelmente está certo.
Se tiver certeza de que é um problema de disco, você sempre pode tentar criar espaços de armazenamento.

    
por 08.07.2015 / 16:46
4

Bastante novo no Azure, mas aqui está minha oferta:

Quanto mais discos do Azure você dimensionar, melhor será seu desempenho, isso é verdade. Eu não tenho certeza sobre a equação embora. De qualquer forma, acho que você está latindo na árvore errada ...

O Azure impõe limites artificiais a métricas como IOPS e máximo de leituras / gravações por segundo, portanto, o comprimento da fila é apenas uma das poucas métricas que você precisa examinar.

Esta questão é similar em natureza à sua. Ele também tem uma referência útil para um artigo de desempenho do SQL do Azure . Garantir que você siga as práticas recomendadas da Microsoft pode ajudá-lo a melhorar o desempenho.

Não tenho certeza se o aumento do número de discos que você usa ajudará. Pelo que eu vi, o crescimento não é linear. Você pode esperar que o IOPS para 6 discos seja 3000 (6x500), mas provavelmente é mais como 2000.

A mudança para a camada do DS (SSD) pode ser a única maneira de obter o tipo de desempenho que você está procurando em uma única VM. Aqui está um resumo dos limites de instância do Azure: link

Por último, a melhor maneira de melhorar o desempenho de qualquer aplicativo é reduzir a dependência de E / S. Cache sempre que possível. Você poderia tentar uma instância com mais memória.

    
por 08.07.2015 / 16:42