缓慢的CIFS文件通过不同带宽的路由networking进行复制

联网上的站点之间有很长的100 Mbit / s的连接
Ping过VPN:
回复:bytes = 32 time = 38ms TTL = 60
回复:bytes = 32 time = 38ms TTL = 60

如果服务器(w2k8)和客户端(W7)都具有1Gb全双工LAN连接,站点间文件复制速度接近1mb /秒

如果我们将一个或另一个主机的NIC模式更改为100Mb全双工,则文件复制的速度增长到5mb / sec

问题是与不同的驱动程序,硬件,操作系统版本,tcp / NIC /以太网设置(stream量控制,卸载,烟囱,ECN,MTU,RSS,tcp windowsize autotuning)

当然,我们不能接受放慢单边链接的解决方法
我们可以同时快速进行站点间文件复制和快速LAN连接吗?

巨型是两端禁用

ping -f -l 1200服务器
来自192.168.1.2的回复:字节= 1200时间= 39ms TTL = 123
数据包:发送= 4,收到= 4,丢失= 0(0%丢失),
大约以毫秒为单位的往返时间:
最小= 38ms,最大= 39ms,平均= 38ms

ping -f -l 8000服务器
数据包需要被分割,但是DF被设置。
数据包:发送= 4,收到= 0,丢失= 4(100%丢失),

ping -l 8000服务器
来自192.168.1.2的回复:bytes = 8000 time = 42ms TTL = 124
数据包:发送= 4,收到= 4,丢失= 0(0%丢失),
大约以毫秒为单位的往返时间:
最小= 42ms,最大= 42ms,平均= 42ms

据我所知,你怀疑这个问题在某种程度上是由LAN主机的网卡和站点间链路之间的速度不平衡造成的。 你也提到了许多你尝试过的不同的select,这没有任何帮助。 因为你没有提到Jumbo Frames,所以我build议你尝试在主机的NIC驱动程序属性(或者至less在服务器上)禁用它们 – 它们可能会在你的路由器上导致碎片(也可能丢失碎片)这就是为什么我还build议你包括更多关于拓扑的细节),请做一些更多的testing,包括用-l (size)和-f (不要碎片)选项以不同的组合进行ping操作,例如: ping -f -l 1200 192.168.1.2ping -f -l 8000 192.168.1.2 (这个可能不起作用)ping -l 8000 192.168.1.2等等来确定path的MTU并收集更多的统计信息。

更新1:

好的,如果closures巨型帧没有帮助,你可以取消选中在TCP / IP属性中禁用TCP / IP上的NetBIOScheckbox(在所有参与主机上执行;现代Windows版本不应该使用这个设置,所以这样做不疼)。 如果这也无济于事,请尝试另一种在站点间传输文件的方式,例如,在服务器上部署(暂时)IIS,并尝试通过HTTP和/或FTP上载/下载大文件。 如果这能起作用,那么问题不在于TCP / IP协议栈,而是与CIFS协议/实现本身有关。

CIFS性能非常依赖于链路延迟,尤其是在连接到/来自域控制器(这源于CIFS / SMB如何传输,因为它经常使用小数据包,特别是域控制器)。

我最好的猜测是你的网关路由器没有(或不好的)QoSconfiguration,所以1Gb本地链路可以使其发送/接收队列饱和,干扰正常的业务stream,并导致CIFS / SMB等待时间的激增,数据传输速度慢。

尝试在两个网关上configurationQoS,分配45 Mb / s左右的CIFS / SMBstream量。 如果有效,则根据需要增加带宽上限,testing每个新的步骤。