I'm not really sure what's going on here
You've tested/eliminated the obvious things (Nics, Cables, Protocols, Switch).
I did notice that Debain Stable/Testing is using 2.6.32.x, Sid is pushing 2.6.37. It
might be worth exploring an updated kernel, or even using the upstream driver from Realtek themselves. With my onboard rtl81xx chips, I had to use this driver in the past because of Linux's failure to properly support ASPM on the chips. Something Intel also has a problem with (only a small number of chips), not to mention their EPROM issues and .... (Intel is not as perfect as one would hope
) At least with Intel you can get quick support, and their devs are fast, eager, and precise to fix issues.
I'm not convinced it's an issue with the r8169 module. Something tells me if it was, then even single file transfers would be slow. Ubuntu uses a newer kernel that has not just a newer r8169 module, but also refinements to nfs and ext4.
I do have this Intel card in my arsenal -
Code:
01:04.0 Ethernet controller: Intel Corporation 82541PI Gigabit Ethernet Controller (rev 05)
And sure it is better than the built in r8168's and $5 r8169 PCI cards. $30 better? Not in a home environment
I ran a bunch of tests here. Using a ~2GiB file, and a directory with +/- 100 files and 2 sub directories. Between 2 RTL8111/8168B NICs. Using SCP, NFS, and CIFs. SCP was the fastest (~73MiB/s) NFS and CIFS were near identical. Single file transfers where ~70MiB/s, directory transfers where ~65MiB/s. The main difference is NFS and SCP use ~2% CPU, while CIFS hits upto 30% CPU. My exports are formatted to JFS.
iostat reported 98% utilization on the sender and 60% utilization on the receiver.
There are some tools available to see where your bottleneck is.
iostat
nfsstat
rpcinfo
At this point, if I had to make a guess - Kernel issue, file system/mounting options.
I'm curious how another file system (ext3, jfs, or even xfs) would perform.