确定文件传输如此缓慢的原因

Rya*_*ela 7 networking slow-connection

我正在尝试跨局域网传输大文件(每个 3+ 演出)。我的连接是 100 兆位到盒子,有一个千兆主干。但是,在服务器之间以及从服务器到本地计算机传输文件时,传输速度徘徊在每秒 11 到 13 兆位左右。

但是,从 Internet 进行大量下载的速度要快得多。

我已经向我的网络基础设施人员提出了这个问题,但他们坚持认为网络配置一切正常。

是否有任何工具可以安装在我的计算机或服务器上以尝试隔离速度下降的根源?

Dav*_*ney 8

首先检查每台服务器上的接口计数器,应该有0个或接近0个错误报告。

其次,检查两台服务器的双工。如果您混合使用 100mbit 和 GbE,那么您可能会遇到双工不匹配。确保双方都设置为自动/自动,或手动设置所有接口上的速度和双工。

第三,在 GbE 骨干网中存在什么样的争用,您能否确认您的传输有足够的余量?

最后,您的发送服务器是否能够足够快地传输。正如下面的评论所暗示的那样,您是否受到发送器驱动器的 IO 带宽或 CPU(如果您使用 scp 或类似)的限制?

顺便说一句,每秒11 到 13 兆字节是 100 兆位的理论最大值,您确定您用来测量的工具报告的单位是正确的吗?


Dav*_*e K 5

查看我使用的以下过程,这可能有助于缩小问题所在的范围。


当我测试网络吞吐量时,最好删除尽可能多的变量,例如磁盘 i/o 或 CPU 限制。这是我使用的程序,它可以说明您将在网络中看到的典型最大值。

工具:

这两个实用程序都应该在大多数现代 *nix 系统上可用,可以是预装的、通过包的,也可以是从源代码编译的。

程序:

  1. 在一台计算机上运行以下命令以设置 UDP 侦听器。(使用 UDP 将提供更高的性能数字,因为缺少 TCP 传输开销。)

    nc -ulp 5000 > /dev/null

  2. 在另一台机器上,运行以下命令,替换侦听器的 IP 地址,通过网络向 nc 侦听器发送零流。pv 实用程序将显示接收器跟踪的当前性能。

    pv < /dev/zero | nc -u listener-ip-address 5000

笔记:

  • 一千兆以太网连接上的理论最大值是119MB / s的(通知中,M,不是M b
  • 也可以通过删除两个 nc 命令中的 -u 来测试 TCP
  • 在实际应用中,您永远不会达到 pv 输出中所示的性能数字。

这种方法在设计良好、设备正常运行的网络中给出了可预测的结果。出于这个原因,它是一个很好的工具,可以帮助发现网络本身或网络设备是否导致感知到的“缓慢”。