Home > Workload Solutions > SQL Server > Best Practices > Intel-Based SQL Server Best Practices on Dell PowerEdge R740 and PowerMax 2000 > Network Best Practices > Networking: NIC Teaming
NIC teaming enables multiple network interface controllers (NICs) to be placed into a group, which enables fault-tolerance and load-balancing of network traffic. In this best practice, we configured the NICs to use an active/active load-balancing configuration.
Category | Networking |
Product | Broadcom 5720 Quad-port NIC and Mellanox ConnectX-4 NIC |
Type of best practice | Performance Optimization |
Day and value | Day 2, Moderate Recommendation |
Overview
Enterprise applications can have hundreds or thousands of users simultaneously sending or receiving data to the supporting database. This information is transmitted across the network, which makes this layer in the stack critical to network availability and performance. In our baseline network configuration, the two NICs were configured in an active-passive design.
When two NICs are grouped in an active-passive team, each network interface controller is connected to a separate network switch.
The active NIC manages all network traffic. At the physical network switch, the uplink ports were configured to only allow packets from the public network and the vMotion networks. Any network packets that were not tagged as public or vMotion traffic were dropped.
The passive adapter remains idle until the network switch or the active adapter fails and then it takes the place of the active NIC. This provides network fault-tolerance and enables the enterprise application, including the database, to continue to serve requests. An active-passive NIC team helps with avoiding a single point of failure, but it does not have load-balancing advantages. This was the NIC team configuration used in our database baseline.
In an active/active NIC team configuration, the enterprise adds the benefit of load-balancing across the two network adapters. The process involves clicking on the vSphere Distributed Switch (VDS) and under virtual switches, accessing the teaming and failover tab. We selected load balancing from the drop-down box and we also changed both NICs to active adapters.
The goal of the active/active NIC teaming best practice is to provide greater network throughput for the database and for vMotion of the virtualized database to another server.
Recommendation
To test the active/active NIC teaming best practice, the database was running an OLTP workload while the virtual machine was moved by vMotion to another server. The amount of time to vMotion the server as well as New Orders per Minute (NOPM) and Transactions per Minute (TPM) were captured for analysis. The performance of NOPM and TPM were very similar when comparing the active/active to the active/passive configuration. In additional the vMotion time to complete moving the database workload was also very similar between the two network configurations.
We did not observe differences using the active/active teaming versus active/passive teaming best practice for any of the following metrics:
With active/active NIC teaming, the database system gains the benefits of load balancing and failover. Although, there were no performance differences in our OLTP workload tests this doesn’t mean the active/active NIC teaming wouldn’t benefit other database workloads. In addition, the active/active NIC teaming configuration also provides for failover. The benefits of active/active NIC Teaming make this best practice a Day 2, Moderate Recommendation.
Implementation Steps
Process to configure NIC teaming for Distributed portgroup for VMware VDS the vCenter Client:
Additional Resources