NETGEAR is aware of a growing number of phone and online scams. To learn how to stay safe click here.

Forum Discussion

roveer1's avatar
roveer1
Guide
Oct 29, 2018

Why can't I get better than 1gb performance bonding NIC's on my ReadyNAS Pro 6?

I have a ReadyNAS Pro 6 with (2) 1GB ports fw 6.9.4

 

I wanted to see if by setting up a NIC Bond (LACP) I could get faster than 1GB throughput.

 

First I attached both NAS NIC's to the network and SSH'd the NAS and ran iperf

 

I then Iperf'd both network cards simultaneousely from 2 different workstations on my lan.  Each came back 900+Mb/s (just about saturating both adapters. Good start.

 

I then bonded the NAS Nic's (LACP L2+3)

 

I set up my managed switch for lacp on both NAS ports lag (lacp)

 

I then re-ran the simultaneous iperf's and still only got 900+Mb/s as a total.  I was expecting something faster.

I tried all different versions of bonding and other than getting poorer performance I never saw anything above 900Mb/s.

Everything rebooted between changes including switch.

 

Why can't I seem to get better performance?

 

Thanks.

 

9 Replies

Replies have been turned off for this discussion
  • StephenB's avatar
    StephenB
    Guru - Experienced User

    When you use LACP each data flow is assigned to one of the output NICs - that's done by the hash choice (layer 2, layer 2+3, layer 3+4).  Which ever option you pick, you end up with a coin-flip for each flow.  The outcome isn't random though - for a given output flow between two devices, you'll always end up with the same assignment.

     

    In your case, the two iPerf flows happened to give the same answer for those two PCs, so both iPerfs ended up running over the same NIC.   One option is to try changing the IP addresses of the PCs (using layer 3 hash), and see if you can find IP addresses that give better performance.  That likely won't help in the PC->NAS direction, as most switches use layer-2 (and don't let you change that).

     

    Another option is to try a static LAG on the switch, and use "round robin" on the NAS.   There is a disadvantage though -  the NAS will try to send > 1 gbps to a single PC user.  That will create packet loss in the switch.  TCP will back off the data rate to compensate, but it might unstable.   If you see that, you can also try enabling ethernet flow control in the switch.

  • Retired_Member's avatar
    Retired_Member

    Hi roveer1, you also might want to try "adaptive load balancing" as the teaming mode.

    • StephenB's avatar
      StephenB
      Guru - Experienced User

      Retired_Member wrote:

      you also might want to try "adaptive load balancing" as the teaming mode.


      Worth a try, but I'd try the static lag/round robin approach first.

       

      On the NAS->switch path, ALB (and TLB) will dynamically adjust the traffic balance between NICs.  Round-Robin will give the same performance when all the ethernet links in the LAG are the same speed.

       

      On the switch->NAS path, ALB selects a NIC at the beginning of the traffic flow (based on NIC loading at the time).  That NIC is used for the life of the traffic flow.  There are still some scenarios where the receive flows aren't well balanced, since the NAS can't shift an on-going flow to another NIC.  That shouldn't happen with static LAG (though I haven't seen any information from Netgear on how the switches load-balance in the that direction).

       

      So the net here is that ALB should be about the same as round-robin/static LAG for downloads from the NAS, but that it won't be quite as good for uploads to the NAS.  The simple iperf test might not show the difference in upload performance, but it will still show up in real-world use.

       

      LACP is generally used to serve as a "trunk' that carries lots of connections.  It works well in those situations, and has the benefit that it won't overrun a single gigabit client connection (though it will overrun wifi or fast ethernet client connections).  But with just a couple of client connections it will often under-utilitize some of the links. 

       

      • roveer1's avatar
        roveer1
        Guide

        Thanks everyone who replied.

         

        I think I'm going to drop bonding all-together.

         

        I've only got a few workstations that access the NAS (mostly for backup storage).  I was trying to set it up to be a target for my NIC Teaming testing on another machine.  

         

        The whole concept of teaming/bonding is somewhat mysterious in that most vendors don't make available exactly what is happening when bonding is configured.

         

        The simple concept of (2) 1gb nics, bond them, get twice the speed is kind of a myth after you consider, not single stream and start talking about multiple users etc.  I'm a single stream environment.  I was hoping to Bond my readyNAS, NIC Team a win 2016 server and get ~2Gb/s uploads (~150-200+ MB/S).  Seems like that's not going to happen even mult-threaded SMB 3.1 (although I have seen it on youtube).

         

        Too many variables in my old hardware to expect that I can get that to work.  My netgear swtich while offering LACP, gives no options, ReadyNAS might be tunable, but from the GUI is very limited and my workstation hardware is older.

         

        I'm happy enough with the fact that after upgrading my ReadyNAS Pro 6 to the latest OS6 and using Win10 on the workstation that I am getting full GB transfers.

         

        I'm looking at 10GB for my next step.  Already have it between a server and FreeNAS box. 400+MB/s on that link.

         

        Thanks for your posts.

NETGEAR Academy

Boost your skills with the Netgear Academy - Get trained, certified and stay ahead with the latest Netgear technology! 

Join Us!

ProSupport for Business

Comprehensive support plans for maximum network uptime and business peace of mind.

 

Learn More