当主机连接到WiFi时,访问Vagrant虚拟机的网络速度缓慢。

3

我有一个基于Ubuntu 12.04的VirtualBox镜像,使用以下Vagrantfile启动:

Vagrant.configure("2") do |config|
  config.vm.box     = "mybox"
  config.vm.box_url = "mybox.box"
  config.vm.network :forwarded_port, guest: 8000, host: 8000
  config.vm.network :private_network, type: "dhcp"
  config.vm.provider :virtualbox do |vb|
    vb.customize ["modifyvm", :id, "--memory", "2048"]
    vb.customize ["modifyvm", :id, "--cpus", "2"]
    vb.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]
    vb.customize ["modifyvm", :id, "--natdnsproxy1", "on"]
  end
end

访问端口8000上的客户机Web服务器(被转发的端口)可能非常缓慢(约45 kb/s):

curl http://172.28.128.3:8000/file.css > /dev/null
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  454k  100  454k    0     0  46316      0  0:00:10  0:00:10 --:--:--  118k

然而,一旦我在主机上禁用WiFi访问,下载速度就会显著提高:
curl http://172.28.128.3:800/file.css > /dev/null
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  454k  100  454k    0     0  23.5M      0 --:--:-- --:--:-- --:--:-- 24.6M

当wifi打开时,这是我的主机网络配置:

$ ifconfig 
docker0   Link encap:Ethernet  HWaddr 56:84:7a:fe:97:99  
          inet addr:172.17.42.1  Bcast:0.0.0.0  Mask:255.255.0.0
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

eth0      Link encap:Ethernet  HWaddr 28:80:23:0a:3b:f7  
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
          Interrupt:20 Memory:d0700000-d0720000 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:121430 errors:0 dropped:0 overruns:0 frame:0
          TX packets:121430 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:71329608 (71.3 MB)  TX bytes:71329608 (71.3 MB)

vboxnet10 Link encap:Ethernet  HWaddr 0a:00:27:00:00:0a  
          inet addr:172.28.128.1  Bcast:172.28.128.255  Mask:255.255.255.0
          inet6 addr: fe80::800:27ff:fe00:a/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:616 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:169030 (169.0 KB)

wlan0     Link encap:Ethernet  HWaddr e8:2a:ea:97:84:ed  
          inet addr:192.168.0.102  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::ea2a:eaff:fe97:84ed/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1429759 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1428388 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:507751022 (507.7 MB)  TX bytes:878353259 (878.3 MB)

我做错了什么?


你解决了吗? - wiesson
2
是的,请参见http://stackoverflow.com/questions/28562968/django-1-4-18-dev-server-slow-to-respond-under-virtualbox。 - Régis B.
2个回答

1

0

我尝试了所有的建议,包括在/etc/hosts中共享nfs、virtio、dnsproxy和网关IP,但都没有起作用。这让我感到困惑,因为我使用vagrant和virtualbox多年来一直在php+mysql+apache/nginx环境下工作。后来我怀疑是杀毒软件干扰了我的网站,于是我禁用了Avast的互联网模块,我的正在开发中的网站立即开始响应。这是一个小技巧,希望能帮助其他人。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接