Applies To:

Show Versions Show Versions

Manual Chapter: Configuration Guide for the BIG-IP® Link Controller: Inbound Load Balancing
Manual Chapter
Table of Contents   |   << Previous Chapter   |   Next Chapter >>


9

Inbound Load Balancing


Introducing inbound load balancing

The Link Controller uses different configuration modes to manage traffic across multiple links. As requests come across the Link Controller, the system identifies the best available virtual server in the Link Controller configuration and sends the traffic to that virtual server. This process is known as inbound load balancing.

When you work with inbound load balancing and the Link Controller, you must:

  • Understand how inbound load balancing works in a Link Controller context
  • Understand static load balancing modes and how they apply to the needs of your network traffic
  • Understand dynamic load balancing modes and how they apply to the needs of your network traffic
  • Configure the Link Controller to use the load balancing modes that best apply to your network

Understanding inbound load balancing on the Link Controller

The Link Controller has external IP addresses configured for each network or ISP link that it manages. The external IP addresses are configured as virtual servers on the Link Controller, and these virtual servers belong to a wide IP on the Link Controller. The translations for the virtual servers direct the incoming requests to the appropriate content servers (for example, a web server or a database server) on the internal network. This process is known as inbound load balancing.

When the Link Controller receives a name resolution request from a local DNS server, the system uses a load balancing mode to select the best available virtual server in a wide IP. Once the Link Controller selects the best virtual server, it constructs the DNS answer and sends the answer back to the requesting client's local DNS server, using the best available link. The DNS answer, or resource record, is an A record that contains one or more virtual server IP addresses.

The Link Controller chooses a virtual server from a wide IP using either a static load balancing mode or a dynamic load balancing mode. A static load balancing mode selects a virtual server based on a pre-defined pattern. A dynamic load balancing mode selects a virtual server based on current performance metrics.

Within each wide IP, you can specify up to three load balancing modes that the system uses in sequential order: the preferred method, the alternate method, and the fallback method. The preferred method is the first load balancing mode that the Link Controller uses for load balancing. If the preferred method fails to select a virtual server, the system then uses the alternate method for load balancing. If the alternate load balancing mode fails to select a virtual server, the system uses the fallback load balancing mode. If the fallback method fails, then the Link Controller randomly picks an available virtual server.

The Link Controller supports several modes for inbound load balancing. Table 9.1 shows a complete list of the load balancing modes, indicates where you can use each mode, and indicates whether the mode is static or dynamic. The sections following the table describe how each load balancing mode works.

Table 9.1 Load balancing mode usage
Load Balancing mode
Use for pool load balancing
Use for preferred method
Use for alternate method
Use for fallback method
Completion Rate
 
X
 
X
Global Availability
X
X
X
X
Hops
 
X
 
X
Kilobytes/Second
 
X
 
X
Least Connections
 
X
 
X
None
   
X
X
Packet Rate
 
X
X
X
Quality of Service
 
X
 
X
Ratio
X
X
X
X
Return to DNS
 
X
X
X
Round Robin
X
X
X
X
Round Trip Time
 
X
 
X
Static Persist
 
X
X
X
Topology
X
X
X
X
CPU
 
X
 
X
Fallback IP
 
X
X
X
Drop Packet
 
X
X
X
Connection Rate
 
X
X
X
VS Capacity
 
X
X
X

Static load balancing modes distribute requests according to predefined patterns, and take virtual server availability into account. Dynamic load balancing modes distribute requests to links that show the best current performance. The performance metrics taken into account depend on the particular dynamic mode you are using.

Using static load balancing modes

Static load balancing modes distribute connections according to predefined patterns, and take server availability into account. The Link Controller supports the following static load balancing modes:

  • Drop Packet
  • Fallback IP
  • Global Availability
  • None
  • Ratio
  • Round Robin
  • Static Persist
  • Topology

The None and Return to DNS load balancing modes are special modes that you can use to skip load balancing under certain conditions. The other static load balancing modes perform true load balancing as described in the following sections.

Drop Packet mode

When you specify the Drop Packet load balancing mode, the Link Controller does nothing with the packet, and simply drops the request.

Note

A typical LDNS server iteratively queries other authoritative name servers when it times out on a query.

We recommend that you use the Drop Packet load balancing mode only for the fallback method. The Link Controller uses the fallback method when the preferred and alternate load balancing modes do not provide at least one virtual server to return as an answer to a query.

Fallback IP

When you specify the Fallback IP mode, the Link Controller returns the IP address that you specify as the fallback IP as an answer to the query. Note that the IP address that you specify is not monitored for availability before being returned as an answer. When you use the Fallback IP mode, you can specify a disaster recovery site to return when no load balancing mode returns an available virtual server. We recommend that you use the Fallback IP load balancing mode only for the fallback method. The Link Controller uses the fallback method when the preferred and alternate load balancing modes do not provide at least one virtual server to return as an answer to a query.

Global Availability mode

The Global Availability load balancing mode uses the virtual servers included in the pool in the order in which they are listed. For each connection request, this mode starts at the top of the list and sends the connection to the first available virtual server in the list. Only when the current virtual server is full or otherwise unavailable does Global Availability mode move to the next virtual server in the list. Over time, the first virtual server in the list receives the most connections and the last virtual server in the list receives the least number of connections.

None mode

The None load balancing mode is a special mode you can use if you want to skip the current load balancing method, or skip to the next pool in a multiple pool configuration. For example, if you set an alternate method to None in a pool, the Link Controller skips the alternate method and immediately tries the load balancing mode specified as the fallback method. If the fallback method is set to None, and you have multiple pools configured, the Link Controller uses the next available pool.

You could also use the mode to limit each pool to a single load balancing mode. For example, you would set the preferred method in each pool to the desired load balancing mode, and then you would set both the alternate and fallback methods to None in each pool. If the preferred method fails, the None mode in both the alternate and fallback methods forces the Link Controller to go to the next pool for a load balancing answer.

Ratio mode

The Ratio load balancing mode distributes connections among a pool of virtual servers as a weighted Round Robin. For example, you can configure the Ratio mode to send twice as many connections to a fast, new server, and only half as many connections to an older, slower server.

The Ratio load balancing mode requires that you define a ratio weight for each virtual server in a pool, or for each pool if you are load balancing requests among multiple pools. The default ratio weight for a server or a pool is set to 1.

Round Robin mode

The Round Robin load balancing mode distributes connections in a circular and sequential pattern among the virtual servers in a pool. Over time, each virtual server receives an equal number of connections.

Static Persist mode

The Static Persist load balancing mode provides static persistence of local DNS servers to virtual servers; it consistently maps an LDNS IP address to the same available virtual server for the duration of the session. This mode guarantees that certain transactions are routed through a single transaction manager (for example, a Local Traffic Manager or other server array manager); this is beneficial for transaction-oriented traffic, such as e-commerce shopping carts, online trading, and online banking.

Topology mode

The Topology load balancing mode allows you to direct or restrict traffic flow by adding topology records to a topology statement in the configuration file. When you use the Topology load balancing mode, you can develop proximity-based load balancing. For example, a client request in a particular geographic region can be directed to a data center or server within that same region. The Link Controller determines the proximity of servers by comparing location information derived from the DNS message to the topology records.

This load balancing mode requires you to do some advanced configuration planning, such as gathering the information you need to define the topology records. The Link Controller contains an IP classifier that accurately maps local DNS servers, so when you create topology records, you can refer to continents and countries, instead of IP subnets.

See Chapter 10, Working with Topologies , for detailed information about working with this and other topology features.

Using dynamic load balancing modes

Dynamic load balancing modes distribute connections to links that show the best current performance. The performance metrics taken into account depend on the particular dynamic mode you are using.

Types of dynamic load balancing modes

The Link Controller supports the following dynamic load balancing modes:

  • CPU
  • Connection Rate
  • Completion Rate
  • Hops
  • Kilobytes/Second
  • Least Connections
  • Packet Rate
  • Round Trip Times (RTT)
  • Quality of Service (QOS)
  • VS Capacity

CPU mode

The CPU load balancing mode selects the virtual server that currently has the most CPU processing time available to handle name resolution requests.

Connection Rate mode

The Connection Rate mode selects the virtual server that is currently accepting the fewest number of connections.

Completion Rate mode

The Completion Rate load balancing mode selects the virtual server that currently maintains the least number of dropped or timed-out packets during a transaction between a data center and the client LDNS.

Hops mode

The Hops load balancing mode is based on the traceroute utility, and tracks the number of intermediate system transitions (router hops) between a client LDNS and each data center. Hops mode selects a virtual server in the data center that has the fewest router hops from the LDNS server.

Kilobyte/Second mode

The Kilobytes/Second load balancing mode selects a virtual server that is currently processing the fewest number of kilobytes per second.

Note

You can use the Kilobytes/Second mode only with servers for which the Link Controller can collect the kilobytes per second metric.

Least Connections mode

The Least Connections load balancing mode is used for load balancing to virtual servers managed by a load balancing server, such as a Local Traffic Manager. The Least Connections mode simply selects a virtual server on the Local Traffic Manager that currently hosts the fewest connections.

Packet Rate mode

The Packet Rate load balancing mode selects a virtual server that is currently processing the fewest number of packets per second.

Round Trip Times mode

The Round Trip Times (RTT) load balancing mode selects the virtual server with the fastest measured round trip time between a data center and a client LDNS.

Quality of Service mode

The Quality of Service load balancing mode uses current performance information to calculate an overall score for each virtual server, and then distributes connections based on each virtual server's score. The performance factors that the Link Controller takes into account include:

  • Round trip time
  • Hops
  • Connection rate
  • Packet rate
  • Topology
  • Link Capacity
  • VS Capacity
  • Kilobytes/Second

The Quality of Service load balancing mode is a customizable load balancing mode. For simple configurations, you can easily use this load balancing mode with its default settings. For more advanced configurations, you can specify different weights for each performance factor in the equation.

You can also configure the Quality of Service load balancing mode to use the dynamic ratio feature. With the dynamic ratio feature turned on, the Quality of Service mode becomes similar to the Ratio mode, where the connections are distributed in proportion to ratio weights assigned to each virtual server. The ratio weights are based on the QOS scores: the better the score, the higher percentage of connections the virtual server receives.

For details about customizing the Quality of Service mode, see the Customizing the QOS equation .

VS Capacity mode

The VS Capacity load balancing mode creates a list of the virtual servers, weighted by capacity, then picks one of the virtual servers from the list. The virtual servers with the greatest capacity are picked most often, but over time all virtual servers are returned. If more than one virtual server has the same capacity, then the Link Controller load balances using the Round Robin mode among those virtual servers.

Implementing the Quality of Service load balancing mode

The Quality of Service mode is a dynamic load balancing mode that includes a configurable combination of the Round Trip Time (RTT), Completion Rate, Packet Rate, Topology, Hops, Link Capacity, VS Capacity, and Kilobytes/Second (KBPS) modes. The Quality of Service mode is based on an equation that takes each of these performance factors into account. When the Link Controller selects a virtual server, it chooses the server with the best overall score.

The Quality of Service mode has default settings that make it easy to use: simply specify Quality of Service as your preferred load balancing mode. There is no need to configure Quality of Service, but if you want to change the settings, you can customize the equation to put more or less weight on each individual factor. The following topics explain how to use and adjust the various settings.

Understanding QOS coefficients

Table 9.2 lists each Quality of Service (QOS) coefficient, its scale, a likely upper limit for each, and whether a higher or lower value is more efficient.

Table 9.2 QOS coefficients: Default values, ranges, and limits
Coefficient
How measured
Default value
Example
upper limit
Higher or lower?
Packet rate
Packets per second
1
700
Lower
Round trip time
Microseconds
50
2,000,000
Lower
Completion rate
Percentage of successfully transferred packets (0-100%)
5
100%
Higher
Topology
Score that defines network proximity by comparing server and LDNS IP addresses (0-232)
0
100
Higher
Hops
Number of intermediate systems transitions (hops)
0
64
Lower
Link Capacity
Bandwidth usage
30
2,000,000
Higher
VS capacity
Number of nodes up
0
20
Higher
Connection Rate
Percentage of connections made
0
100
Lower
Kilobytes/second
Kilobytes per second throughput
3
15000
Lower

If you change the default QOS coefficients, keep the following issues in mind.

  • Scale
    The raw metrics for each coefficient are not on the same scale. For example, completion rate is measured in percentages, while the packet rate is measured in packets per second.
  • Normalization
    The Link Controller normalizes the raw metrics to values in the range of 0 to10. As the QOS value is calculated, a high measurement for completion rate is good, because a high percentage of completed connections are being made, but a high value for packet rate is not desirable because the packet rate load balancing mode attempts to find a virtual server that is not overly taxed at the moment.
  • Emphasis
    You can adjust coefficients to emphasize one normalized metric over another. For example, consider the following QOS configuration:
    • Round Trip Time: 50
    • Hops: 0
    • Topology: 0
    • Completion Rate: 5
    • Packet Rate: 1
    • VS Capacity: 0
    • Bits/second: 3
    • Link Capacity: 30
    • Connection Rate: 0

In this configuration, if the completion rates for two virtual servers are close, the virtual server with the best packet rate is chosen. If both the completion rates and the packet rates are close, the round trip time (RTT) breaks the tie. In this example, the metrics for Topology, Hops, Link Capacity, VS Capacity, and Kilobytes/Second modes are not used in determining how to distribute connections.

Note

You cannot set a value for both the Round Trip Time and Hops settings simultaneously. In situations where the Link Controller has a value for both settings, the Round Trip Time value is incorporated, while the value for the Hops setting is reset to 0.

Customizing the QOS equation

If you want to establish your own custom settings for the Quality of Service load balancing method, you can do so at any time. You can only customize the Quality of Service equation at the pool level.

To customize the QOS equation

  1. On the Main tab in the navigation pane, expand Local Traffic and then click Pools.
    The main screen for pools opens.
  2. Click the name of the pool for which you want to modify the QOS equation.
    The properties screen for that pool opens.
  3. On the menu bar, click Members.
    The members screen opens.
  4. From either the Preferred or Fallback list, select Quality of Service.
  5. Define the global QOS coefficients in the appropriate fields.
  6. Click the Update button to save your changes.

Using the Dynamic Ratio option

The dynamic load balancing modes also support the Dynamic Ratio option. When you activate this option, the Link Controller treats dynamic load balancing values as ratios, and it uses each server in proportion to the ratio determined by this option. When the Dynamic Ratio option is off, the Link Controller uses only the server with the best result based on the dynamic load balancing mode you implemented (in which case it is a winner-takes-all situation), until the metrics information is refreshed.

Note

By default, the Dynamic Ratio option is off.

To illustrate how the Dynamic Ratio option works, consider a pool, primaryOne, that contains several pool members. This pool is configured so that the Link Controller load balances name resolution requests based on the Round Trip Time load balancing mode. The primaryOne pool contains two pool members: memberOne and memberTwo. For this example, the Link Controller determines that the round trip time for memberOne is 50 microseconds, while the round trip time for memberTwo is 100 microseconds.

If the primaryOne pool has the Dynamic Ratio option disabled (the default setting), the Link Controller always load balances to the pool with the best value. In this case, this results in requests going to memberOne, because it has the lowest round trip time value.

If the primaryOne pool has the Dynamic Ratio option enabled, however, the Link Controller treats the round trip time values as ratios and divide requests among pool members based on these ratios. In this case, this results in memberOne getting twice as many connections as memberTwo, because the round trip time for memberOne is twice as fast as the round trip time for memberTwo. Note that, with the Dynamic Ratio option enabled, both pool members are employed to handle connections, while if the option is disabled, only one pool member receives connections.

To turn on the Dynamic Ratio option

  1. On the Main tab in the navigation pane, expand Local Traffic and then click Pools.
    The main screen for pools opens.
  2. Click the name of the pool for which you want to enable the Dynamic Ratio option.
    The properties screen for the pool opens.
  3. From the Configuration list, select Advanced.
  4. Check the Dynamic Ratio check box
  5. Click the Update button to save your changes.

Configuring inbound load balancing

Once you identify which load balancing methods are best for your network, you can configure the Link Controller to implement those methods. This process ensures that traffic flows through your network as efficiently as possible. You configure inbound load balancing at the wide IP level.

When you define a wide IP, you specify the preferred and alternate load balancing methods to use in selecting a virtual server within the wide IP.

To configure inbound load balancing

  1. On the Main tab in the navigation pane, expand Link Controller and then click Inbound Wide IPs.
    The main wide IP screen opens.
  2. Click the name of the wide IP to which you want to configure load balancing.
    The properties screen for the wide IP opens.
  3. In the Load Balancing Method setting, select the appropriate preferred, alternate and fallback load balancing methods.
  4. Click the Finished button to save your changes.

Changing the load balancing methods

By default, the preferred load balancing method is set to Quality of Service, and the alternate and fallback load balancing methods are set to Round Robin. For details on these load balancing modes as well as the additional load balancing modes, see Introducing inbound load balancing .

Using the round robin LDNS wide IP attribute

Round Robin LDNS is an attribute that you can use in conjunction with any load balancing mode. The round robin LDNS attribute allows the Link Controller to return a list of available virtual servers, instead of a single virtual server. Certain browsers keep the answer returned by DNS servers. By enabling this attribute, the Link Controller returns a maximum of 16 virtual servers as the answer to a DNS resolution request. This provides browsers with alternate answers if a virtual server becomes unavailable.

Adjusting the QOS coefficients

You can adjust the QOS coefficients to best match your load balancing requirements. By default, only the Link Capacity coefficient has a value. For more information on working with the QOS coefficients, see Understanding QOS coefficients .




Table of Contents   |   << Previous Chapter   |   Next Chapter >>

Was this resource helpful in solving your issue?




NOTE: Please do not provide personal information.



Incorrect answer. Please try again: Please enter the words to the right: Please enter the numbers you hear:

Additional Comments (optional)