我正在尝试将大量的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。)
cat /proc/net/dev的输出,看是否有错误或丢包。 cat /proc/net/dev监控吞吐量。 dd从/dev/zero读取并写入目标文件系统上的本地文件。 使用iostat监控吞吐量。 如果上面的任何一个testing都显示出问题,那么您应该知道下一步的位置。 否则,请查看FTP端:
top检查FTP服务器和客户端的内存使用情况。 如果有内存泄漏,可能会交换和放慢一切。 除了Tom的回答之外,您可能还需要检查交换机,确保以正确的速度和全双工模式运行。
我会检查你的磁盘IO …也许之所以传输看起来很快,然后减慢的原因是,首先操作系统正在加载数据到RAM和磁盘缓冲区。
大多数现代操作系统会这样做,使事情看起来更快…
一旦你的内存和磁盘缓冲区已满,这可能需要几分钟,真正的磁盘IO速度显示,文件传输变慢…
我们最近发布了一个10GBPS文件传输的磁盘IO的博客,请看看它可能会帮助你…
http://www.filecatalyst.com/analysis-on-improving-throughput-part-1-disk-io/
完全披露:此用户是FileCatalyst的雇员。