VagrantでVMの管理にVirtualBoxを使用している場合、Vagrantfileの設定を変更することで、ネットワークを速くすることができます。
方法は、Vagrantfileファイルを編集し、ネットワークのドライバをvirtioというものに変更したうえで、vagrant upするだけです。
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
...
config.vm.provider "virtualbox" do |vb|
vb.customize ["modifyvm", :id, "--nictype1", "virtio"]
vb.customize ["modifyvm", :id, "--nictype2", "virtio"]
end
end
これは、VirtualBoxがデフォルトで使用している仮想ネットワークのインターフェースが、"AMD PCNet FAST III (Am79C973)"を利用しており、これが遅いのが原因です。遅いものがデフォルトなのは、古いOSを幅広くサポートするためなので、より速いものにして動作するのなら変えてしまってよいです。
また、"virtio”の他には、以下の値が指定可能です。
AMD PCNet PCI II (Am79C970A);
Intel PRO/1000 MT Desktop (82540EM);
Intel PRO/1000 T Server (82543GC);
Intel PRO/1000 MT Server (82545EM);
virtioを使用するためには、準仮想化のネットワークアダプタがサポートされている必要がありますが、WindowsだとWin2000以降のOSにN/Wドライバをインストールするか、Linuxカーネルだと2.6.25以降でサポートしているので、最近のOSなら大丈夫です。
ネットワークのインターフェース変更の他に、DNS周りで遅い場合は、下記の設定も併せて行うと速度改善するかもしれません
config.vm.provider "virtualbox" do |vb|
vb.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]
vb.customize ["modifyvm", :id, "--natdnsproxy1", "on"]
end
]
こちらもおススメ
config.vm.provider "virtualbox" do |v|
→config.vm.provider "virtualbox" do |vb|