Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I just installed a fresh FreeBSD 9.0 on a new server. The machine is using the onboard gbit nic (Atheros AR8151). It runs Samba and FTP and has a ZFS pool of ~3TB. When I download files from some hosts I get really good read performance, close to 90mb/s over FTP. But some other hosts have really bad read performance, around 2mb/s. At first I though it was samba, but that turns out not to be true. I tried downloading some files from 2 separate hosts behind the same switch, one was an Ubuntu 10.10 machine the other was running Mac OS 10.4. The Ubuntu machine did 2mb/s while the Mac OS machine got 10mb/s.

As requested some more details on the network and the test setup. The network in questions is my universities network, it's all at least 1gbit.

I have a NetGear WNDR3700 router which is running OpenWRT. The WNDR is connected to a HP Procurve switch (which is out of my control). The Procurve is further connected to the university network via fiber optics.

The server is a running on an Intel Celeron G540, with the aforementioned NIC. It is connected directly to the WNDR3700 with gbit ethernet. To test and diagnose the problem I downloaded and uploaded some 1.5GB files from and to the server using several protocols. The following machines and protocols where used (download is traffic going out from the server):

A Windows 7 machine connected to the Procurve via gbit ethernet. I could only perform a download test on this one, it did around 2mb/s. This is a laptop which is less then a month old.

Secondly there is a Linux Mint machine connected to the WNDR, this computer is roughly 6 months old. I did a download and upload test on this one, both with excellent performance. I used FTP, SMB and scp.

Then there is another linux machine, running Ubuntu 10.10, again a laptop, but this one was roughly 3 years old. It performed really poorly transferring in both directions over all 3 protocols. This one was also connected to the Procurve.

Then there is another linux machine, don't know what distro it's running as it's not mine. This computer downloaded the file with 10MB/s both over SMB and FTP. Again connected to the Procurve (via 100mbit ethernet).

Then there is a 3 month old Macbook pro, connected via WIFI to the WNDR, this machine also performed excellently in all tests.

And lastly there is a VPS hosted a couple hundred kilometers away, I could only test FTP and scp on this one, but its performance was good.

All these tests where done a couple times, spread throughout the day, and all tests are consistent. At first I thought it might be the Procurve, which it's brand new, but as you can see from the list there are several computers performance excellently.

After running some more tests I've now concluded that it's not the server at all. I tried transferring some files from the Mint to the Ubuntu box, with varying results: Mint -> Ubuntu: ~2mb/s Ubuntu -> Mint: ~20mb/s

Both the server and the Mint box are really new Sandy Bridge machines, The Mint box has an Realtek 8111E NIC.

share|improve this question
Weird. Is this just with ftp? Have you tried with scp or other protocols? The only think I can possibly imagine is if your ftp connection is passive on one box and non-passive on the other, but I am totally unsure about this. I am quite certain the problem is client-side, not from your file server. – stefgosselin Apr 4 '12 at 18:29
I tried FTP, SMB and scp, all have the same problem. The clients have no problem whatsoever downloading at higher speeds from other hosts, which, if anything, makes this problem that much weirder :s. – Blubber Apr 4 '12 at 18:31
Can you tell us more about your testing methodology: Where are these mysterious unnamed "hosts" you're transferring data to/from? What is the network topology (assuming you know/control it)? Is the problem consistent on a specific set of hosts, intermittent on a specific set of hosts, or intermittent over all hosts? etc..., (Please edit your question to include new relevant details :) – voretaq7 Apr 4 '12 at 19:02
My experience shows that only "server grade" intel/3com nics are good enough under heavy load. Mainly because of large inner buffer, sophisticated offloads and interrupt reduction technics. Gigabit PHY on the nic doesn't guarantee stable gigabit flow. – Kondybas Apr 4 '12 at 20:20
But the low performance I'm talkng about is around 2MB/s, that slow even for the worst possible 100mbit nic. Also, it can do around 90MB/s as noted in the original post. – Blubber Apr 4 '12 at 21:00

I found the problem, after a long, long time of trying different things. It turns out that in one of the UTP cables, one of the TX lines is broken. Or at least it's not performing on par. Apparently the Procurve switch will use only 1 line if the downloading host is connected via 100mbit. Kind of a weird problem, but at least I figured it out in the end.

share|improve this answer
layer 1 always get's forgotten in the beginning :p – Lucas Kauffman Apr 6 '12 at 5:16

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.