I have a VirtualBox image based on Ubuntu 12.04 which is started with the following 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
Access to the guest web server on port 8000 (the forwarded port) can be very slow (~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
However, this download speed improves drastically as soon as I disable wifi access on my host machine:
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
Here is my host network configuration (when wifi is turned on):
$ 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)
What am I doing wrong?
This was actually a duplicate of Django 1.4.18 dev server slow to respond under VirtualBox
tl;dr: it was a Django 1.4.18 issue and adding the gateway IP to /etc/hosts
in my virtual machine solved my problem.