View Only
  • 1.  Is LAG only for link redundancy?

    Posted Oct 10, 2023 02:12 PM
      |   view attached


    I set up a 4 port LAG between 2 ESXi hosts in my test environment.  Everything looks good to me, VCS shows all the physical ports are connected and in use (see attached) and the port channel summary on the switch shows that all connect ports are up and participating.

    When I perform an iperf test between the two hosts I get a max of 112MBps and I had expected to see approx 4x that throughput since 4 1Gbps ports are in play per server.

    Is my understanding incorrect and all implementing a LAG does is create fault tolerance if a NIC burns out and there is no performance increase?


  • 2.  RE: Is LAG only for link redundancy?

    Posted Oct 10, 2023 04:03 PM

    Theoretically, 4x throughput via a 4 port LAG would make sense. Realistically, the algorithm(s) that handles packet striping are far from perfect and will never net you anywhere near 4x. Maybe not even 2x. The way they handle variable length packets, not to mention suffering from FIFO complications that would inevitably occur. Even though there is a wider lane to send the packets simultaneously, the computing overhead that the algorithm requires negates most of the add'l throughput.

    So yes, I'd say it's fair to say it's *mostly* for redundancy.

  • 3.  RE: Is LAG only for link redundancy?

    Posted Oct 10, 2023 04:15 PM

    Thanks for the reply.

    I did check up how LAG works and I definitely had a bit of an inflated image of how it worked.  Your description pretty much hits exactly what I am seeing.  I was able to see a performance boost when I used the parallel command switch with iperf and sent multiple streams.  I was able to see an approx. double improvement when I sent 2 streams and a triple improvement when I sent 3 streams (though this one was less stable and frequently dropped down to 2x throughput).

    It was odd that if I ran two separate instances of iperf, connecting to 2 different ports (so 4 instances total server/client) I could get no better than 1Gbps.  Not sure why running one instance, but parallel streams, performed better.