Como se mede a contenção de recursos entre sistemas / VMs virtualizados no mesmo host?

2

Em diversas ocasiões, enfrentei a questão de saber se a máquina virtual em que estou está sendo afetada por outras VMs em execução no mesmo host da VM. Eu entendo que, mesmo em um cenário perfeito em que nem a CPU nem a RAM nem o Disco foram provisionados em excesso, haverá alguns efeitos sobre as VMs irmãs no mesmo host.

Existe algum método comprovado de medir a contenção de recursos de dentro de uma máquina virtual? O que é uma boa abordagem?

No passado, medi o tempo de execução de tarefas padronizadas (por exemplo, compilação de GCC ou codificação de vídeo) entre diferentes VMs, mas os resultados variam mesmo quando controlo a carga em todas as outras VMs no mesmo sistema.

Devo mencionar que todos esses sistemas são baseados em Linux.

Edit: Vamos supor que eu não tenho acesso direto ao host, apenas as VMs

    
por madmaze 12.12.2013 / 03:46

2 respostas

1

Para contenções de CPU, você pode medir o CPU Steal Time . Do artigo vinculado:

Steal time is the percentage of time a virtual CPU waits for a real CPU while the hypervisor is servicing another virtual processor.

    
por 21.12.2013 / 18:35
0

O VMWare tem um bom documento sobre como determinar a contenção de recursos - link

Supondo que você esteja usando 5.1 -

  1. CPU
    Verifique o esxtop na linha de comando
    Carga Média de 1 significa que as CPUs são totalmente utilizadas.
    % Pronto deve estar abaixo de 5%

  2. Memória
    Verifique o esxtop na linha de comando
    Verifique o valor de supercomprometimento do MEM | Menos 1 do valor de supercomprometimento do MEM, se o campo terminar com 0, você estará bem. Caso contrário, se estiver acima de 0, você estará supercomprometendo a RAM

  3. Disco
    Verifique o esxtop na linha de comando
    Veja se o tempo de latência do DAVG é superior a 5 segundos

por 12.12.2013 / 04:28