![如何提高两个已经具有 virtio 驱动程序的 Win 2008 KMV 客户机之间的网络性能?](https://linux22.com/image/549939/%E5%A6%82%E4%BD%95%E6%8F%90%E9%AB%98%E4%B8%A4%E4%B8%AA%E5%B7%B2%E7%BB%8F%E5%85%B7%E6%9C%89%20virtio%20%E9%A9%B1%E5%8A%A8%E7%A8%8B%E5%BA%8F%E7%9A%84%20Win%202008%20KMV%20%E5%AE%A2%E6%88%B7%E6%9C%BA%E4%B9%8B%E9%97%B4%E7%9A%84%E7%BD%91%E7%BB%9C%E6%80%A7%E8%83%BD%EF%BC%9F.png)
我有两台物理服务器,上面装有 Ubuntu 10.04 服务器。它们通过千兆交换机与 1Gbps 卡连接。每台主机服务器都有一个 Win 2008 客户虚拟机。两台虚拟机都配置良好(4 核、12GB RAM),RAW 磁盘。
与非常相似的物理设置相比,我的 asp.net/sql 服务器应用程序运行速度要慢得多。
两台机器都设置为使用 virtio 来处理磁盘和网络。我使用 iperf 检查网络性能,结果如下:物理主机 1 -----> 物理主机 2:957 Mbits/sec 物理主机 1 -----> Win 08 Guest 1:557 Mbits/sec Win 08 Guest 1 -----> 物理主机 1:182 Mbits/sec Win 08 Guest 1 -----> Win 08 Guest 2:111 Mbits /sec
我的应用程序在 Win08 Guest 1 和 Guest 2(web 和 db)上运行。两个客户机之间的网络吞吐量大幅下降(几乎 90%)。此外,主机和客户机之间的吞吐量似乎也不对称。
目前客户机和主机的 CPU 利用率不到 2%(我们现在只是在测试)。
除此之外,网络还会出现随机减速至 1 Mbits/sec 的现象,导致整个应用程序无法使用。
任何能够解决此问题的帮助都将不胜感激。
答案1
- 使用什么主机操作系统?
- 对于每一个 NIC
ethtool -k $NIC
,最好使用“ethtool -K $NIC tso off; ethtool -K $NIC gso off”禁用卸载 - 桥接还是 NAT 网络?
- virtio 驱动程序来自哪里?它们有签名吗?
- IPv4 还是 6?
- 客人是否启用了 ToE?