XML load objects

A custom load object is an XML or plain text file that describes load conditions on customer servers. XML load objects provide full information needed for dynamic targets. When Global Traffic Management is configured to use load feedback using custom load object, it periodically fetches a fresh load object using HTTP or HTTPS.

For each data center, the load object provides the following values for each resource:
  • Current-load is the current load on the resource. For example, if the resource represents TCP connections, it would be the current number of TCP connections.
  • Target-load is the load at which load shifting should begin. Load shifting does not occur until the current-load exceeds the target-load.
  • Capacity indicates the capacity of the resource; the load balancer will work very hard to avoid letting current-load exceed capacity.

A resource can constrain just one property in a data center, or it can constrain all properties. For example, you might define a resource called search-load, representing CPU utilization on a search engine server, and this resource would constrain only one property called search. Or you could define a resource called bandwidth, representing total bandwidth consumption by the data center, and this resource would constrain all properties in the data center. Using Control Center, you tell GTM whether a resource constrains just one property or all properties.

By default, GTM will fetch the load object every 30 seconds.

Note: The load object must be accurate, timely, and available. If it is inaccurate, GTM cannot correctly balance the load. If it is not timely, meaning, if the load data it reports is not up to date, load oscillations can occur because GTM is not able to detect the results of load balancing decisions it makes soon enough. If it is unavailable for any reason, such as HTTP GET fails, the CGI script throws an error, or the server refuses connection, GTM will continue to use the most recent load data it was able successfully to fetch.

GTM must fetch a load object for each data center from a server you define. Use Control Center to tell GTM the name or IP address of the server and the relative URL of the load object, and whether to use HTTP or HTTPS to fetch it. You configure one or more load servers for each data center. GTM gets the load object for each data center by fetching the load object from the load servers you defined for that data center. It's OK if the load object contains load information for other data centers; the extra information will be ignored.

The timestamp attribute is in xsd:dateTime syntax and represents the time at which the load was sampled. (The Z in the example means GMT; other time zones will work but we strongly recommend using GMT. The T in the example is the separator between the date and time mandated by the XML Schema Recommendation.) If the timestamp is too far in the past, GTM will raise an alert. If the load object fails any other validity checks, for example, if the timestamp is more than about ten minutes in the future, or if it has invalid XML syntax or a mismatched domain or data center name, GTM will ignore the data, continue to use the most recently fetched good data, and raise an alert.