Dynamic Throttling

When a large download becomes available, each link in your deployment might have unique bandwidth issues. There are server-to-client, server-to-relay, and relay-to-client links to consider, and each might require individual adjustment. As explained in the previous section, it is possible to set a maximum value (throttle) for the data rates, and for this there are broad-based policies you can follow. You might, for example, throttle a client to 2KB/sec if it is more than three hops from a relay. However, the optimal data rates can vary significantly, depending on the current hierarchy and the network environment.

A better technique is to use dynamic bandwidth throttling, which monitors and analyzes overall network capacity. Whereas normal throttling simply specifies a maximum data rate, dynamic throttling adds a busy time percentage. This is the fraction of the bandwidth that you want to allocate when the network is busy. For example, you could specify that downloads must not use more than 10% of the available bandwidth whenever IBM BigFix detects existing network traffic. Dynamic throttling also provides for a minimum data rate, in the case that the busy percentage is too low to be practical.

When you enable dynamic throttling for any given link, IBM BigFix monitors and analyzes the existing data throughput to establish an appropriate data rate. If there is no competing traffic, the throughput is set to the maximum rate. In the case of existing traffic, it throttles the data rate to the specified percentage or the minimum rate, whichever is higher.

You control dynamic bandwidth throttling with computer settings. There are four basic settings for each link:

DynamicThrottleEnabled
This setting defaults to zero (disabled). Any other value enables dynamic throttling for the given link.
DynamicThrottleMax
This setting usually defaults to the maximum unsigned integer value, which indicates full throttle. Depending on the link, this value sets the maximum data rate in bits or kilobits per second.
DynamicThrottleMin
This setting defaults to zero. Depending on the link, this value sets the minimum data rate in bits or kilobits per second. This value places a lower limit on the percentage rate given below.
DynamicThrottlePercentage
This setting defaults to 100%, which has the same effect as normal (non-dynamic) throttling. It represents the fraction of the maximum bandwidth you want to use when the network is busy. It typically has a value between five and ten percent, to prevent it from dominating existing network traffic.
Note: A zero for this setting is the same as 100%.

As with any other setting, you can create or edit the dynamic bandwidth settings by right-clicking an item (or group of items) in any computer list and choosing Edit Computer Settings from the context menu.

The specific variable names include the Server/Relay settings:

 _BESRelay_HTTPServer_DynamicThrottleEnabled
 _BESRelay_HTTPServer_DynamicThrottleMaxKBPS
 _BESRelay_HTTPServer_DynamicThrottleMinKBPS
 _BESRelay_HTTPServer_DynamicThrottlePercentage

The IBM BigFix Client settings:

 _BESClient_Download_DynamicThrottleEnabled
 _BESClient_Download_DynamicThrottleMaxBytesPerSecond
 _BESClient_Download_DynamicThrottleMinBytesPerSecond
 _BESClient_Download_DynamicThrottlePercentage

The IBM BigFix Gathering settings:

 _BESGather_Download_DynamicThrottleEnabled
 _BESGather_Download_DynamicThrottleMaxBytesPerSecond
 _BESGather_Download_DynamicThrottleMinBytesPerSecond
 _BESGather_Download_DynamicThrottlePercentage
Note: For any of these settings to take effect, you must restart the affected services (server, relay, or client).

If you set a Server and its connected Client to differing maximums or minimums, the connection chooses the smaller value of the two.

For more information about bandwidth throttling, see Overview of Bandwidth Throttling.