6

As I understand it, bonding brings among other benefits the ability to increase the network speed between two machines in a LAN.

Bonding [...] means combining several network interfaces (NICs) to a single link, providing either high-availability, load-balancing, maximum throughput, or a combination of these.

Source: Ubuntu documentation, emphasis mine.

I have bonding configured on two servers; both have two 1Gbps NIC adapters. When testing speed between those servers using iperf, the report indicates:

  • 930 to 945 Mbits/sec when using balance-rr bonding mode.
  • 520 to 530 Mbits/sec from machine A to B when using 802.3ad,
  • 930 to 945 Mbits/sec from machine B to A when using 802.3ad.

An interesting thing is that when using 802.3ad, ifconfig indicates that practically all RX is on eth0 (2.5 GB vs. a few KB/MB) and all TX on eth1 on machine A, and the inverse on machine B.

When asking iperf to use multiple connections (iperf -c 192.168.1.2 -P 10), the obtained sum is very close to the results displayed when using a single connection.

Two machines are connected to a Netgear GS728TS which has LACP configured properly (I hope), with two LAGs covering two ports each. IEEE 802.3x mode is enabled.

Is iperf suited well for this sort of tests? If yes, is there something I'm missing?

migrated from unix.stackexchange.com Sep 4 '14 at 21:47

This question came from our site for users of Linux, FreeBSD and other Un*x-like operating systems.

  • iperf should be fine. Is it possible that an equipment in the middle is the bottleneck? – Frederik Deweerdt Aug 29 '14 at 22:32
  • What mode do you have it in? Have you verified that both links are being utilized (even if not fully)? – Patrick Aug 29 '14 at 22:41
  • @FrederikDeweerdt: the equipment in the middle is a switch which should be able to handle a 2 Gbps connection correctly, I suppose. I edited the question to provide more details. – Arseni Mourzenko Aug 29 '14 at 23:27
  • @Patrick: I'm using 802.3ad. I edited the question to provide more details. – Arseni Mourzenko Aug 29 '14 at 23:27
  • 3
    I think 802.3ad uses a hash of the endpoints' addresses to choose which interface to use, so between any two endpoints your throughput won't be any higher than a single NIC's throughput. Round robin may result in higher throughput, if you want to maximize transfer rates between two specific endpoints, but I believe the disadvantage of that is that packets can arrive out of order (not a problem for TCP). Check if your switch has overall limits on bandwidth for physically adjacent ports; sometimes they'll have 2 or 4 ports sharing the same hardware. – Mark Plotnick Aug 30 '14 at 8:31
2

Bonded interfaces do not grant additional bandwidth to individual network flows. So if you're only running one copy of iperf then you will only be able to use one network interface at a time. If you have two NIC in a lagg then you'll need at least two completely independent copies of iperf running on the computer to see any simultaneous utilization. This will apply to actual loads as well - eg a Samba client will still only see 1Gb throughput, but two clients could each see 1Gb if your lagg has two NICs. This all assumes you have the lagg configured to use both NICs (The 802.3ad option will do this).

2

After contacting Netgear support, it appears that:

If you use 2 stations (1 client/1 server), it will actually only use one link (hence the 1Gbps/940mbps), the link used is decided by the LACP hashing algorithm.

To go above the 1Gbps limit, you will need to test with more that 1 client.

Source: Netgear support ticket response

The same ticket response links to Netgear's public forum post, where we can read that:

You can only get 2Gbps aggregate when the LACP hashing algorithm puts multiple traffic streams down different paths and it doesn't always. With a small number of clients (2 in your case), odds are good that they both might get hashed to the same link.

For those who don't want to read the entire forum discussion, here are the key points:

  • There should be at least two clients connecting to the server to benefit from LACP. A single client will use one link only, which will limit its speed to 1 Gbps.

  • Two clients should be using different links to benefit from LACP.

  • With only two network adapters on the server, there is a 50% chance of getting the same link from two clients, which will result in total speed capped at 1 Gbps. Three network adapters decrease the chance down to 33%, four—to 25%.

To conclude, there is no way with Netgear GS728TS to obtain a 1.4 to 1.8 Gbps speed between two machines.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.