Virtualboxは「ホストOS」から「ゲストOS」にアクセス仕組みとして「NAT+ポートフォワード」機能が標準装備されています。この標準ポートフォワード機能設定時、ゲストOSへのApache接続が異様に遅い場合の対処方法です。(2014/02/01作成)
vanes7 / Pixabay
0.環境
ホストOS:Windows 7 Home Edition SP1 + VirtualBox 4.3.6
ゲストOS:Ubuntu 12.04
$ cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=12.04 DISTRIB_CODENAME=precise DISTRIB_DESCRIPTION="Ubuntu 12.04.4 LTS"
1.トライした内容一覧
1)ゲストOS「resolv.conf」見直し
$ sudo vi /etc/resolvconf/resolv.conf.d/base options single-request-reopen $ sudo /etc/init.d/networking restart
ゲストOS側のFQDN名前解決改善を試みましたが、本件速度改善にはつながりませんでした。
2)ゲストOS「ethtool」見直し
$ sudo apt-get install ethtool $ sudo vi /etc/network/interfaces auto lo iface lo inet loopback post-up ethtool -K eth0 sg off rx off tx off tso off $ sudo /etc/init.d/networking restart
ゲストOS側に「帯域制限」がかかっているのではいかと思い改善を試みましたが、本件速度改善にはつながりませんでした。
3)ホストOS「VBoxManage」VirtualBoxネットワーク見直し
C:>cd "C:\Program Files\Oracle\VirtualBox" C:\Program Files\Oracle\VirtualBox>VBoxManage.exe modifyvm ゲストOSの名前 --natsettings1 1500,1024,1024,1024,1024
ホストOSで「Virtualbox」のネットワーク改善を試みましたが、本件速度改善にはつながりませんでした。
4)ホストOSから「Cygwin」ssh ポートフォワードによるhttp通信トンネル
$ ssh -L80:localhost:80 localhost
Virtualboxのポートフォワード設定は「ssh」のみとして、httpやその他の通信は、sshでトンネル通信させる方法です。
※当該の環境では、この(4)の方法で速度改善されました。
以上