Como corrigir a velocidade de download da rede Virtualbox extremamente lenta?


37

Estou usando uma Ubuntu 12.04 VM (hashicorp / precision32) via Vagrant / Virtualbox. Parece ter uma velocidade de download extremamente lenta em comparação com o meu sistema host. Isto é o que recebo com o sistema host (OSX) com o speedtest-cli:

Testing download speed........................................
Download: 845.62 Mbits/s
Testing upload speed..................................................
Upload: 296.03 Mbits/s

E é isso que recebo no sistema operacional convidado (Ubuntu 12.04):

Testing download speed........................................
Download: 12.41 Mbits/s
Testing upload speed..................................................
Upload: 247.64 Mbits/s

Portanto, a velocidade de download do host é 70 vezes mais rápida! A resposta usual para esses problemas é a seguinte:

config.vm.provider "virtualbox" do |v|
  v.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]
  v.customize ["modifyvm", :id, "--natdnsproxy1", "on"]
end

Mas eu já o configurei no meu Vagrantfile.

Eu também testei isso com o Virtualbox simples e o 12.04 (sem Vagrant). O mesmo problema ocorre quando eu uso a interface NAT. No entanto, alternar para o modo de ponte torna a velocidade do download 20x mais rápida. Isso é desagradável, pois o Vagrant depende da interface NAT para ser sempre eth0.

Eu uso o OSX Mavericks como o sistema host. A versão do Virtualbox é 4.3.18.

Alguma ideia?

Respostas:


30

Para usuários vagrantes, adicione o seguinte ao seu arquivo Vagrant:

config.vm.provider "virtualbox" do |v|
  v.customize ["modifyvm", :id, "--nictype1", "virtio"]
end

Eu tenho um aumento de velocidade de ~ 15x. Na GUI do VirtualBox, vejo agora um Tipo de Adaptador diferente para minha interface NAT: Rede Paravirtualizada (virtio-net).


11
Eu tive o mesmo problema: a velocidade de upload de uma imagem do Boot2Docker em execução no Vagrant, medida usando o speedtest-cli, era 0 (tão lenta que você não pode medir?). Assim que adicionei essa configuração, a velocidade de upload correspondeu à velocidade do meu sistema operacional host. Obrigado!
— Yevgeniy Brikman

Alguém sabe quais são todos os outros valores possíveis? Algum link para os documentos?
— nha

nenhuma melhoria para mim, eu tenho medo. Vagrant 1.7.4, Virtualbox 5.0.4
— lsh

Todas as opções possíveis estão aqui: virtualbox.org/manual/ch08.html#idp46730496367936 Experimente Am79C973também se tiver problemas com virtio.
— Juliusz Gonera 07/02

2
VBoxManage modifyvm YourMachineName --nictype1 virtio
— Brian Low

17

Eu encontrei mach solução mais simples para mim

  • Host ubuntu 14.04
  • guest ubuntu 14.04
  • Nat com encaminhamento de porta
  • velocidade de upload extremamente lenta do convidado. Foi tão lento que o teste de velocidade não pode medir isso.

Acabei de mudar para o adaptador PCNet-Fast III. E a velocidade se torna boa o suficiente para mim (40 Mb / s)


11
Trabalhou para mim com o Host Ubuntu 14.04 e Guest Ubuntu 12.04.
— Ross

11
Para alternar para o PCNet Fast III no Vagrantfile, use v.customize ["modifyvm", :id, "--nictype1", "Am79C973"].
— Juliusz Gonera

Isso funciona muito bem! Eu estava tendo problemas para apt-getdesligar enquanto tentava fazer o download. Eventualmente, ele funcionaria, mas alterar o adaptador de rede conforme descrito acima resolve o problema.
— Brendon Muir

Trabalhou com o host Win10 executando o Ubuntu 16.10.
— robsn

0

A resposta do @ auramo é útil, mas observe que ele especifica uma NIC específica: # 1. No meu sistema, por exemplo, tenho inúmeras interfaces de rede. Eu tive que especificar --nictype4.

Além disso, outros relataram benefícios em outras partes da especificação natdnshostresolver#e natdnsproxy#onde #está um número que identifica sua placa de rede. Na minha, fica assim:

config.vm.provider "virtualbox" do |v|
  v.customize ["modifyvm", :id, "--nictype4", "virtio"]
  v.customize ["modifyvm", :id, "--natdnshostresolver4", "on"]
  v.customize ["modifyvm", :id, "--natdnsproxy4", "on"]
end
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.