Global Traffic Manager provides a tiered load balancing system
in which load balancing occurs at more than one point during the name resolution request process. The tiers within Global Traffic Manager are as follows:
| || |Pool-level load balancing
A pool contains one or more virtual servers. After Global Traffic Manager uses wide IP-level load balancing to select the best available pool, it uses pool-level load balancing to select a virtual server within that pool.
When Global Traffic Manager receives a name resolution request, the
system employs a load balancing mode to determine the best available virtual server to which to send the request. If the first virtual server within a pool is unavailable, Global Traffic Manager selects the next best virtual server based on the load balancing method assigned to that pool. To help you understand how load balancing works, we characterize the available load balancing modes as either static or dynamic load balancing modes.
| || |Preferred
You can select either a static or a dynamic load balancing mode from this list.
| || |
AlternateYou can select only a static load balancing mode from this list, because dynamic load balancing modes, by definition, rely on metrics collected from different resources. If the preferred load balancing mode does not return a valid resource, it is likely that Global Traffic Manager was unable to acquire the proper metrics to perform the load balancing operation. By limiting the alternate load balancing method to static load balancing modes only, Global Traffic Manager can better ensure that, should the preferred method prove unsuccessful, the alternate method returns a valid result.
| || |Fallback
You can select either a static or a dynamic load balancing mode from this list.
Global Traffic Manager attempts to load balance a name resolution request
using the preferred load balancing method first. If the preferred method fails to provide a valid resource, the system uses the alternate method. Should the alternate method also fail to provide a valid resource, the system uses the fallback method. If all of the load balancing methods that are configured for a pool fail, then the request fails, or the system falls back to DNS. After Global Traffic Manager identifies a virtual server, it constructs a Domain Name System (DNS) answer and sends that answer back to the requesting client's local domain system server (LDNS). The DNS answer, or resource record, can be either an A record, a AAAA record that contains the IP address of the virtual server, or a CNAME record that contains the canonical name for a DNS zone.
shows a list of the supported static load balancing modes. Table 7.2
shows a list of the supported dynamic load balancing modes. Both tables indicate where you can use each mode in the Global Traffic Manager configuration.
Static load balancing modes
distribute connections across the network according to predefined patterns, and take server availability into account. Global Traffic Manager supports the following static load balancing modes:
The None and Return to DNS 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.
When you choose the Drop Packet
mode, Global Traffic Manager does nothing with the packet, and simply drops the request. Note that if you do not want Global Traffic Manager to return an address that is potentially unavailable, F5 Networks recommends that you select Drop Packet from the Alternate load balancing method list.
When you choose the Fallback IP mode, Global Traffic Manager answers a
query by returning the IP address that you specify as the fallback IP. 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 that Global Traffic Manager return a disaster recovery site when no load balancing mode returns an available virtual server. F5 Networks recommends that you use the Fallback IP mode only for the fallback load balancing method. Global Traffic Manager uses the fallback method only when the preferred and alternate methods do not provide at least one virtual server to return as an answer to a query.
The Global Availability 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 the 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.
The None 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, Global Traffic Manager skips the alternate method and immediately tries the mode specified as the fallback method. If the fallback method is set to None
, and you have multiple pools configured, Global Traffic Manager uses the next available pool. If all pools become unavailable, Global Traffic Manager returns an aggregate of the IP addresses of all pool members using BIND.
You can also use this mode to limit each pool to a single load balancing
mode. For example, you can set the preferred method in each pool to the desired mode, and then you can set both the alternate and fallback methods to None
in each pool. If the preferred method fails, the None
value for both the alternate and fallback methods forces Global Traffic Manager to go to the next pool for a load balancing answer.
The Ratio mode distributes connections among a pool of virtual servers as a
weighted round robin. Weighted round robin
refers to a load balancing pattern in which Global Traffic Manager rotates connection requests among several resources based on a priority level, or weight, assigned to each resource. 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 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
The Return to DNS immediately returns connection requests to the LDNS
for resolution. This mode is particularly useful if you want to temporarily remove a pool from service, or if you want to limit a pool in a single pool configuration to only one or two load balancing attempts.
The Round Robin 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.
The Static Persist mode uses the persist mask with the source IP address of
the LDNS in a deterministic algorithm to map to a specific pool member (virtual server) in a pool. Like the Global Availability mode, the Static Persist mode resolves to the first available pool member; however, the list of pool members is ordered in a significantly different manner. With the Global Availability mode, a system administrator manually configures the order of the members in the list. With the Static Persist mode, Global Traffic Manager uses a hash algorithm to determine the order of the members in the list.
This hash algorithm orders the pool members in the list differently for each
LDNS that is passing traffic to the system taking into account the specified CIDR of the LDNS. Thus, while each LDNS (and thus each client) generally resolves to the same virtual server, the Global Traffic Manager system distributes traffic across all of the virtual servers.
When the selected virtual server becomes unavailable, the system resolves
requests to another virtual server. When the original virtual server becomes available again, the system resolves requests to that virtual server.
The Topology 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 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. Global Traffic Manager 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. Global Traffic Manager contains an IP classifier that accurately maps the LDNS, so when you create topology records, you can refer to continents and countries, instead of IP subnets.
Dynamic load balancing modes
distribute connections to servers that show the best current performance. The performance metrics taken into account depend on the particular dynamic mode you are using.
All dynamic modes make load balancing decisions based on the metrics
collected by the big3d
agents running in each data center. The big3d
agents collect the information at set intervals that you define when you set the global timer variables. If you want to use the dynamic load balancing modes, you must run one or more big3d
agents in each of your data centers, to collect the required metrics.
The Completion Rate 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 clients LDNS.
The Hops mode is based on the traceroute
utility, and tracks the number of intermediate system transitions (router hops) between a clients LDNS and each data center. Hops mode selects a virtual server in the data center that has the fewest router hops from the LDNS.
The Kilobytes/Second mode selects the virtual server that is currently
processing the fewest number of kilobytes per second. You can use this load balancing mode only with servers for which Global Traffic Manager can collect the kilobytes per second metric.
The Least Connections mode is used for load balancing to virtual servers
managed by a load balancing server, such as a Local Traffic Manager server. The Least Connections mode simply selects a virtual server on the Local Traffic Manager system that currently hosts the fewest connections.
The Quality of Service mode uses current performance information to
calculate an overall score for each virtual server, and then distributes connections based on those scores. The performance factors that Global Traffic Manager takes into account include:
illustrates the equation that Global Traffic Manager uses to calculate the overall QoS score.
| |QoS_RTT * (QoSFACTOR_RTT / rtt) * 10 +
QoS_HOPS * (QoSFACTOR_HOPS / hops) +
QoS_HIT_RATIO * (hit_ratio / QoSFACTOR_HIT_RATIO) +
QoS_PACKET_RATE * (QoSFACTOR_PACKET_RATE / packet_rate) * 100 +
QoS_BPS * (QoSFACTOR_BPS / bps ) +
QoS_TOPOLOGY * (topology/ QoSFACTOR_TOPOLOGY) +
QoS_VS_CAPACITY * vs_capacity_score +
QoS_VS_SCORE * vs_score + 10 *
QoS_LCS * lcs_score
The Quality of Service mode is a customizable load balancing mode. For
simple configurations, you can easily use this 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 mode to use the dynamic ratio
feature. When you activate the dynamic ratio feature, the Quality of Service mode functions similarly to the Ratio mode; 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.
When Global Traffic Manager selects a virtual server, it chooses the server
with the best overall score. In the event that one or more resources has an identical score based on the Quality of Service criteria, Global Traffic Manager load balances connections between those resources using the Round Robin mode. If the system cannot determine a Quality of Service score, it load balances connections across all pool members using the Round Robin mode, as well.
The Virtual Server Score mode instructs Global Traffic Manager to assign
connection requests to virtual servers based on a user-defined ranking system. This load balancing mode is available only for managing connections between virtual servers controlled by Local Traffic Manager systems.
Unlike other settings that affect load balancing operations, you cannot
assign a virtual server score to a virtual server through Global Traffic Manager. Instead, you assign this setting through the Local Traffic Manager system that is responsible for the virtual server. For more information, see the F5 DevCentral web site: http://devcentral.f5.com
The VS Capacity 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 Global Traffic Manager load balances using the Round Robin mode among those virtual servers.
The dynamic load balancing modes also support the Dynamic Ratio
option. When you activate this option, Global Traffic Manager 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 disabled, Global Traffic Manager 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.
To illustrate how the Dynamic Ratio
setting works, consider a pool, primaryOne
, that contains several pool members. This pool is configured so that Global Traffic Manager load balances name resolution requests based on the Round Trip Time mode. The primaryOne
pool contains two pool members: memberOne
. For this example, Global Traffic Manager determines that the round trip time for memberOne
microseconds, while the round trip time for memberTwo
If the primaryOne
pool has the Dynamic Ratio
setting disabled (the default setting), Global Traffic Manager 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
setting enabled, however, Global Traffic Manager 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 tha, 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.
The fallback method is unique among the three load balancing methods that
you can apply to a pool. Unlike the preferred and alternate methods, the fallback method ignores the availability status of a resource. This occurs to ensure that Global Traffic Manager returns a response to the DNS request. However, you can opt to verify that a virtual server is available even when the load balancing mode changes to the specified Fallback method. To do this, you enable the Respect Fallback Dependency option on the System Configuration Global Traffic Load Balancing screen.
Global Traffic Manager contains several options that help you control how
the system responds when using a fallback load balancing setting. These options allow you to:
Enabling the Ignore Path TTL
option instructs Global Traffic Manager to use path information gathered during metrics collection even if the time-to-live value for that information has expired. This option is often used when you want the system to continue using a dynamic load balancing mode even if some metrics data is temporarily unavailable, and you want Global Traffic Manager to use old metric data rather than employ an alternate load balancing method. This option is disabled by default.
The Verify Virtual Server Availability
option instructs Global Traffic Manager to verify that a virtual server is available before returning it as a response to a name solution request. If this option is disabled, the system responds to a name resolution request with the virtual servers IP address regardless of whether the server is up
. This option is enabled by default,and is rarely disabled outside of a test or staging environment.