Desempenho de I / O deficiente do convidado KVM Ubuntu 12.04

2

Eu tenho uma VM guest rodando dentro de um host Ubuntu 12.04. A VM foi criada usando o script python do vmbuilder.

No host, o phoronix-test-suite "aio-stress" fornece uma velocidade de desempenho de > 1600MB / s Random Write throughput.

A VM (também executando 12.04) fornece uma taxa de transferência de gravação aleatória de cerca de 3MB / s . Muito, muito mais pobre. link

Alterei o tipo de imagem de arquivo padrão de qcow2 para raw no host para melhorar o rendimento do disco e assegurei que o modelo do vmbuilder fosse editado para usar "virtio" como dev de destino.

Isso resultou em uma melhoria de velocidade para 7,5MB / s - ainda muito abaixo do que eu esperaria.

A mesma máquina executando 10.04 (com 10.04 VMs) no ano passado estava alcançando uma taxa de transferência de 700MB / s : link

Alguém pode me indicar qual pode ser o problema?

    
por James Smith 17.01.2013 / 17:06

1 resposta

5

Seguindo as recomendações da IBM , você deve :

  1. Desative o armazenamento em cache nos seus discos. Se você usar o libvirt, basta colocar cache='none' em sua seção de drivers para o disco.

  2. Use o noop como elevador em sua VM para permitir que o hypervisor o manipule. Use isso como CL do kernel em sua VM: elevator=noop

  3. No hipervisor, use o prazo final do elevador: elevator=deadline

  4. No hypervisor, desative a troca. Coloque vm.swappiness = 0 no seu arquivo /etc/sysctl.conf . Em seguida, use sysctl -p .

Tudo isso deve melhorar muito seu desempenho. Então, dada sua configuração (hardware), dicas mais específicas podem ser usadas. Eu recomendo que você leia atentamente os documentos da IBM.

    
por 17.01.2013 / 17:15