I’m not buying either answer – but I haven’t tested Round Robin.
In the test case you propose, the Round Robin won’t even be used at all – Round Robin only affects packets FROM the EX4 into your network. Your PC (or its switch) will not “round robin” the reverse path unless explicitly configured on the switch or PC – and the fact that your PC probably isn’t dual-attached means the switch will just re-aggregate all those packets back onto one wire.
Since you’re copying TO the EX4 (at least, I assume that’s the direction you’re talking about given the speeds you’re seeing) there’s not going to be anything substantial to improve performance.
I AM running LACP, though – but right now, I’m serving 9 BD Rips to a transcode process running on my Linux workstation, so my EX4 is too busy to do a meaningful test. Perhaps the EX4 has some very bizarre limitation that only “Bonding” can overcome, but i’ve never experienced that in my career.
I seldom bring my credentials to bear, but I will in this case.
I’m a Cisco Certified Design Professional / Network Professional (CCDP / CCNP) continuously re-certified for the last 15 years. I’ve been designing, building, installing, and configuring high-performance enterprise datacenter networks for a Fortune 500 company for the last decade.
– LACP is useful for both redundancy and performance – however, the latter is only effective if the host system is saturating a single link, AND when there are multiple traffic flows. A “Flow” is defined as a traffic source/sink pair where the source and destination share common parameters that don’t change over time, such as Source & Destination MAC, IP Address, and/or TCP/UDP socket or port numbers. If anything does change, it’s considered a different Flow.
For any given “Flow,” only ONE interface will ever be used. This is controlled by the Hashing algorithm chosen by the traffic source to determine which interface to send any particular packet.
Executing the following command on the EX4:
/proc/16051/net/bonding # cat bond0
Ethernet Channel Bonding Driver: v3.5.0 (November 4, 2008)
Bonding Mode: IEEE 802.3ad Dynamic link aggregation
Transmit Hash Policy: layer2 (0)
… we can see that the hahing algorithm in use is “layer2.”
In Layer 2 hashing, the interface chosen is based on the LAST BIT (the least significant) of the SOURCE MAC and the DESTINATION MAC X’ORd together.
So given that the EX4’s MAC and your PC’s MAC will NEVER change, the Hash will ALWAYS be the same result – so all the traffic from the NAS to the PC will Only and Forever use one specific interface of the two-member “bundle.”
(If BOTH the Source MAC and Destination MAC both end in a ZERO or ONE bit, the hash will result in ‘0’, which means Port 0 is used.
If the bits are opposite on the source and destination MAC, the hash will result in ‘1’, which means that Port 1 is used.)
For example, my EX4’s MAC address is 00:90:a9:62:eb:0e.
My PC’s MAC address is 90:fb:a6:2d:8a:68.
Both are “even” numbers, meaning the last bit is zero for both. 0 X’OR 0 is 0, so, as long as both interfaces in the group are functional, traffic FROM the NAS to my PC will ALWAYS use Port 0 – and NOTHING else.
The reverse path (PC to NAS) is calculated by the switch, not the NAS – and does NOT have to be done the same way or yield the same result.
So I cannot see how it’s possible that LACP would ever improve performance when only a single PC is used as a client.
In datacenter networks, thousands of clients are talking to the server (and vice versa) so there’s roughly a 50/50 probability of a well-distributed Hash.