Manual Chapter : About load balancing and resource availability

Applies To:

Show Versions Show Versions

BIG-IP DNS

  • 17.1.1, 17.1.0, 17.0.0, 16.1.5, 16.1.4, 16.1.3, 16.1.2, 16.1.1, 16.1.0, 16.0.1, 16.0.0, 15.1.10, 15.1.9, 15.1.8, 15.1.7, 15.1.6, 15.1.5, 15.1.4, 15.1.3, 15.1.2, 15.1.1, 15.1.0, 15.0.1, 15.0.0
Manual Chapter

About load balancing and resource availability

BIG-IP DNS load balances DNS name resolution requests to resources based on availability. A resource is available when it meets one or more pre-defined requirements. BIG-IP DNS uses three methods to determine resource availability: a dependency on another resource, limit settings, or a set of values returned by a monitor. When BIG-IP DNS considers a resource unavailable, BIG-IP DNS attempts to select the next resource based on the current load balancing method.

About virtual server dependency

Within BIG-IP DNS, you can configure a virtual server to be available based on the availability of other virtual servers.
Consider the fictional company SiteRequest. One of the servers, serverMain, at the Tokyo data center has two virtual servers: vsContact, which points to the contacts page of the web site, and vsMail, which points to the mail system. The vsMail virtual server is in the Dependency List of the vsContact virtual server. As a result, BIG-IP DNS considers the vsContact virtual server available only if the vsMail virtual server is also available.

Configuring virtual server availability to be dependent on the status of other virtual servers

Ensure that multiple virtual servers are configured on the server. Determine the virtual servers upon which you want the availability of a virtual server to be dependent.
Configure a virtual server to be available based on the availability of other virtual servers by configuring a
Dependency List
for the virtual server.
  1. On the Main tab, click
    DNS
    GSLB
    Servers
    .
    The Server List screen opens.
  2. In the Server List area, click a server name.
    The server settings and values display.
  3. On the menu bar, click
    Virtual Servers
    .
    A list of the virtual servers configured on the server displays.
  4. In the Virtual Servers list, click a virtual server name.
    The virtual server settings and values display.
  5. From the
    Configuration
    list, select
    Advanced
    .
    Additional controls display on the screen.
  6. In the Dependency List area, from the
    Virtual Servers
    list, select each virtual server on which you want the virtual server to be dependent, and then click
    Add
    .
    The virtual servers display in the list as you add them.
  7. Click
    Finished
    .
The virtual server is now available only when the virtual servers on the dependency list are also available.

Limit settings for resource availability

This table describes the limit settings BIG-IP DNS uses to determine resource availability. A
limit setting
is a threshold for a statistic associated with a system.
Limit setting
Server-level
Pool-level
Virtual Server-level
BIG-IP Systems
Other Load Balancers
Hosts
Maximum allowable throughput in bits per second
Y
Y
Y
Y
Y
Y
Packets
Y
Y
Y
Y
Y
Y
Current connections
Y
Y
Y
Y
Y
Y
Connection
N
N
Y
Y
N
N
CPU
Y
N
N
N
Y
Y
Memory
Y
N
N
N
Y
Y

About wide IP-level load balancing

BIG-IP DNS selects pools based on the order in which they are listed in a wide IP. When you organize pools in conjunction with the Global Availability, Ratio, Round Robin, and Topology load balancing methods, consider the order in which the pools are listed in the Pool List.
The Global Availability load balancing method instructs BIG-IP DNS to select the first pool in the wide IP pool list until it becomes unavailable, and then to select the next pool in the list until the first pool becomes available again. This ensures that the most robust pool receives DNS name resolution requests, while the other pools act as backups in case the primary pool becomes unavailable.
A pool is available if it can provide an answer from any of the configured response methods: Preferred load balancing (LB), Alternate LB, Fallback LB, or Fallback IP. Load balancing methods which do not depend on member availability, such as Drop Packet or Return to DNS, will render the pool available even when all members are marked down.

About the Global Availability load balancing method

The
Global Availability
load balancing method distributes DNS name resolution requests based on the order of resources in a list. Using global availability, BIG-IP DNS sends a request to the first available resource in a list. Only when a resource becomes unavailable does BIG-IP DNS send requests to the next resource in the list. You can only select the next resource in the list if the Fallback load balancing method is set to None. Over time, the first resource in the list receives the most requests and the last resource in the list receives the least requests.

Testing global server load balancing without verifying availability of virtual servers

You can configure BIG-IP DNS load balancing in a staging environment to load balance DNS name resolution requests to virtual servers without verifying the availability of the virtual servers.
  1. On the Main tab, click
    DNS
    Settings
    GSLB
    Load Balancing
    .
    The Load Balancing configuration screen opens.
  2. Deselect the
    Verify Virtual Server Availability
    check box.
  3. Click
    Update
    .

About the Ratio load balancing method

The
Ratio
load balancing method distributes DNS name resolution requests among the virtual servers in a pool or among pools in a multiple pool configuration using
weighted round robin
, a load balancing pattern in which requests are distributed among several resources based on a priority level or weight assigned to each resource.
Using the Ratio method, you can configure BIG-IP DNS to send twice as many connections to a fast, new server, and half as many connections to an older, slower server.

About wide IPs and weighting pools for the Ratio load balancing method

When you configure a wide IP to use the Ratio load balancing method, BIG-IPDNS load balances DNS name resolution requests across the pools in the wide IP based on the weight assigned to each pool. BIG-IP DNS uses pool weight as a percentage of the total of the weights of all the pools in the wide IP to determine the frequency at which a pool receives connection requests.
Consider the fictional company SiteRequest, where the wide IP
www.siterequest.com
contains three pools, with the following weight assignments:
  • Pool 1: weight 50
  • Pool 2: weight 25
  • Pool 3: weight 25
Each time BIG-IP DNS selects this wide IP, it load balances DNS name resolution requests across all three pools. Over time, the load balancing statistics for this wide IP appear as follows:
  • Pool 1: selected 50 percent of the time
  • Pool 2: selected 25 percent of the time
  • Pool 3: selected 25 percent of the time

About pools and weighting pool members for the Ratio load balancing method

When you configure a pool to use the Ratio load balancing method, BIG-IP DNS, formerly Global Traffic Manager (GTM), load balances requests across the pool members based on the weight assigned to each pool member (virtual server). The system uses pool member weight as a percentage of the total of the weights of all the members assigned to the pool to determine the frequency at which a pool member receives connection requests.
Consider the fictional company SiteRequest, where the wide IP
www.siterequest.com
contains a pool named poolMain. This pool contains three members, with the following weight assignments:
  • Virtual Server 1: weight 50
  • Virtual Server 2: weight 25
  • Virtual Server 3: weight 25
Each time BIG-IP DNS selects this pool, it load balances across all three members. Over time, the load balancing statistics for this pool appear as follows:
  • Virtual Server 1: selected 50 percent of the time
  • Virtual Server 2: selected 25 percent of the time
  • Virtual Server 3: selected 25 percent of the time

About the Round Robin load balancing method

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

About pool-level load balancing

BIG-IP DNS provides three tiers of pool-level load balancing to identify a virtual server to handle a DNS name resolution request.
Preferred Load Balancing Method
The first load balancing method that BIG-IP DNS uses to return the IP address of a virtual server in response to a DNS name resolution request. The preferred method can be either static or dynamic.
Alternate Load Balancing Method
If the preferred load balancing method fails to return a valid resource in response to a DNS name resolution request, it is likely that BIG-IP DNS was unable to acquire the proper metrics to perform load balancing. The alternate method can be only static.
Fallback Load Balancing Method
If the alternate load balancing method fails to return a valid resource in response to a DNS name resolution request, BIG-IP DNS uses the fallback method. To ensure that BIG-IP DNS returns a response to a request, the fallback method ignores the availability status of a resource. The fallback method can be either static or dynamic.
When the fallback method is set to Return to DNS, the response from BIND is processed the same as any other DNS packet. If the response from BIND matches a wide IP, the load balancing algorithm may use a downed pool. If the downed pool is not configured to select another pool based on availability of the pool members, you can select a downed pool. For this scenario, BIND is not used a second time.
If all of the configured load balancing methods fail to provide a valid resource in response to a DNS name resolution request, either the request fails or BIG-IP DNS uses the local BIND to resolve the request.

About the Drop Packet load balancing method

The
Drop Packet
load balancing method indicates that BIG-IP DNS drops a DNS name resolution request. This load balancing method is most often selected for the Alternate load balancing method to ensure that BIG-IP DNS does note return an IP address for an unavailable resource.

About the Virtual Server Score load balancing method

The
Virtual Server Score
load balancing method distributes DNS name resolution requests to pool members (virtual servers) based on a user-defined ranking system.
This method can be used only for distributing requests to pool members controlled by BIG-IP Local Traffic Manager (LTM) systems.

About the Virtual Server Capacity load balancing method

The
Virtual Server Capacity
load balancing method distributes DNS name resolution requests to pool members (virtual servers) based on a system-generated list of pool members (virtual servers) weighted by capacity. BIG-IP DNS selects the pool member with the greatest capacity most often, but over time, all pool members are returned in responses. When pool members have the same capacity, BIG-IP DNS uses the Round Robin method to select a pool member.

About the Round Trip Times load balancing method

The
Round Trip Times
load balancing method distributes DNS name resolution requests to the pool member (virtual server) with the fastest measured round trip time between a data center and a client's LDNS.

About the Packet Rate load balancing method

The
Packet Rate
load balancing method distributes DNS name resolution requests to the pool member (virtual server) that is currently processing the fewest number of packets per second.

About the Least Connections load balancing method

The
Least Connections
load balancing method distributes DNS name resolution requests to pool members (virtual servers) that are managed by load balancing servers, such as BIG-IP Local Traffic Manager (LTM). BIG-IP DNS selects a pool member that currently hosts the fewest connections.

About the Kilobyte/Second load balancing method

The
Kilobyte/Second
load balancing method distributes DNS name resolution requests to the pool member (virtual server) that is currently processing the fewest number of kilobytes per second.
This method can be used only with servers for which BIG-IP DNS can collect the kilobytes per second metric.

About the Hops load balancing method

The
Hops
load balancing method distributes DNS name resolution requests based on the
traceroute
utility and tracks the number of intermediate system transitions (router hops) between a client's LDNS and each data center. BIG-IP DNS distributes requests to a pool member in the data center that is the fewest router hops from the LDNS.

About the Completion Rate load balancing method

The
Completion Rate
load balancing method distributes DNS name resolution requests to the pool member (virtual server) that currently maintains the least number of dropped or timed-out packets during a transaction between a pool member in a data center and the client's LDNS.

About the CPU load balancing method

The
CPU
load balancing method distributes DNS name resolution requests to the pool member (virtual server) that currently has the most CPU processing time available.

About the Return to DNS load balancing method

The
Return to DNS
load balancing method immediately returns DNS name resolution requests to the LDNS for resolution. When you use this load balancing method, for client queries, the BIG-iP system increments the Return to DNS statistics; otherwise, the system increments the Return from DNS statistics.
Use this method when you want to temporarily remove a pool from service or when you want to limit a pool, in a single pool configuration, to only one or two request attempts.

About Static Persist load balancing

The Static Persist load balancing method uses the persist mask, with the source IP address of the LDNS, in a deterministic algorithm to send requests to a specific pool member (virtual server). Using this method, BIG-IP DNS sends DNS name resolution requests to the first available pool member based on a hash algorithm that determines the order of the pool members. This algorithm orders the pool members differently for each LDNS that is sending requests to BIG-IP DNS, taking into account the Classless Inter-Domain Routing (CIDR) of the LDNS. As BIG-IP DNS distributes requests across all pool members, requests from each LDNS (and thus, each client) are generally sent to the same pool member. When the selected pool member becomes unavailable, BIG-IP DNS sends requests to another pool member. When the original pool member becomes available again, BIG-IP DNS sends requests to that pool member.

About the Fallback IP load balancing method

The
Fallback IP
load balancing method distributes DNS name resolution requests to a specific user-specified IP address. This IP address is not monitored for availability. Use this load balancing method only for the Fallback IP method and specifically to provide a disaster recovery site.

Verifying the availability of virtual servers when using the fallback load balancing method

You can configure BIG-IP DNS to verify that a virtual server is up before returning the IP address of the virtual server in a response to a DNS name resolution request. Do this when the preferred and alternate load balancing methods assigned to a pool do not return a valid response and BIG-IP DNS begins to use the configured fallback load balancing method.
  1. On the Main tab, click
    DNS
    Settings
    GSLB
    Load Balancing
    .
    The Load Balancing configuration screen opens.
  2. Select the
    Respect Fallback Dependency
    check box.
  3. Click
    Update
    .

About the None load balancing method

The
None
load balancing method skips the current load balancing method, distributes DNS name resolution requests to the next available pool in a multi-pool configuration.
If the alternate load balancing method for a pool is None, BIG-IP DNS skips the alternate method and immediately tries the fallback method. If the fallback method is None, and there are multiple pools configured, BIG-IP DNS uses the next available pool. You can only select the next pool in the list if the fallback load balancing method is set to None. If all pools are unavailable, BIG-IP DNS returns an aggregate of the IP addresses of all pool members using BIND. Alternatively, when the preferred method for all pools is configured, but the alternate and fallback methods are set to None, if the preferred method fails, BIG-IP DNS uses the next available pool.

About the QoS load balancing method

The
Quality of Service (QoS)
dynamic load balancing method uses current performance metrics to calculate an overall QoS score for each pool member (virtual server). When load balancing DNS name resolution requests, BIG-IP DNS selects a virtual server with the best overall QoS score. If virtual servers have identical scores, BIG-IP DNS load balances connections to those virtual servers using the round robin method. If QoS scores cannot be determined, BIG-IP DNS load balances connections across all pool members using the round robin method.

Understanding the QoS equation

The equation for calculating the overall Quality of Service (QoS) score is:
POOL_CONFIG->rtt * (GLOBALS->rtt / path->rtt) * 10 + POOL_CONFIG->hops * (GLOBALS->hops / path->hops) + POOL_CONFIG->hit_ratio * (path->hit_ratio / GLOBALS->hit_ration+ POOL_CONFIG->packet_rate * (GLOBALS->packet_rate / vs->packet_rate) * 100 + POOL_CONFIG->bps * (GLOBALS->bps / vs->bps) + POOL_CONFIG->topology * (topology_match->score / GLOBALS->topology) + POOL_CONFIG->vs_capacity * vs->cur_serv_cnt + POOL_CONFIG->vs_score * vs->cur_vs_score + POOL_CONFIG->lcs * vs->link->lcs * 10
Pool members (virtual servers) inherit the QoS settings from the pool. In the equation, the value of POOL_CONFIG->"setting name" can be found in the properties of a pool, the value of GLOBALS->"setting name" in the global BIG-IP DNS setting, and the value of path->"setting name" These are measured values that come from path metrics. If there are no path metrics, the system does not perform path metric calculations and computes the QoS score using the other calculations. vs->"field" These are measured values that come from measurements the system makes on virtual servers. If there are no measurements, the system does not perform these calculations and computes the QoS score using the other calculations. Each QoS coefficient, its scale, default value, upper limit, and whether a higher or lower value is more efficient are defined in the table.
QoS coefficients defined
Coefficient
Scale
Default value
Upper limit
Is higher or lower value more efficient?
Round trip time (rtt)
Microseconds
50
2,000,000
L
Completion rate (hit ratio)
Percentage of successfully transferred packets (0-100%)
5
100%
H
Hops
Number of intermediate systems transitions
0
64
L
Packet rate
Packets per second
1
700
L
bits/second
Bits per second throughput
3
15000
L
Topology
Score that defines network proximity by comparing server and LDNS IP addresses (0-2
32
)
0
100
H
Virtual server capacity (vs capacity)
Number of nodes up
0
20
H
Virtual server score (vs score)
User-defined ranking of virtual servers
0
100
H
Link capacity (lcs)
Based on the target dynamic ratio
30
2,000,000
H

About customizing the QoS equation

When you customize the QoS equation, consider these three concepts:
Scale
The raw metrics for the coefficients in the QoS equation are on different scales. For example, completion rate is measured in percentages, while packet rate is measured in packets per second.
Normalization
BIG-IP DNS normalizes the raw metrics to values in the range of 0 - 10.
Emphasis
You can adjust coefficients to emphasize one normalized metric over another.
When you customize the QoS equation configuration using the values in the table, if the completion rates for two virtual servers are close, the system chooses the virtual server with the best packet rate. If both the completion rates and the packet rates are close, the round trip time (RTT) breaks the tie. In this example, BIG-IP DNS does not use the metrics for topology, hops, link capacity, vs capacity, and kilobytes/second to determine how to distribute connections.
You can set a value for either RTT or hops. If you set both, BIG-IP DNS incorporates the RTT and resets the hops to 0 (zero).
Coefficient
Value
Round Trip Time
50
Hops
0
Topology
0
Completion Rate
5
Packet Rate
10
VS Capacity
0
Bits/second
35
Link Capacity
30
Virtual Server Score
10
Kilobytes/Second (KBPS)
3

Customizing the QoS equation for load balancing global traffic

Determine the pool to which you want to apply a customized QoS equation.
Customize the QoS equation to load balance the DNS name resolution requests the members of this pool handle.
  1. On the Main tab, click
    DNS
    GSLB
    Pools
    .
  2. Click the name of the pool for which you want to modify the QoS equation.
    The Pool Properties screen displays.
  3. On the menu bar, click
    Members
    .
    The Members Properties screen displays.
  4. Select
    Quality of Service
    from either the
    Preferred
    or
    Fallback
    list.
    The Quality of Service Weights area displays.
  5. Define the QoS coefficients for this pool.
  6. Click
    Update
    .

About dynamic ratio load balancing

When you use dynamic ratio load balancing, BIG-IP DNS treats dynamic load balancing values as ratios, and distributes DNS name resolution requests to the virtual servers in the pool in proportion to these ratios.
Consider a pool named primaryOne, which contains two virtual servers: memberOne and memberTwo. primaryOne is configured with the Preferred load balancing method set to
Round Trip Time
. BIG-IP DNS determines that the round trip time for memberOne is 50 microseconds and the round trip time for memberTwo is 100 microseconds. When the
Dynamic Ratio
setting on the primaryOne pool is disabled, BIG-IP DNS always sends DNS name resolution requests to memberOne, because that virtual server has the lowest round trip time value. When the
Dynamic Ratio
setting on the primaryOne pool is enabled, BIG-IP DNS treats the round trip time values as ratios and sends twice as many DNS name resolution requests to memberOne as it sends to memberTwo, because the round trip time for memberOne is twice as fast as the round trip time for memberTwo.

Distributing DNS requests based on weighted virtual servers

Determine the pool to which you want to apply the dynamic ratio feature.
Configure BIG-IP DNS to use dynamic load balancing values as ratios, and distribute DNS name resolution requests to virtual servers in a pool in proportion to these ratios.
  1. On the Main tab, click
    DNS
    GSLB
    Pools
    .
    The Pools list screen opens.
  2. Click the name of the pool that you want to modify.
  3. From the
    Configuration
    list, select
    Advanced
    .
  4. Select the
    Dynamic Ratio
    check box.
  5. Click
    Update
    .

Using the preferred load balancing method when metrics are unavailable

Configure BIG-IP DNS to use the preferred load balancing method assigned to a pool even when metrics for the pool are unavailable. BIG-IP DNS uses old metrics, rather than the alternate load balancing method assigned to the pool.
  1. On the Main tab, click
    DNS
    Settings
    GSLB
    Load Balancing
    .
    The Load Balancing configuration screen opens.
  2. Select the
    Ignore Path TTL
    check box.
  3. Click
    Update
    .
BIG-IP DNS uses path information gathered during metrics collection even if the time-to-live (TTL) value of that information has expired.

Configuring the resources in a pool for manual resume

Determine the pool to which you want to apply the manual resume feature.
When a virtual server goes offline, BIG-IP DNS proceeds to send DNS name resolution requests to other virtual servers, based on the current load balancing method. By default, when the virtual server becomes available again, BIG-IP DNS resumes sending requests to that resource. When you do not want BIG-IP DNS to resume to send requests to the virtual servers in a pool immediately after the resources become available, enable the manual resume feature on the pool.
  1. On the Main tab, click
    DNS
    GSLB
    Pools
    .
    The Pools list screen opens.
  2. Click the name of the pool that you want to modify.
  3. From the
    Configuration
    list, select
    Advanced
    .
  4. Select the
    Manual Resume
    check box.
  5. Click
    Update
    .
After a virtual server in this pool goes offline, you must manually enable the virtual server before BIG-IP DNS can resume sending requests to the virtual server.

Restoring availability of a pool member manually

Determine the virtual server that you want to manually enable.
When a virtual server in a pool that is configured for manual resume becomes available, you must manually enable the virtual server before BIG-IP DNS can begin sending DNS name resolution requests to the virtual server.
  1. On the Main tab, click
    DNS
    GSLB
    Pools
    .
    The Pools list screen opens.
  2. Click the name of the pool to which the virtual server you want to enable belongs.
  3. On the menu bar, click
    Members
    .
  4. Select the check box next to the virtual server that you want to enable, and then click
    Enable
    .
The virtual server is now available to receive DNS name resolution requests.

Best Practices: Dynamic load balancing and performance configuration

How do I ensure that the
BIG-IP DNS (formerly GTM)
has timely access to path and network traffic metrics?

Run a
big3d
agent on at least one BIG-IP system in each data center to ensure that the
BIG-IP DNS
has timely access to path and network traffic metrics.

How do I ensure that
BIG-IP DNS
can gather information for dynamic load balancing?

If you use dynamic load balancing modes, you must run a
big3d
agent on every BIG-IP system in your network.

How do I configure
BIG-IP DNS
for the best performance?

The load on the
big3d
agents depends on the timer settings that you assign to the different types of data the agents collect. The shorter the timers, the more frequently the agent needs to refresh the data. While short timers guarantee that you always have valid data readily available for load balancing, they also increase the frequency of data collection.
The more local DNS servers that make resolution requests, the more path data that the
big3d
agents have to collect. While round trip time for a given path may vary constantly due to current network load, the number of hops along a network path between a data center and a specific LDNS does not often change. Consequently, you may want to set short timer settings for round trip time data so that it refreshes more often, but set high timer settings for hops data because it does not need to be refreshed often.

Troubleshooting

If you turn off the
big3d
agent on a BIG-IP system, the
BIG-IP DNS
can no longer check the availability of the server or its virtual servers. Therefore, the statistics screens display the status of these servers as unknown.