FTP费率在短时间后下降

我正在尝试将大量的GB(10 GB的文件高达100 GB)文件传输到HP DL380主机,在10 GigEnetworking/ LAN上运行vsftpd。 传输最初开始很快,即45-60 MB /秒或大致的磁盘速度。 几分钟后(通常约10-12),传输速率下降到涓stream(250 KB /秒左右)。 我们一直对其他服务器做这样的事情,所以看起来服务器本身或者客户端/服务器之间可能是防火墙。

我试图解决这个问题,为什么我们的利率会突然剧烈变化。 它似乎没有任何与networking或客户端/服务器上的负载。 我们怀疑它与PASSIVE / ACTIVE模式有关,但还没有完成(传输处于PASSIVE模式)。

我希望有人看到类似的东西,即FTP性能的大幅下降。 一些networking参数也许? 在vsftpdconfiguration项目?

无论如何,任何build议表示赞赏。

在对FTP方面进行调整之前,您应该执行一些综合testing来排除其他原因。 (我假设客户端和服务器都是Linux,因为你正在运行vsftpd。)

  • networking丢包:检查客户端和服务器上cat /proc/net/dev的输出,看是否有错误或丢包。
  • networking负载testing:使用吞吐量testing工具(如iperf) ,testing时间较长,以查看是否可以重现问题。 用cat /proc/net/dev监控吞吐量。
  • MTU:如果您使用10GbE,则可能启用巨型帧(即,MTU大小大于1500)。 如果这样做,请确保所有主机和networking设备都支持巨型帧,并且您不在任何地方过滤ICMP数据包(ICMP数据包用于MTUpath发现)。
  • 服务器磁盘:在服务器上,使用dd/dev/zero读取并写入目标文件系统上的本地文件。 使用iostat监控吞吐量。
  • 客户端磁盘:可能不需要testing,因为您可以成功地从该客户端向其他服务器FTP。

如果上面的任何一个testing都显示出问题,那么您应该知道下一步的位置。 否则,请查看FTP端:

  • 如果转帐速度减慢,如果您断开连接然后恢复转账,会发生什么情况? 它是马上慢下来,还是在放慢之前再次快速上升?
  • 当从客户端和服务器端进行传输时(例如,连接到客户端上的FTP服务器),你会得到不同的行为吗?
  • 使用top检查FTP服务器和客户端的内存使用情况。 如果有内存泄漏,可能会交换和放慢一切。
  • 检查FTP服务器和客户端的CPU使用情况是否有任何奇怪的行为。

除了Tom的回答之外,您可能还需要检查交换机,确保以正确的速度和全双工模式运行。

我会检查你的磁盘IO …也许之所以传输看起来很快,然后减慢的原因是,首先操作系统正在加载数据到RAM和磁盘缓冲区。

大多数现代操作系统会这样做,使事情看起来更快…

一旦你的内存和磁盘缓冲区已满,这可能需要几分钟,真正的磁盘IO速度显示,文件传输变慢…

我们最近发布了一个10GBPS文件传输的磁盘IO的博客,请看看它可能会帮助你…

http://www.filecatalyst.com/analysis-on-improving-throughput-part-1-disk-io/

完全披露:此用户是FileCatalyst的雇员。