在与在 Win7 下运行相同应用程序的同事比较并均衡与运行缓慢的 Java 应用程序有关的所有其他问题后,我已将 Win7 VirtualBox 主机上的 Ubuntu 客户机中的性能问题缩小到网络。
我在新项目分配到的 Win7 机器上的 VirtualBox 中安装了 Ubuntu 12.04。我运行 Java、Eclipse、Tomcat 来开发一个大型数据密集型应用程序,而这个应用程序的运行速度实际上只有我同事的相同机器的一半。
是否有可以进行 ping 测试或其他网络诊断测试来标记任何问题?我会接受任何能让我继续前进的答案 - 我不指望任何人能为这个问题想出一个令人眼花缭乱的解决方案。
首先介绍一下背景,网络性能令人困惑。
使用 iperf 对我同事的机器进行网络速度测试,结果显示我的 Ubuntu 客户机的速度为 6 Mb/s,而 win7 主机的速度为 90 Mb/s。
大型下载(例如 Java SDK)在客户机和主机上的速度都约为 1.2 MB/s。
主机上的 Ping 时间低于 1 毫秒,但客户机上的 Ping 时间达到 1.5 毫秒。
我也做了宽带速度测试,两者的下载速度都是 10Mb/s,但主机的上传速度为 10Mb/s,而客户机的上传速度仅为 3Mb/s。
我一直在尝试使用 ping -M 来诊断任何 MTU 问题,以识别任何类型的数据包碎片问题,但进展非常缓慢,因为我在这方面没有太多经验。
从我读到的其他人关于 Win7 主机上的 VB 和 Linux 客户机的网络问题来看,我应该能够使客户机的速度达到与主机相同的水平。
我再次安装了带有 Ubuntu 的新 VM,以查看是否以某种方式对其进行了 foobar 处理,但在首次安装时使用 iperf 获得了相同的读数。
我的设置是:
适配器 1:Intel PRO/1000 MT 台式机 (NAT)
适配器 2:ditto(仅主机适配器)
eth0 Link encap:Ethernet HWaddr 08:00:27:0b:76:bf
inet addr:10.0.2.15 Bcast:10.0.2.255 Mask:255.255.255.0
inet6 addr: fe80::a00:27ff:fe0b:76bf/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:86236 errors:0 dropped:0 overruns:0 frame:0
TX packets:49369 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:69163946 (69.1 MB) TX bytes:3530535 (3.5 MB)
eth2 Link encap:Ethernet HWaddr 08:00:27:a3:26:b8
inet addr:192.168.56.101 Bcast:192.168.56.255 Mask:255.255.255.0
inet6 addr: fe80::a00:27ff:fea3:26b8/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:59 errors:0 dropped:0 overruns:0 frame:0
TX packets:57 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:9148 (9.1 KB) TX bytes:7648 (7.6 KB)
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:16436 Metric:1
RX packets:701 errors:0 dropped:0 overruns:0 frame:0
TX packets:701 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:66321 (66.3 KB) TX bytes:66321 (66.3 KB)