二进制文件vsftpd快,文本文件慢

我在一台Ubuntu 8.04机器上运行vsftpd 2.2.1,它有一个非常直接的configuration,并且在通过FTP上传到机器时遇到了一个奇怪的问题。 如果我上传文本文件的传输速度大约是70 KB / s,如果我上传二进制数据(zip文件等),传输速度大约是50倍的速度。 我已经在不同的操作系统,不同的文件大小等使用了几个不同的客户端。我已经尝试在二进制和ASCII模式的文本文件传输,没有什么似乎有所作为。 有没有人看过这个或有任何想法可能会导致这种行为?

更新: FTP服务器位于与之前testing过的客户端计算机不同的子网上,并且两者之间有一个Linux网关,但似乎只有当不同子网上的计算机通过网关连接到FTP服务器时才会出现此问题。 当与FTP服务器在同一子网上的机器上传文本文件时,问题似乎不会发生。 这仍然没有多大意义,但也许有关于在网关上使用ip_conntrack_ftp模块的问题。

更新:事实certificate,有人在网关的一边设置了Snort IDS,这个Snort IDS在大约新的线路上破坏了FTP数据包,导致了文本文件的滞后。

也许vsftpd中的行结束转换被写入效率低下,并且由于二进制模式是最常用的,所以没有人花时间去改进vsftpd中使用的algorithm。

或者,将数据从一个tcp套接字传递到磁盘实际上要比检查每个字符的CR和LF要快得多。 检查可能会在连接中引入足够的延迟以降低传输速度。

您是否在本地运行以太网testing(低延迟,会受到额外的延迟影响)还是通过Internet?