如何提高具有virtio驱动程序的Win 2008 KMV guest之间的networking性能?

我有两台Ubuntu 10.04服务器的物理服务器。 它们通过一个千兆交换机连接1Gbps卡。 每个主机服务器都有一个Win 2008 guest虚拟机。 这两个虚拟机都configuration良好(4核,12GB RAM),RAW磁盘。

与非常相似的物理设置相比,我的asp.net / sql服务器应用程序的运行速度要慢很多。

两台机器都设置为使用virtio进行磁盘和networking。 我用iperf来检查networking性能,我得到:物理主机1 —–>物理主机2:957 Mbits / sec物理主机1 —–> Win 08客户机1:557 Mbits / sec Win 08 Guest 1 —–> Phy host 1:182 Mbits / sec Win 08 Guest 1 —–> Win 08 Guest 2:111 Mbits / sec

我的应用程序运行在Win08 Guest 1和Guest 2(web和db)上。 两位客人之间的networking吞吐量(接近90%)大幅下降。 此外吞吐量在主机和客户之间似乎也不是对称的。

客人和主机上的CPU利用率现在不到2%(我们现在只是在testing)。

除此之外,networking中出现的随机缓慢降低到1 Mbits / sec,使整个应用程序无法使用。

任何帮助麻烦拍摄这将不胜感激。

  1. 什么主机操作系统使用?
  2. 对于每个ethtool -k $NIC ,使用ethtool -K $ NIC禁用卸载可能是一个好主意。 ethtool -K $ NIC gso off'
  3. 桥接或NATnetworking?
  4. virtio驱动程序从哪里来? 他们签了吗?
  5. IPv4还是6?
  6. 在客人中启用了ToE吗?