I was going by this article when trying to adjust the setting and edit the registry, as the article talks about editing the registry for the TCP Window Size. TCP Windows Size made a bit of difference in my reading (from 45 to 65 or so) but the real impact was adjusting the Buffer Length. I then checked this MS regedit guide but wasn't able to figure out exactly which parameters corresponded to Buffer Length in Jperf.
I will run a few more tests tonight with the Mbps output format and I'm also going to try and get FTP working.
My hope really was lying with the tuning of either the hard drives or networking in Ubuntu. When I had FreeNAS tuned, I was getting the same transfer rates between FTP & Samba. Those transfer rates were also very close to what I am currently getting with Ubuntu.
To my knowledge buffer length and window size in Iperf basically do the same thing. Now with Iperf the program specifically sets the window size based upon either the default or what you specify. With all other TCP/IP traffic Windows controls the window size. The window size setting in the registry sets the maximum possible size allowed. This does not mean that Windows will actually use that size. You can use a program like Wireshark or Microsoft Network Monitor to see the window sizes being used. In my testing I have usually seen it at 60k-64k for file copies across my LAN. If iperf is showing that your network is capable of over 100 MB/sec at a 64k window size I would say your network is good to go and no network setting changes are necessary.
Next up would be testing all of the disks involved to find out if they are the bottleneck. You already tested your drives on your server but what about the client? Also you had mentioned that your drives are showing up as SATA150 instead of SATA300. Could you check that your drives do not have a jumper set that has them in a SATA150 compatibility mode? If you really wanted you could also use Iozone to test your hard drives. On Ubuntu you should be able to install it by typing sudo apt-get install iozone3.
For reference here are my Iperf results:
C:\iperf>iperf -c 192.168.0.2 -P 1 -i 1 -p 5001 -f M -t 10
------------------------------------------------------------
Client connecting to 192.168.0.2, TCP port 5001
TCP window size: 0.01 MByte (default)
------------------------------------------------------------
[132] local 192.168.0.3 port 50788 connected with 192.168.0.2 port 5001
[ ID] Interval Transfer Bandwidth
[132] 0.0- 1.0 sec 49.9 MBytes 49.9 MBytes/sec
[132] 1.0- 2.0 sec 50.1 MBytes 50.1 MBytes/sec
[132] 2.0- 3.0 sec 49.7 MBytes 49.7 MBytes/sec
[132] 3.0- 4.0 sec 49.9 MBytes 49.9 MBytes/sec
[132] 4.0- 5.0 sec 50.0 MBytes 50.0 MBytes/sec
[132] 5.0- 6.0 sec 47.0 MBytes 47.0 MBytes/sec
[132] 6.0- 7.0 sec 49.5 MBytes 49.5 MBytes/sec
[132] 7.0- 8.0 sec 49.7 MBytes 49.7 MBytes/sec
[132] 8.0- 9.0 sec 49.6 MBytes 49.6 MBytes/sec
[132] 9.0-10.0 sec 49.3 MBytes 49.3 MBytes/sec
[132] 0.0-10.0 sec 495 MBytes 49.5 MBytes/sec
C:\iperf>iperf -c 192.168.0.2 -P 1 -i 1 -p 5001 -w 32.0K -l 64.0K -f M -t 10
------------------------------------------------------------
Client connecting to 192.168.0.2, TCP port 5001
TCP window size: 0.03 MByte
------------------------------------------------------------
[132] local 192.168.0.3 port 50789 connected with 192.168.0.2 port 5001
[ ID] Interval Transfer Bandwidth
[132] 0.0- 1.0 sec 113 MBytes 113 MBytes/sec
[132] 1.0- 2.0 sec 112 MBytes 112 MBytes/sec
[132] 2.0- 3.0 sec 112 MBytes 112 MBytes/sec
[132] 3.0- 4.0 sec 112 MBytes 112 MBytes/sec
[132] 4.0- 5.0 sec 112 MBytes 112 MBytes/sec
[132] 5.0- 6.0 sec 112 MBytes 112 MBytes/sec
[132] 6.0- 7.0 sec 112 MBytes 112 MBytes/sec
[132] 7.0- 8.0 sec 112 MBytes 112 MBytes/sec
[132] 8.0- 9.0 sec 112 MBytes 112 MBytes/sec
[132] 9.0-10.0 sec 112 MBytes 112 MBytes/sec
[132] 0.0-10.0 sec 1123 MBytes 112 MBytes/sec
C:\iperf>iperf -w 64k -c 192.168.0.2 -r
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size: 64.0 KByte
------------------------------------------------------------
------------------------------------------------------------
Client connecting to 192.168.0.2, TCP port 5001
TCP window size: 64.0 KByte
------------------------------------------------------------
[156] local 192.168.0.3 port 50853 connected with 192.168.0.2 port 5001
[ ID] Interval Transfer Bandwidth
[156] 0.0-10.0 sec 1.09 GBytes 937 Mbits/sec
[168] local 192.168.0.3 port 5001 connected with 192.168.0.2 port 1311
[ ID] Interval Transfer Bandwidth
[168] 0.0-10.0 sec 1.10 GBytes 944 Mbits/sec
00Roush
Last edited: