我通过 Vagrant/Virtualbox 使用 Ubuntu 12.04 VM (hashicorp/precise32)。与我的主机系统相比,它的下载速度似乎非常慢。这是我使用 speedtest-cli 在主机系统 (OSX) 上得到的结果:
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。
有任何想法吗?
答案1
对于 vagrant 用户,请将以下内容添加到您的 Vagrant 文件中:
config.vm.provider "virtualbox" do |v|
v.customize ["modifyvm", :id, "--nictype1", "virtio"]
end
我的速度提升了约 15 倍。在 VirtualBox GUI 上,我现在可以看到我的 NAT 接口的不同适配器类型:Paravirtualized Network (virtio-net)
。
答案2
我已经找到了更简单的解决方案
- 主机 ubuntu 14.04
- 访客 Ubuntu 14.04
- 带端口转发的 Nat
- 客人的上传速度极慢。速度太慢了,甚至连速度测试都无法测量。
我刚刚换成了 PCNet-Fast III 适配器。速度对我来说已经够好了 (40 Mb/s)
答案3
@auramo 的答案很有用,但请注意,它指定了特定的 NIC:#1。例如,在我的系统中,我有许多网络接口。我必须指定--nictype4
。
此外,其他人也报告了在其他地方指定标识 NIC 的数字的好处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