Come risolvere la velocità di download della rete Virtualbox estremamente lenta?


37

Sto usando una VM Ubuntu 12.04 (hashicorp / precise32) tramite Vagrant / Virtualbox. Sembra avere una velocità di download estremamente lenta rispetto al mio sistema host. Questo è ciò che ottengo con il sistema host (OSX) con speedtest-cli:

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

E questo è ciò che ottengo nel SO guest (Ubuntu 12.04):

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

Quindi la velocità di download dell'host è 70 volte più veloce! La solita risposta a questi problemi è questa:

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

Ma l'ho già configurato sul mio Vagrantfile.

Ho anche provato questo con Virtualbox e 12.04 (senza Vagrant). Lo stesso problema si verifica quando utilizzo l'interfaccia NAT. Tuttavia, il passaggio alla modalità a ponte rende la velocità di download 20 volte più veloce. Questo è brutto, dal momento che Vagrant si affida all'interfaccia NAT per essere sempre eth0.

Uso OSX Mavericks come sistema host. La versione di Virtualbox è 4.3.18.

Qualche idea?

Risposte:


30

Per gli utenti di Vagrant, aggiungi quanto segue al tuo file Vagrant:

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

Ho avuto un aumento di velocità di ~ 15x. Sulla GUI di VirtualBox vedo ora un diverso tipo di adattatore per la mia interfaccia NAT: Paravirtualized Network (virtio-net).


1
Ho avuto lo stesso problema: la velocità di upload su un'immagine Boot2Docker in esecuzione su Vagrant, misurata con speedtest-cli, era 0 (così lenta da non poterla misurare?). Non appena ho aggiunto questa impostazione, la velocità di caricamento ha raggiunto la velocità del mio sistema operativo host. Grazie!
Yevgeniy Brikman,

Qualcuno sa quali sono tutti gli altri possibili valori? Qualche link ai documenti?
nha

nessun miglioramento per me temo. Vagrant 1.7.4, Virtualbox 5.0.4
lsh

Tutte le opzioni possibili sono qui: virtualbox.org/manual/ch08.html#idp46730496367936 Prova Am79C973anche se hai problemi con virtio.
Juliusz Gonera,

2
VBoxManage editvm YourMachineName --nictype1 virtio
Brian Low

17

Ho trovato una soluzione più semplice per me

  • Host ubuntu 14.04
  • guest ubuntu 14.04
  • Nat con port forwarding
  • velocità di upload estremamente bassa dal guest. Era così lento che il test di velocità non riusciva nemmeno a misurarlo.

Sono appena passato all'adattatore PCNet-Fast III. E la velocità diventa abbastanza buona per me (40 Mb / s)


1
Ha funzionato per me con Host Ubuntu 14.04 e Guest Ubuntu 12.04.
ross,

1
Per passare a PCNet Fast III in Vagrantfile, utilizzare v.customize ["modifyvm", :id, "--nictype1", "Am79C973"].
Juliusz Gonera,

Funziona benissimo! Ho avuto problemi con l' apt-getattaccatura durante il tentativo di download. Alla fine funzionerebbe, ma cambiando la scheda di rete come sopra risolve il problema.
Brendon Muir,

Ha funzionato con l'host Win10 con Ubuntu 16.10.
robsn,

0

La risposta di @auramo è utile, ma tieni presente che specifica una scheda di rete specifica: # 1. Nel mio sistema, ad esempio, ho numerose interfacce di rete. Ho dovuto specificare --nictype4.

Inoltre, altri hanno segnalato benefici altrove nella specifica natdnshostresolver#e natdnsproxy#dove si #trova un numero che identifica la scheda NIC. Nel mio, sembra così:

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
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.