Skip to main content

Use SnapMirror global throttling

Contributors netapp-lenida netapp-aherbin

Global network throttling is available for all SnapMirror and SnapVault transfers at a per-node level.

About this task

SnapMirror global throttling restricts the bandwidth used by incoming and/or outgoing SnapMirror and SnapVault transfers. The restriction is enforced cluster wide on all nodes in the cluster.

For example, if the outgoing throttle is set to 100 MBps, each node in the cluster will have the outgoing bandwidth set to 100 MBps. If global throttling is disabled, it is disabled on all nodes.

Although data transfer rates are often expressed in bits per second (bps), the throttle values must be entered in kilobytes per second (KBps).

Note

In ONTAP 9.9.1 and earlier releases, the throttle has no effect on volume move transfers or load-sharing mirror transfers. Beginning with ONTAP 9.10.0, you can specify an option to throttle a volume move operations. For details, see How to throttle volume move in ONTAP 9.10 and later.

Global throttling works with the per-relationship throttle feature for SnapMirror and SnapVault transfers. The per-relationship throttle is enforced until the combined bandwidth of per-relationship transfers exceeds the value of the global throttle, after which the global throttle is enforced. A throttle value 0 implies that global throttling is disabled.

Note

SnapMirror global throttling has no effect on SnapMirror synchronous relationships when they are In-Sync. However, the throttle does effect SnapMirror synchronous relationships when they perform an asynchronous transfer phase such as an initialization operation or after an Out Of Sync event. For this reason, enabling global throttling with SnapMirror synchronous relationships is not recommended.

Steps
  1. Enable global throttling:

    options -option-name replication.throttle.enable on|off

    The following example shows how to enable SnapMirror global throttling on cluster_dst:

    cluster_dst::> options -option-name replication.throttle.enable on
  2. Specify the maximum total bandwidth used by incoming transfers on the destination cluster:

    options -option-name replication.throttle.incoming.max_kbs KBps

    The recommended minimum throttle bandwidth is 4 KBps and the maximum is up to 2 TBps. The default value for this option is unlimited, which means there is no limit on total bandwidth used.

    The following example shows how to set the maximum total bandwidth used by incoming transfers to 100 Mbps:

    cluster_dst::> options -option-name replication.throttle.incoming.max_kbs 12500
    Note

    100 Mbps = 12500 KBps

  3. Specify the maximum total bandwidth used by outgoing transfers on the source cluster:

    options -option-name replication.throttle.outgoing.max_kbs KBps

    The recommended minimum throttle bandwidth is 4 KBps and the maximum is up to 2 TBps. The default value for this option is unlimited, which means there is no limit on total bandwidth used. Parameter values are in KBps.

    The following example shows how to set the maximum total bandwidth used by outgoing transfers to 100 Mbps:

    cluster_src::> options -option-name replication.throttle.outgoing.max_kbs 12500