I recently added 2 intel 10Gbe nics, one to my desktop, and one to my server. While testing throughput I am running into an issue where when I download from the server to my desktop I get about 980MBs. However when I upload to the server from my desktop I get only about 400MBs.
My test file was a large iso.
On both machines I used ramdisks to ensure storage speed would not be a bottleneck.
Desktop is running windows 10 with jumbo frames enabled
Server is running Debian 10 with mtu set at 9000
With Debian server being set as server
Client connecting to 10.2.2.10, TCP port 5001
TCP window size: 4.00 MByte (default)
[320] local 10.2.2.156 port 50271 connected with 10.2.2.10 port 5001
[ ID] Interval Transfer Bandwidth
[320] 0.0-10.0 sec 4.44 GBytes 3.81 Gbits/sec
With Windows machine being set as server
Client connecting to 10.2.2.156, TCP port 5001
TCP window size: 2.98 MByte (default)
[ 3] local 10.2.2.10 port 34538 connected with 10.2.2.156 port 5001
[ ID] Interval Transfer Bandwidth
[ 3] 0.0-10.0 sec 4.00 GBytes 3.44 Gbits/sec
Hmm, iperf should be able to get a lot closer to 10gbps, I have seen it do like 9.6gpbs before on a 10gpbs connection. Although those results are fairly balanced between directions, and from the Debian machine to the win10 machine is slower than the SMB connection speed. At this point, I am pretty much out of my depth, I don’t know what is going on.
Im using an LC fiber connection on both machines. Ive tried switching the cables around, however the results are the same. I have also tried switching the sfp+ modules around to no effect.
So I decided to reboot and run the test again, since I didnt after install iperf on my debian machine, and here are those results.
server as server
[ 4] local 10.2.2.10 port 5001 connected with 10.2.2.156 port 55834
[ ID] Interval Transfer Bandwidth
[ 4] 0.0-10.0 sec 3.05 GBytes 2.62 Gbits/sec
windows machine as server
[ 3] local 10.2.2.10 port 46296 connected with 10.2.2.156 port 5001
[ ID] Interval Transfer Bandwidth
[ 3] 0.0-10.0 sec 10.4 GBytes 8.97 Gbits/sec
This seems more in line with what im seeing with the samba transfers.
So I booted my windows machine off a usb drive with linux and my results were, about 9Gbs from server to desktop, and about 8Gbs from desktop to server.
After that discovery, I did some tweaking to the adapter settings in windows. I have gotten the samba transfer rate up from about 400 to 700. iperf however I was only able to get up to about 3GBs.
Its alot better, I just wish I knew what was still causing issue.
Yes, I did find this earlier. Its what I used to get up to about 700MBs from 400MBs.
I wish I knew what linux is doing differently than windows, since in one of the tests earlier when I booted my windows machine off a linux usb, and was able to get a little over 1GBs both ways.