LACP doesn't EVER max out either interface

Status
Not open for further replies.

leonroy

Explorer
Joined
Jun 15, 2012
Messages
77
So I have a FreeNAS server. It's setup for LACP on both interfaces em0 and em1 and LACP is enabled on the switch (HP Procurve).

I have two more identical FreeNAS servers. Both also setup for LACP.

I've noticed that NFS traffic to vSphere NEVER maximizes out both interfaces - even when doing a large vMotion between boxes in the Datastore Cluster with multiple hosts with multiple NICs executing the vMotion.

Just testing iperf now. I have box1 running iperf -s and box2 and box3 running iperf -c box1 simultaneously.

Looking at the Reporting tab in FreeNAS box1 only seems to max out em0 with Tx traffic. The second interface em1 is sitting practically idle.

I understand that LACP does not bond interfaces to double throughput to a single client but I thought it does allow serving to different clients on both interfaces to provide effectively double the throughput?

Or is it simply restricted to Rx down one interface and Tx down another?
 

jgreco

Resident Grinch
Joined
May 29, 2011
Messages
18,680
LACP uses a hash to determine what interface to send traffic out. This is because in order for TCP to work properly, you need to avoid packet reordering, so packets for a flow go out the same interface. To avoid needing to keep state, a stateless method needs to be used to assign flows. It is very common when there are only two clients for both to end up being served by the same interface (50% chance of this happening). And this has been discussed within very recent history several times.

https://forums.freenas.org/index.php?threads/lacp-read-performance-only-a-single-link.28711/
 
Status
Not open for further replies.
Top