[Solved] Link Aggregation: Round robin works but not LACP

UPDATE: Okay, so I figured it out and now everything is working the way it should. I had to change the hash algorithm from using the MAC address to using the IP address. I had changed this on my switch before with no effect but figured out that I also needed to change this on the server. For linux (or at least for ubuntu) you need to add the line bond-xmit_hash_policy 1 to your interface config, as well as changing it on the switch. Now I'm able to use the full 2gbps speed when accessing the server from multiple machines.

 

ORIGINAL: So a while ago I set up link aggregation on my server but could never get it to go faster than 1gbps. I eventually forgot about it and never got around to figuring it out. The other night I was backing up some files to a NAS and while monitoring the server's network throughput I noticed that even though there were multiple file transfers from different machines it was still limited to around 1gbps.

I've had it set up using LACP, and as far as I can tell it's set up properly. But i decided to play around with different modes and discovered that it worked fine when I set the server to round robin mode.

Here are some pictures showing the throughput in each mode, for testing I used two computers to transfer files from the server simultaneously.

This is with LACP mode:

You can see that the total throughput is around 900mbps

 

And here is round robin mode:

Here I'm getting around 1.4gbps.

 

So does anyone know why this is? Why am I not able to get a higher throughput when using LACP? The server and other computers are connected to a managed switch. The switch ports for the server are set to LACP when using LACP mode and static link aggregation when using round robin.

When using LACP mode both ports are active and I am able to see that both ports are being used, but I am never able to exceed 1gbps.

I also tried XOR but the performance was much worse than 1gbps.

 

So if anyone knows anything about it, please help me figure this out, thanks.

I've tried this on my pfsense box as well, connected to my Cisco SG-300-10 but I could never get it to link at over 1Gb, the switch always shows ACTIVE -1, PASSIVE -2, but my desktop both ports show as Active, and link speed in windows reports 2Gb.

Please learn me as well!

From my experience running 4Gbps & 2Gbps LACP your not going to get faster speed e.g 4Gbps link all your going to get is port redundancy e.g unplug 1 port 3 stay online. 

This is the problem, LACP does support load balancing, it isn't just for fault tollerance. So I should be able to get faster than 1gbps throughput when accessing the server from multiple hosts. 

I figured it out. You need to change the hash algorithm from using the MAC address to using the IP address, now I can use the full link speed.