网络速度故障排除 - 古老的调查

Uni*_*426 18 networking windows wide-area-network tcp network-speed

我正在寻求帮助,我确信这是一个古老的问题。我发现自己处于一种渴望更清楚地了解网络吞吐量的情况,但我似乎无法找到使其“点击”的信息

我们有一些分布在不同地理位置的服务器,运行着各种版本的 Windows。假设我们始终使用一台主机(台式机)作为源,那么在将数据从该主机复制到全国其他服务器时,我们会发现速度差异很大。在某些情况下,我们可以始终如一地以 12MB/s 的速度复制数据,而在其他情况下,我们看到的是 0.8 MB/s。应该注意的是,在测试了 8 个目的地之后,我们似乎总是在 0.6-0.8MB/s 或 11-12 MB/s。在我们主要关心的建筑物中,我们有一个到 ISP 的 OC-3 连接。

我知道有很多变数在起作用,但我想我希望这里的专家可以帮助回答一些基本问题,以帮助加强我的理解。

1.) 对于运行 Windows XP、服务器 2003 等的旧机器,具有 100Mbps 以太网卡和 72 毫秒典型延迟,0.8 MB/s 听起来是否合理?或者您认为这足够慢以表明存在问题?

2.) 在我们的例子中,“吞吐量 = TCP 窗口/延迟”的经典“数学最快速度”计算为 0.8 MB/s (64Kb / 72 ms)。我的理解是这是一个上限;您永远不会期望达到(由于开销),更不用说超过那个速度了。但在某些情况下,我们看到的速度为 12.3 MB/s。网络上散布着 Steelhead 加速器,这些加速器可以解释如此高的传输速率吗?

3.) 有人建议使用 SMB 与 SMB2 可以解释速度的差异。事实上,正如我们预期的那样,数据包捕获显示两者都根据正在使用的操作系统版本而被使用。我了解决定是否使用 SMB2 的因素,但我很想知道使用 SMB2 可以获得什么样的性能提升。

我的问题似乎只是缺乏经验,更重要的是,关于什么是合理的网络速度和什么是不合理的观点。任何人都可以帮助传授背景/观点吗?

Uni*_*426 2

许多评论和用户在这里提供了很好的建议。其中一些非常接近我想要的内容,但我也很幸运地遇到了我们公司的一位网络资深人士,他帮助澄清了事情。我想我应该在这里发布我的发现/理解,以造福他人。如果以下内容有任何不对之处,请随时纠正我:

1.) 具有 72ms 延迟和 64K 窗口的单个 TCP 会话的最大吞吐量约为 0.8 MB/s,使得该速度对于单线程、单会话复制来说是合理的,就像我们使用 robocopy 执行的复制一样。

2.) 这种速度差异似乎归因于传输方法的有效性。在我们的例子中,我们使用 Robocopy 和 Repliweb。我发现 robocopy 使用单个 TCP 会话,而 Repliweb 可以打开多个会话来发送数据。

3.) Microsoft 网站的研究确实表明 SMB2 比 SMB1 具有相当大的性能提升。然而,在某些情况下,操作系统如何协商使用哪个协议存在问题,因此应该了解以下两点:a.) 可以使用SMB2 的情况,以及 b.) SMB2 是否实际上正在基于以下情况使用:关于网络捕获。

目前,Wire-shark 似乎可以确定 SMB2 协议的使用。

我希望这有帮助。再说一次,我的理解还相当初级,请随意扩展。