网络速度故障排除—古老的咨询


18

我正在寻找有关我确定是一个古老问题的帮助。我处于一种渴望更加清晰地了解网络吞吐量的情况,但是我似乎找不到能够使其“点击”的信息

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

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

1.)对于运行Windows XP,Server 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可以带来什么样的性能提升。

我的问题似乎只是缺乏经验,更重要的是,在什么是和不是什么合理的网络速度方面都缺乏洞察力。任何人都可以帮助传授上下文/观点吗?


速度的差异不仅仅是SMB与SMB2。请记住,在远景中,网络堆栈不再是基于* nix的附加组件,而是集成到OS中,从而大大降低了延迟和开销。
Jim B

谢谢吉姆,很高兴知道。是的,我知道上游和下游都有十亿个变量,具体取决于您在OSI堆栈中的位置。一位同事提出,速度差异可能只是“ SMB vs. SMB2”问题。我想我对SMB2(.1)会给我们10倍的速度提高表示怀疑,但我还是不精通Aracne艺术;)
Univ426 2012年

好问题!有任何更新吗?而FWIW,即共享,但不是Windows XP盒子传输文件“登录”更快比一个与用户登录。
克里斯ķ

Answers:


4

您所指的数学公式实际上是确定最有效的TCP传输窗口大小设置的方法,而不是实际可用带宽。TCP使用称为滑动窗口的机制,该机制允许根据网络条件调整传输速度。这个想法是,TCP发送器将发送越来越多的数据,而无需接收器的确认。如果存在数据丢失,则确认之间发送的数据量会减少,因此也会减少有效带宽。

该公式实际上基于给定主机对之间的等待时间和往返等待时间来确定该TCP传输窗口的理想大小。想法是使窗口大小确定为使“传输中”的数据量对应于所谓的带宽延迟乘积。例如,如果您有每秒50兆位(6.25 megaBYTES)和平均100ms的往返延迟,那么您将拥有6.25 * 0.1 = 625 KB的数据。这将是TCP协商的值(如果配置正确)。由于链接的延迟和带宽特征会有所不同,因此窗口大小也会随之变化。

您需要的是同时在源和目标上运行的带宽管理工具,如iperf(免费)。这应该使您了解可能的实际吞吐量量(与其他应用程序无关),同时还可以了解延迟。在主机之间运行扩展的ping也将提供延迟特性的一般概念。有了这些数据,就可以更好地了解吞吐量。

顺便说一句-使用任何种类的LAN优化器通常会合并数据压缩,TCP优化,缓存等。尽管方便,但它会掩盖基础链接的性质。了解原始带宽/延迟(可能会造成数据包丢失)后,您可以仔细查看以确保将各种主机设置为充分利用可用带宽。


感谢您提供有关rnxrx的详细信息。TCP中使用的滑动窗口很有意义。在我们的案例中,由于我们关心的唯一流量是通过TCP,所以我想我的问题主要是针对TCP。我们使用了其他数据传输方法(例如repliweb),并且实现了更高的吞吐量(最高11 MB / s)。虽然我不知道带宽延迟产品,但是很高兴知道!
Univ426 2012年

2

尝试使用“ ping -l 8092”或FTP或HTTP来检查是否为SMB问题。

首先:您使用什么媒体连接计算机?什么是我们的“ 100mpbs”?以太网?您不能将其用于“按地理位置分布”的计算机,对吗?

如果您的计算机之间的“ Internet上的vpn”路由器可能使用不同的链接:一个速度很快,而另一个则不是。他们可以根据许多参数选择链接。

请描述您的网络。

这也可能是MTU问题:几个链接可能具有不同的MTU。


谢谢llya。我更新了问题以回答您的问题。这是一个普通的以太网网络,源主机中有一个100 Mbps的网卡。
Univ426 2012年

乔什,我还是听不懂:(((您是否使用100BASE以太网将PC与服务器连接?即使您使用100BASE-LX10(通过两根光纤连接的以太网),也无法“在全国范围内”连接两台计算机: 。距离限制大约10公里,在以太网的情况下,你使用交换机或连接电脑直接请告诉我潜伏期:你是怎么得到“72毫秒”你是怎么计算呢谢谢(哪个?)???
伊利亚

我们正在通过本地LAN到达公共Internet,然后到达数据中心,然后再通过公司Intranet到达服务器。延迟是使用ping确定的。正如预期的那样,我们确实进行了多次切换。最近的交换机具有与主机100Mbps的自动协商速度。希望有帮助。
Univ426 2012年

1
nb-您真正关心的带宽不是LAN连接的100M,而是端点之间最慢的链接。这可能是您的WAN链接或一些较慢的中间链接。
rnxrx 2012年

很好,我将更新问题,但是我知道我们已经通过OC-3连接到了ISP。我必须想象其上游的所有数据至少为100Mbps,而且我知道大楼中的基础设施一直是100M或1G的连接。
Univ426 2012年

2

许多评论和用户在这里提供了很好的建议。他们中的一些人达到了我所寻找的目标,但我也很幸运地与我们公司的网络资深人士会面,这有助于澄清问题。我认为我会在这里发表自己的发现/见解,以造福他人。如果出现以下任何一种情况,请随时纠正我:

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

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

3.)微软网站的研究确实表明SMB2比SMB1具有可观的性能提升。但是,在某些情况下,操作系统如何协商要使用的协议存在问题,因此应注意以下两种情况:a。)可能使用SMB2的情况,以及b。)是否基于SMB2的实际使用在网络捕获中。

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

我希望这有帮助。同样,我的理解在这里还很初级,可以随时扩展。


1
除了带宽延迟计算之外,请注意,SMB2大大提高了高延迟链路的性能,因为它不等待服务器在传输更多数据之前确认写入。实际上,使用ROBOCOPY通过WAN连接确实可以看到SMBv2将吞吐量提高10倍。如果要复制大量文件,还可以考虑使用带有robocopy的/ MT线程,默认情况下它最多并行并行处理8个文件。
rmalayter 2012年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.