Load balancing/ link aggregation home server

duratothemax

Reputable
Feb 21, 2014
34
0
4,540
Hello all,
I have a weird problem that I am trying to figure out…

First of all, this is not really a “practical” set up, nor is an lga-2011 based gaming computer.
We all just enjoying building overkill set-ups because it is fun.

So I scored a used Cisco/Linksys 24 port managed gigabit switch on eBay for $80.
I have 4 computers (one dell OptiPlex 745, and one dell OptiPlex 780), the other two are x79 based.

All computers have ssd’s.

I thought it would be interesting to get a few Intel dual port gigabit nics, and a few single port nics so that each computer would essentially have a 4gigabit connection. This is obviously overkill since the older dell machines are only safta gen 2 (3gbps) but oh well.

To my surprise, windows will automatically load balance across all network adapters and I am getting ~220MB/s over the network from any machine to any other machine. Now the x79 based machines can max out all 4 connections and net me about ~445MB/s.

I have since upgraded all the machines to windows 10 since the upgrade was free.

Here is my issue…
For some strange reason I will only get a single gigabit connection when doing a file transfer from the two x79 machines. All other combinations will max out the read/write speed of the slowest device (~220MB/s), and will load balance across all network adapters.

I have tried resetting the switch, and also using the windows command “netsh winsock reset”, but I am still stuck with a measly ~113 MB/s between the two x79 machines…

Any help would be appreciated!

-Josh


 
You would have to dig into how the fire transfers are being done.

Most link aggregation is based on 802.11ad.... although microsoft never has been one to follow rules so you need to see what they are up to. The switches though likely are running standard 802.11ad port aggregation.

802.11ad does not support load balance by packet. This is to avoid the packet out of order problem. The best you can get is load balance by session. This means a session between 2 ip use particular port on each end will always use a single path....ie only 1g of bandwidth.

This is why it tends to be foolish to run link aggregation when you only have a small number of devices or when you are doing 1-1 file transfers. It is really designed for a large number of machines to access a central server. Just by luck it will mostly load balance.

Because of this restriction port aggregation is not used as much in server they have gone to 10g ports. Port aggregation of 10g ports though is still used mostly for high speed failover more than for capacity issues.

I would say it is working as designed. Why it works faster sometimes implies the data transfer is not a single session or microsoft is up to some proprietary thing again.