我只是在新的服务器上安装了新的FreeBSD 9.0。 机器正在使用机载千兆网卡(Atheros AR8151)。 它运行Samba和FTP,并具有〜3TB的ZFS池。 当我从某些主机上下载文件时,我获得了非常好的读取性能,通过FTP接近90mb / s。 但其他一些主机的读取性能却非常糟糕,约为2mb / s。 起初我虽然是桑巴舞,但事实certificate这不是真的。 我尝试从同一台交换机后面的两台独立主机上下载一些文件,一台是Ubuntu 10.10机器,另一台是运行Mac OS 10.4的。 Ubuntu机器达到2mb / s,而Mac OS机器达到10mb / s。
根据要求,有关networking和testing设置的更多细节。 问题中的networking是我的大学networking,至less1Gbit。
我有一台运行OpenWRT的NetGear WNDR3700路由器。 WNDR连接到HP Procurve交换机(这是我无法控制的)。 Procurve还通过光纤连接到大学networking。
该服务器是在Intel Celeron G540上运行,具有上述NIC。 它通过千兆位以太网直接连接到WNDR3700。 为了testing和诊断我下载的问题,并使用多种协议将一些1.5GB文件从服务器上传到服务器。 下列使用的机器和协议(下载是从服务器传出的stream量):
通过gbit以太网连接到Procurve的Windows 7机器。 我只能对这个进行下载testing,大概是2mb / s左右。 这是一个不到一个月的笔记本电脑。
其次是连接到WNDR的Linux Mint机器,这台计算机大约6个月大。 我做了一个下载和上传testing,这两个都有出色的performance。 我用过FTP,SMB和scp。
然后还有另一台Linux机器,运行Ubuntu 10.10,又是一台笔记本电脑,但是这台机器已经大约3年了。 在所有3个协议中,它在两个方向上的传输性能都非常差。 这一个也连接到Procurve。
那么还有另一台linux机器,不知道它在运行什么发行版,因为它不是我的。 这台计算机通过SMB和FTP下载了10MB / s的文件。 再次连接到Procurve(通过100mbit以太网)。
然后有一个3个月大的Macbook Pro,通过WIFI连接到WNDR,这台机器在所有的testing中也performance出色。
最后还有一个VPS在几百公里之外,我只能testingFTP和scp,但是性能还是不错的。
所有这些testing都是在几天内完成的,所有的testing都是一致的。 起初我认为它可能是Procurve,它是全新的,但从列表中可以看出,有几台计算机的性能出色。
在运行一些更多的testing之后,我现在断定它不是服务器。 我尝试从薄荷转移一些文件到Ubuntu框,结果不尽相同:薄荷 – > Ubuntu:〜2mb / s Ubuntu – >薄荷:〜20mb /秒
服务器和Mint盒子都是新的Sandy Bridge机器,Mint盒子有一个Realtek 8111E网卡。
经过很长时间的尝试,我发现了这个问题。 原来,在其中一个UTP电缆中,其中一条TX线断了。 或者至less它不是平等的performance。 显然,如果下载主机通过100mbit连接,Procurve开关将只使用1行。 有点奇怪的问题,但至less我终于明白了。