Dynamic Throttling with Bit Rate Throttling

Posted: Mar 17, 2008  20 comments  

Average Rating

Tags
Bit Rate Throttling
dynamic throttling
IIS Media Pack
Media

In the latest RTW release of Bit Rate Throttling, we have an amazing feature - dynamic throttling. It can also be looked at as bandwidth splitting. The primary intentions of this post is to serve as an introduction to this feature.

In our earlier releases if we had Bit Rate Throttling enabled, we would just throttle the media/data file at the desired rate. This is very useful, however there are scenarios where you want to use throttling to plan bandwidth better, for example, you want to be able to support more simultaneous downloads. In these scenarios there might be conditions where the load on the server is less. In this situation you may not want to throttle the response or you may want to split the available bandwidth among all active connections at any given point. Dynamic throttling allows you to do this. This feature lets you use all of the availble bandwidth and split is among all active connections. The availble bandwidth needs to be configured in IIS by setting the "Site target throughput rate" setting in Advanced Settings in the UI. As the name suggested this setting is availble at site level or below only.

 

This can also be set in the config directly (not advised though). Here is an example web.config

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <media>
            <bitrateThrottling targetThroughputRateKbps="1000000" />
        </media>
    </system.webServer>
</configuration>

Dynamic Throttling in simple scenarios

Using Dynamic Throttling with media/data rules

Consider the scenario below:

  • All files being served are .wmv
  • Each file is encoded at 400 Kbps
  • The throttle rate for each wmv is 100% (i.e., 100% of 400 Kbps = 400 Kbps)
  • The site target throughput rate is configured at 1 Gbps

In this case the media throttle rate acts as a minimum required. The availble bandwidth (1 Gbps) will now be distributed evenly among all active connections from a server perspective. For example, if there are 1000 concurrent connections, each will be throttled at 1 Mbps. This will go on till a maximum of 1 Gbps / 400 Kbps = 2500 concurrent connections.  Although, here we take an example for media rule, the same is valid for data rule too.

Using Dynamic Throttling with default Throttle rate

The scenario is as under:

  • There are NO media / data rules configured
  • The default throttle rate is configured at 200 Kbps
  • The site target throughput rate is configured at 1 Gbps

In this case the default throttle rate acts as a minimum required. The availble bandwidth (1 Gbps) will now be distributed evenly among all active connections from a server perspective. For example, if there are 1000 concurrent connections, each will get 1 Mbps. This will go on till a maximum of 1 Gbps / 200 Kbps = 5000 concurrent connections.

Dynamic Throttling in advanced scenarios

In the advanced scenario you could have:

  • Two rules - Let us assume media rule for .wmv and data rule for .msi
  • Each rule could have a different throttle rate (e.g., .wmv - 100% (400 Kbps), .msi - 100 Kbps and so on)

In this case, the BRT will compute the throttle rate for each request by splitting the available bandwidth in the ratio of thier configured throttle rates. In the above case, for example the availble bandwidth will be split in the ratio of 4:1 for .wmv:.msi. So in case there are 500 .wmv connections and 500 .msi connections, the .wmv connections wil get 800 Mpbs (1.6 Mbps per connection) and .msi connections will get 200 Mbps (400 Kbps per connection). In this example we took only two possible rules but this logic would apply to any number of rules too.

 

Comments

  1. Dynamic Throttling with Bit Rate Throttling - Vishal Sood
    March 18, 2008

    Pingback from  Dynamic Throttling with Bit Rate Throttling - Vishal Sood

  2. ScottGu's Blog
    March 18, 2008

    Video on the web is now one of those common scenarios that every user takes for granted, and increasingly

  3. BusinessRx Reading List
    March 18, 2008

    Video on the web is now one of those common scenarios that every user takes for granted, and increasingly

  4. Mirrored Blogs
    March 18, 2008

    Video on the web is now one of those common scenarios that every user takes for granted, and increasingly

  5. M??dulo de administracion de Bit Rate de IIS 7 publicado « Thinking in .NET
    March 18, 2008

    Pingback from  M??dulo de administracion de Bit Rate de IIS 7 publicado  &laquo; Thinking in .NET

  6. Programming
    March 18, 2008

    Video on the web is now one of those common scenarios that every user takes for granted, and increasingly

  7. 博命
    March 20, 2008

    IIS 7.0 流量限制模块,Bit Rate Throttling Module

  8. Scott Hanselman's Computer Zen
    March 20, 2008
  9. ASPInsiders
    March 20, 2008

    ScottGu blogged about the IIS 7.0 Bit Rate Throttling Module being released. Since IIS 7.0 is totally

  10. Vishal Sood
    March 21, 2008

    Last week, we announced the release of Bit Rate Throttling (BRT) module and there has been a lot of positive

  11. IIS 7.0 Bit Rate Throttling Module Released « .NET Framework tips
    March 21, 2008

    Pingback from  IIS 7.0 Bit Rate Throttling Module Released &laquo; .NET Framework tips

  12. Felix Wang | Evangelizing the Next Web
    March 27, 2008

    【原文地址】 IIS 7.0 Bit Rate Throttling Module Released | IIS 7.0比特率节流模块发布了 【原文发表日期】Tuesday, March 18, 2008

  13.   IIS 7.0?????????????????????????????? by ??????????????
    March 28, 2008

    Pingback from  &nbsp; IIS 7.0??????????????????????????????&nbsp;by&nbsp;??????????????

  14. CBlog » Blog Archive » IIS 7.0??????????????????????????????
    March 29, 2008

    Pingback from  CBlog  &raquo; Blog Archive   &raquo; IIS 7.0??????????????????????????????

  15. Alvin
    March 31, 2008

    I installed BRT on WS08 and experience a couple of things:

    1. The BRT is disabled by default. Need to turn it on.

    2. The "Entry Type" is all Local regardless whether I am viewing the Server, VDir or App panels.

  16. vsood
    April 1, 2008

    Hi Alvin

    1. This is true, this was done to minimize the impact on sites that don't know that BRT will throttle responses going out and avoid accidentally throttling

    2. This is because all entries by default are written to applicationhost.config and this happens in the cases where we use locaiton tags. If you make overridemode= Allow then they will show correctly. This is a limitation with IIS config system

    Thanks for bringing this up!

  17. Scott Guthrie Italian WebLog
    April 11, 2008

    Modulo Bit Rate IIS 7.0

  18. Jimin Gao's Blog
    May 2, 2008

    Managing Service Quality There are many situations under which we would like to impose limits to file

  19. jorkeo - hosting geek
    June 5, 2008

    Another event down REMIX08 - two cities on week - what a blast. Check out Michael Kordahi's wrap up of

  20. Inovation Blog » IIS 7.0 Bit Rate Throttling Module Released
    February 24, 2009

    Pingback from  Inovation Blog &raquo; IIS 7.0 Bit Rate Throttling Module Released

Submit a Comment