Latência de disco em uma máquina virtual

3

Estou analisando alguns problemas de desempenho em uma máquina virtual em cluster em nossa organização. Na verdade, esse problema parece afetar a maioria das máquinas virtuais que eu observei. O host e a VM são o 2008R2 com o SP1.

Eu acredito - pelo que li em vários artigos e conselhos que recebi - que a latência de I / O é a métrica mais importante a ser observada. Eu olhei para essa métrica em três lugares diferentes:

  • latência do LUN no dispositivo de armazenamento
  • Média e gravação do disco lógico sec e média sec / read no host do Hyper-v
  • O mesmo que acima, mas nas próprias máquinas virtuais

Este é um esforço para diminuir a fonte de qualquer latência que possa estar acontecendo. Com certeza, isso é o que eu encontrei ....

O que estou vendo é o que eu consideraria ser uma latência aceitável (3-15ms) nos LUNs, até 20ms (ainda aceitável) no host do Hyper-V. Quando vejo as mesmas métricas em uma VM, vejo picos regulares de até 300 ms por até 10 segundos por vez e uma média de 20 a 30 ms.

Essa VM específica é um servidor SQL, mas o mesmo se aplica a servidores não SQL também. As exceções relevantes são adicionadas à nossa solução antivírus para evitar a varredura ao acessar arquivos DB. Além disso, nossos VHDs são de tamanho fixo e não dinâmicos.

Então, para minha pergunta:

Quais são as causas prováveis dessa latência e / ou que outras métricas eu poderia estar usando na VM (ou até mesmo no host) para restringi-la?

    
por john 03.10.2013 / 17:46

2 respostas

3

Medir o tempo dentro de uma VM pode ser problemático, já que os processadores virtuais não são executados continuamente. Se você quiser ter uma visão clara do que realmente está acontecendo, use o Monitor de Desempenho no sistema operacional de gerenciamento. Procure pelo dispositivo de armazenamento virtual Hyper-V. Você também pode correlacionar isso com os dados do Monitor de Recursos para ver o que está concorrendo para o acesso aos discos.

Em geral, o tempo de resposta de um determinado VHD terá tudo a ver com o que mais está acontecendo no volume que hospeda esse VHD.

    
por 03.10.2013 / 19:51
1

Sua 'latência de disco' na VM pode ser a latência da CPU no host, já que o host precisa usar ciclos de CPU para solicitações de E / S.

O host é altamente carregado no geral? Ou está apenas executando muitas VMs? Não tenho certeza do que é o equivalente do hyper-v, mas a métrica do VMWare é o tempo de prontidão da CPU - basicamente com que frequência a VM está aguardando a execução do host.

    
por 03.10.2013 / 18:35