August 31, 2018
Advanced Bandwidth Throttling: Easily Control Your Bandwidth Consumption
Bandwidth throttling is the purposeful deceleration of network speed in order to allow for slower data exchange between applications via the network, even if the network is able to provide a higher bandwidth speed. With bandwidth throttling, you can regulate network bandwidth in order to restrict bandwidth usage to a user-defined amount. Advanced Bandwidth Throttling introduced in NAKIVO Backup & Replication 7.5 gives you the full control over how your data protection processes use the available bandwidth. In this blog post, we are going to take a closer look at bandwidth throttling mechanism and use cases, as well as how bandwidth throttling rules work in NAKIVO Backup & Replication.
How does bandwidth throttling work and when can it be used?
Network speed can be limited for different types of traffic by the appropriate application. You are more than likely familiar with traffic shaping, which is a type of network bandwidth management that is used by companies to provide Internet access to their users. This approach is used to provide enough network speed for business-critical processes, which require an appropriate Internet speed even if some of the users were to cause intensive incoming or outgoing traffic. In this case, the speed of Internet access is limited to a value that is set by the administrator on the gateway server with different rules, in order to prevent users from causing an overload to the Internet connection.
When using software for VM backup, the backed up data can be transferred from a source to a destination location via local area network (LAN), or virtual private network (VPN) – which uses an Internet connection. In this case, the network speed used by the backup application can be limited by this application without the need to configure rules on your gateway. Thus, configuring bandwidth throttling for transferring backed up data is more flexible and convenient. Additionally, network overloading can be avoided entirely, which results in business-critical applications having enough bandwidth speed for their work in both LAN and Internet.
Advanced Bandwidth Throttling in NAKIVO Backup & Replication
NAKIVO Backup & Replication uses the mentioned approach for providing bandwidth throttling to transfer data via network during jobs. Let’s consider the Advanced Bandwidth Throttling feature that is available in NAKIVO Backup & Replication 7.5.
Global rules and per-job rules
There are two types of bandwidth rules – global rules and per-job rules. Global rules set a bandwidth limit for all jobs in the product, and can be scheduled separately from different data protection jobs (such as backup jobs, replication jobs, recovery jobs, backup copy jobs and failover jobs). Per-job rules can only be applied to specified jobs, and can use scheduling options that are set for the appropriate job. A combination of global rules and per-job rules allows you to set a bandwidth throttling policy that is more flexible, with granular control over the process.
Note: Amazon EC2 replication jobs are not affected by bandwidth throttling rules.
The rule can be in one of the three states:
- Always active
- Active on schedule
Explaining the working principle
Bandwidth throttling rules are stored at the Director’s side and are applied on the level of Transporters. Rules can be enabled or disabled individually. When a bandwidth rule is enabled and applied to the job, the data transferring speed from source to destination cannot be exceeded.
The following logic is used:
- Per-job rules override global rules
- If there are multiple per-job rules for the same job, the rule with the lowest bandwidth is applied
- If there are multiple global rules and no per-job rules, the global rule with the lowest bandwidth is applied
If a job is created for multiple VMs and has a bandwidth rule applied, then bandwidth is divided between tasks (one task operates with one VM) intelligently. For example, incremental backup tasks usually transfer less data than the full backup tasks, and for this reason such incremental backup tasks receive less bandwidth as compared to full backup tasks. Bandwidth amount is split into chunks, and the chunks are assigned to tasks. As a result, all tasks can be processed more rationally.
Let’s consider how bandwidth throttling works by referring to an example. There is a 100-Mbit network and a global bandwidth throttling rule that limits data transferring speed to 50 Mbit per second. A VM replication job (Job 1) that does not have any per-job rules starts at 6:00 AM, and consumes the maximum allowed bandwidth of 50 Mbit/s. A VM backup job (Job 2) starts at 7:00 and is running concurrently with Job 1, because Job 1 has not yet finished. Overall, bandwidth is limited to 50 Mbit/s by a global rule, and is divided between two running jobs. As a result, each job (Job 1 and Job 2) can consume a maximum of 25 Mbit/s when running concurrently (see the diagram below). Job 1 is finished at 7:40, and thereafter Job 2 (which is still running) can consume 50 Mbit/s. Job 2 is finished at 8:00, and there are no more running jobs at this time.
Job 3 and Job 4 are started simultaneously at 8:10, and they both have a configured per-job rule that limits the bandwidth to 10 Mbit/s. A 50-Mbit/s global bandwidth rule is active at this time. As mentioned earlier, a per-job rule has a higher priority than a global rule. For this reason, Job 3 and Job 4 cannot exceed the 10-Mbit/s limit for each job set by a per-job rule, even if a 50-Mbit global rule is active at this time. Job 4 is finished at 8:24, and Job 3 continues to run with a bandwidth limit of 10 Mbit/s and is finished at 9:00. Job 5 is configured to run after Job 3 (“Run after another job” scheduling option is enabled). A bandwidth rule that limits bandwidth to 15 Mbit/s is applied to Job 5, which is started at 9:00 and finishes at 9:35.
You can configure your own bandwidth throttling policy as well as provide higher limits for non-working hours, and lower limits for working hours.
Let’s explore how to configure bandwidth rules in NAKIVO Backup & Replication starting with a per-job rule. In this case, a configuration for an existing backup copy job is explained. Similarly, you can edit any other existing jobs for configuring bandwidth throttling, and can also configure bandwidth throttling during the creation of new jobs.
Configuring a per-job rule
Access your instance of the product with a browser. On the home page of the web interface right-click on an existing job, and in the context menu select “Edit”.
A configuration screen that is similar to the screen of a New Job wizard appears. Click “Options” and in the Data Transfer section select “Enabled” from the drop-down menu. Then click “settings” on the right of the drop-down menu.
A popup window with a list of existing rules appears. The list is empty in this case, because no bandwidth rules have been created yet. Click “Create New Rule”. A new popup window appears. You can set the rule name, the limit of bandwidth, and the rule scheduling options (Always active, Active on schedule or Disabled). When you set the value of the bandwidth limit, you are able to use the following units: Kbit/s, Mbit/s, Gbit/s. Notice that for more convenience NAKIVO Backup & Replication provides an automatic conversion of units from Mbit/s to MB/s. Conversion result is displayed as a tip and includes estimated time to transfer 1 GB of data. Click the “Save” button to save the rule.
Now you can see a recently created bandwidth rule in the list. Make sure that the check box is filled near the appropriate rule. Click the empty place on the main window to make the popup window with the list of rules close. Then click “Save” to save the modified configuration of the job.
Configuring a global rule
Now that configuration of a per-job rule has been explained, let’s have a look how to create and configure global bandwidth rules. Go to Configuration, select “Bandwidth throttling” and click “Edit”.
The bandwidth throttling configuration screen appears. Click the “Create New Rule” button and set the options for a new bandwidth rule. In this case you can select a rule type (global or per-job rule). Set the name, bandwidth limit, and scheduling options, similarly to what is seen in the previous example of configuring a per-job rule. In the current example the “Active on schedule” option is set.
Note: This option may be useful for creating multiple global rules for different periods of the day. For example, you can create one scheduled global rule that limits the bandwidth to 20 Mbit/s for working hours (9:00 AM – 6:00 PM), while another global rule is set to be always active and limits the bandwidth to 50 Mbit/s for the rest of the day (non-working hours).
Set the start time and the end time, before checking the boxes at the days of the week on which the rule must be applied. Select the time zone and click “Save”.
Now that a new rule has been created, you can see the new global rule along with the previously created per-job rule in the general bandwidth throttling options.
Today’s blog post has explained the definition of bandwidth throttling, its working principle, and the use cases of this feature in the framework of VM data protection processes. NAKIVO Backup & Replication 7.5 includes Advanced Bandwidth Throttling that can help you protect your VMware and Hyper-V virtual environment, without negative impact on other working processes that need a network connection with enough bandwidth. You can configure rules, use them in combinations and ensure a flexible bandwidth throttling policy with this improved feature included in the version 7.5 of the product. Download the full-featured free trial to test Advanced Bandwidth Throttling in your own environment.