我一直在用 iperf 进行一些测试,以测量 2 台服务器(通过交叉电缆背对背连接)之间的网络吞吐量,我只看到 180 到 200 Mbps。我尝试了不同的电缆,它们都是 CAT6。您可能知道,iperf 会动态生成数据包,因此这里不涉及磁盘 I/O...
两台服务器运行的是普通的 Windows 2003,并安装了正确的最新 NIC 网络驱动程序。我知道这涉及一些协议开销,但我预计这不会占用超过 20% 的带宽。
实现 80% 的利用率现实吗?也就是说,在 1Gb 链路上实现 800Mbps 左右的速度?你在 Windows 上真的见过这种情况吗?
谢谢,JFA
答案1
我曾见过在重负载下,iSCSI HBA 上的大型 Oracle DB 能够持续以 950Mbps 的速度运行,但对于常规 NIC 上的正常 I/O,速度很少超过 500/600 Mbps。不过,在我的网络上,300 Mbps 是一天中更正常的最高速度。YMMV。
答案2
开启巨型帧。
答案3
它没有回答你的问题,但是这是来自 tomshardware.com 的一篇很棒的文章,其中详细介绍了使用 GigE 进入 80% 以上的利用率区域有多么困难。
答案4
尝试使用以下方法检查是否收到任何以太网错误网络状态在运行测试时:
netstat -e
您将获得如下输出:
Interface Statistics
Received Sent
Bytes 1297481476 1525340409
Unicast packets 615329630 429473493
Non-unicast packets 809612 72735
Discards 0 0
Errors 0 0
Unknown protocols 44579
如果你收到很多错误,您应该尝试追踪它们。
这里可能禁止这样做,但请尝试将两张卡都设置为全双工看看速度是否提高了,或者错误是否减少了。
您也可以尝试网络状态-e -S在运行测试时获取每个协议的统计数据(和错误)。可能是您的测试实用程序正在生成被 Windows 视为有问题的数据包。