36

Я использую виртуальную машину Ubuntu 12.04 (hashicorp/ sharp32) через Vagrant/ Virtualbox. Кажется, скорость загрузки очень низкая по сравнению с моей хост-системой. Вот что я получаю с хост-системой (OSX) с помощью speedtest-cli:

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

И вот что я получаю в гостевой ОС (Ubuntu 12.04):

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

Так что скорость загрузки хоста в 70 раз выше! Обычный ответ на эти проблемы таков:

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

Но я уже настроил его для моего Vagrantfile.

Я также проверил это с обычным Virtualbox и 12.04 (без Vagrant). Та же проблема возникает при использовании интерфейса NAT. Тем не менее, переход в мостовой режим делает скорость загрузки в 20 раз быстрее. Это неприятно, поскольку Vagrant полагается, что интерфейс NAT всегда будет eth0.

Я использую OSX Mavericks в качестве хост-системы. Версия Virtualbox - 4.3.18.

Есть идеи?

3 ответа3

29

Для бродячих пользователей добавьте в свой файл Vagrant следующее:

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

Я получил повышение скорости ~ 15x. В графическом интерфейсе VirtualBox теперь я вижу другой тип адаптера для моего интерфейса NAT: паравиртуализированная сеть (virtio-net).

16

Я нашел для меня более простое решение

  • Host Ubuntu 14.04
  • гость убунту 14.04
  • Нат с переадресацией портов
  • чрезвычайно медленная скорость загрузки от гостя. Это было так медленно, что тест скорости даже не может измерить это.

Я только что перешел на адаптер PCNet-Fast III. И скорость стала для меня достаточно хорошей (40 Мб / с)

0

Ответ @ auramo полезен, но учтите, что в нем указан конкретный сетевой адаптер: # 1. Например, в моей системе у меня есть множество сетевых интерфейсов. Я должен был указать --nictype4 .

Кроме того, другие пользователи сообщали о преимуществах указания natdnshostresolver# и natdnsproxy# где # - это номер, идентифицирующий ваш сетевой адаптер . По моему это выглядит так:

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .