Throttling - Overview

Table of Contents

Overview

Throttling enables you to fine-tune the data replication activities for your environment. Data Replication activities can be throttled using the following:

Replication Activity Throttling

Replication Activity Throttling is supported only on Windows.

The following can be configured on the Source computer:

  • Interruption of replication activity, based on the percentage of allocated log space remaining on the source computer. (See System Aborted.)

The following can be configured on the Destination computer, and is recommended; it will impact all source computers that use this destination computer:

  • Throttle the source computer, based on the percentage of allocated log space remaining on the destination computer. When throttling is imposed, it will reduce the maximum transfer rate specified as the Throttling Amount for the source computer by 50%. Since this throttle is based on the value specified as the Throttling Amount for the source computer, if you do not specify a value, no throttling will be imposed.
  • Stop the source computer from sending logs, based on the percentage of allocated log space remaining on the destination computer.

Network Bandwidth Throttling

The throttling amount and bandwidth throttling rules can be configured on the Source computer, as described here.

Throttling Amount

The throttling amount is the maximum network transfer rate, measured in megabits per second (Mbps). The rules apply different for Windows computers and UNIX computers.

Windows

For Windows, the setting for Throttling Amount applies to each pipeline engaged in replication activity, not the aggregate of all pipelines for all Replication Pairs on the computer. With respect to the number of pipelines that will be active at any one time, review the following based on an example of having a Throttling Amount setting of 10Mbps:

  • Each Replication Pair requires a pipeline during Baselining or SmartSync; if you have three Replication Pairs in the SmartSync phases at the same time, you have three pipelines active, and thus a 30Mbps maximum network transfer rate for the source client (3 pipelines times 10Mbps each.) After Baselining and SmartSync have completed for each Replication Pair, only one pipeline will remain in use, and the maximum network transfer rate is reduced to 10Mbps.
  • Fan-Out configurations require a pipeline for each destination client. If you have five Replication Sets configured to replicate data to five clients, you have five active pipelines, and thus a 50Mbps maximum network transfer rate for the source client (five pipelines times 10Mbps each.)
  • Other than the cases listed, Baselining or SmartSync, and Fan-Out, all other replication activity will require one pipeline, so the Throttling Amount specified applies to the aggregate of all activity on the source computer, comprised of the replication activities of all Replication Pairs.

UNIX

For UNIX, the setting for Throttling Amount applies to the aggregate of all pipelines for all Replication Pairs on the computer. With respect to the number of pipelines that will be active at any one time, review the following example of having a Throttling Amount of 30Mbps:

  • Each Replication Pair requires a pipeline during Baselining or SmartSync; if you have three Replication Pairs in the SmartSync phases at the same time, you have three pipelines active, which will equally divide the specified 30Mbps maximum network transfer rate for the source client, for a maximum rate of 10Mbps each. After Baselining and SmartSync have completed for each Replication Pair, only one pipeline remains in use, and the maximum network transfer rate of 30Mbps applies to that pipeline.
  • Fan-Out configurations require a pipeline for each destination client. If you have five Replication Sets configured to replicate data to five clients, you have five pipelines active, which will equally divide the specified 30Mbps maximum network transfer rate for the source client, for a maximum rate of 6Mbps each.

If your destination computer is serving that function for multiple source computers, you may need to set this limit on each of the source computers, so that the destination computer has sufficient time for log replay from all source computers. Note that the Throttling Amount must be specified first, before you can create Bandwidth Throttling Rules.

The throttled bandwidth value cannot be set to less than 2MB/hr. After applying percent of utilization, if the new value is less than the allowed minimum throttled bandwidth, the value of 2MB/hr is used.

Bandwidth Throttling Rules

You can set a schedule for network throttling by specifying a time range, and percentage of maximum transfer rate (the Throttling Amount) to apply during that time. The limit you set here applies to the aggregate of all activity on the source computer, including the replication activities of all Replication Pairs. This setting allows you to select high and low (or no) activity periods in a manner similar to the 'operation window' concept used when scheduling the activities of job-based Agents.

Considerations

  • When configuring throttling, you should consider the effects that throttling might have on operations. For example, you could impose a bandwidth limit on a source computer that has significant write activity, and therefore a high rate of event logging. A limit too low could prevent that computer from sending log traffic to the destination computer quickly enough to keep pace with that computer's rate of change. Log space requirements for the source computer would increase dramatically. If this scenario is needed, the source computer must be given enough space for local log files to accumulate before sending, based on the expected activity and throttling imposed.
  • An example of a beneficial use of throttling involves configurations where multiple source computers are all configured to use the same destination computer. In this case, you may want to impose throttling on the source computers to allow the destination computer enough time to keep pace with all the log files it is receiving, and ensure sufficient log space on the destination computer, as well to accommodate all of the logs it will be receiving.
  • You can configure Alerts to be generated when throttling is imposed, or when 80 percent or more of a volume's disk space is consumed, for all of the client computer's volumes. For more information, see Alerts and Notifications.
  • On Windows in a clustered environment, when a cluster node is the active node for more than one virtual server at the same time, throttling rules are applied equally to all of the virtual servers hosted by that physical node, using the highest numbers specified for any one of them. For example, consider an active node hosting three virtual servers simultaneously, with throttling configured as follows on each of the virtual servers, VS1, VS2, and VS3:
    Throttling Parameter VS1 VS2 VS3
    Throttling based on percentage of free log space on destination: 30% 35% 40%
    Stop replication based on percentage of free log space on destination: 80% 70% 60%
    Abort source based on percentage of free log space on source: 75% 80% 70%
    Network Bandwidth Throttling amount: 10Mbps 40Mbps 90Mbps

    Since throttling for all Virtual Servers is based on the highest number specified for any one of them, all three Virtual Servers are subject to the throttling numbers shown in bold, not necessarily the numbers specified individually. If throttling is imposed based on the destination computer running low on log space, in this example, when free log space reaches 40% on any virtual server, the maximum transfer rate is reduced by 50% on each of the virtual servers -- to 5Mbps on VS1, 20Mbps on VS2, and 45Mbps on VS3.

For step-by-step instructions, see Configure Throttling for CDR Replication Activities.