StoreDocumentationSpecialsLatest PostsContactOther Stuff
Last Update: Dec 31st, 2018

Bandwidth Scaling

Bandwidth scaling is an ET/BWMGR feature that allows you to increase or decrease bandwidth allocations based on how much traffic you have on your network. This feature allows you to proportionally change the controls you have on each customer.

The best way to explain how bandwidth scaling works is by creating a practical example.

A Practical Example

For this example, lets say that you're an ISP with 100Mb/s of bandwidth. You might have 10 customers, or you might have 5000; it doesn't matter. Scaling works the same no matter now many rules or customers you have.

Lets start with a basic setup. Let's say we have 3 bandwidth profiles defined. We'll need these later on:

Bs profiles

Now we have to define some Triggers. Triggers are an ET/BWMGR construct that allow the core software to "know" instantly if a specified traffic level has been reached. I'm going to define a section for the Triggers, and then define 3 triggers at different traffic levels.

Bs triggers

Notice that all of the triggers are global (The G flag), and they all match everything. So these triggers will fire when specific traffic levels are reached. When traffic is under 1M, Trigger1M will hit. When traffic is under 50Mb/s, Trigger50M will hit; when traffic is under 75and when traffic is under 99M, Trigger99M will hit. Note that this is the OPPOSITE of how triggers usually work. Bandwidth scaling uses the negation of the trigger to know that we are over the trigger point.

TriggerOver99M is set to 110Mb/s, which shouldn't be attainable with 100Mb/s of max traffic. This trigger will always be false; we'll use this trigger to indicate that we are over 99Mb/s.

So now we have some triggers we can use to implement scaling. By default, scaling is off. To enable scaling, use the Global Scaling selection under Admin.

Bs menu

Select the option and a modal window will pop up where you can enter your settings. First I select Trigger1M and set the percentage to 200. What this means is that why I have less than 1M of traffic, I'm going to increase the bandwidth by 3 times (increase by 200%).

Bs scaling1

I'll add some additional settings to complete the example.

Bs alltriggers

These these scaling settings will do the following

- When traffic is under 1Mb/s, each rule's bandwidth will be increased by 200%.
- When traffic is under 50Mb/s (and over 1Mb/s), each rule's bandwidth will be increased by 25%
- When traffic is under 75Mb/s, each rule's bandwidth will be increased by 10%
- When traffic is between 75Mb/s and 99Mb/s, there will be no scaling of bandwidth.
- When traffic is over 99Mb/s, each rule's bandwidth will be decreased by 25%

Note that as soon as you add an entry to the Global Scaling table, scaling will be enabled.

The current level of scaling is shown under the throughput meters. There isn't much traffic currently, so it's showing 200%.

Bs meters

Adding a Test Rule

I've added a test rule that has a limit of 2Mb/s and started a transfer.

Bs transfer

As you can see, the rule is getting 2.5Mb/s, and you can see that scaling is set to 25% for outgoing traffic, because the traffic level is between 1 and 50Mb/s.

Opting Out

If you don't want a rule to be scaled, you can set the Ignore Scaling setting for the rule.

Bs noscaling

Comment Policy Add Comment

Next: ET/BWMGR v5 Tutorial