<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.iis.net/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:cs="http://blogs.iis.net/"><channel><title>Search results matching tags 'Media' and 'dynamic throttling'</title><link>http://blogs.iis.net/search/SearchResults.aspx?o=DateDescending&amp;tag=Media,dynamic+throttling&amp;orTags=0</link><description>Search results matching tags 'Media' and 'dynamic throttling'</description><dc:language>en-US</dc:language><generator>CommunityServer 2007 SP1 (Build: 20510.895)</generator><item><title>Dynamic Throttling with Bit Rate Throttling</title><link>http://blogs.iis.net/vsood/archive/2008/03/17/dynamic-throttling-with-bit-rate-throttling.aspx</link><pubDate>Mon, 17 Mar 2008 20:56:00 GMT</pubDate><guid isPermaLink="false">50bcf3b4-f6fe-4638-adff-0c150e922e99:2238462</guid><dc:creator>vsood</dc:creator><cs:applicationKey>vsood</cs:applicationKey><description>&lt;P mce_keep="true"&gt;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. &lt;/P&gt;
&lt;P mce_keep="true"&gt;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.&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;A href="http://blogs.iis.net/blogs/vsood/blog1.bmp" mce_href="http://blogs.iis.net/blogs/vsood/blog1.bmp"&gt;&lt;A href="http://blogs.iis.net/blogs/vsood/blog1.bmp"&gt;&lt;/A&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;A href="http://blogs.iis.net/blogs/vsood/blog12.bmp"&gt;&lt;IMG src="http://blogs.iis.net/blogs/vsood/blog12.bmp" border=0&gt;&lt;/A&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;A href="http://blogs.iis.net/blogs/vsood/blog2.bmp" mce_href="http://blogs.iis.net/blogs/vsood/blog2.bmp"&gt;&lt;IMG src="http://blogs.iis.net/blogs/vsood/blog2.bmp" border=0 mce_src="http://blogs.iis.net/blogs/vsood/blog2.bmp"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;This can also be set in the config directly (not advised though). Here is an example web.config&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;lt;?xml version="1.0" encoding="UTF-8"?&amp;gt;&lt;BR&gt;&amp;lt;configuration&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;system.webServer&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;media&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;STRONG&gt;&amp;lt;bitrateThrottling targetThroughputRateKbps="1000000" /&amp;gt;&lt;/STRONG&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/media&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/system.webServer&amp;gt;&lt;BR&gt;&amp;lt;/configuration&amp;gt;&lt;BR&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;STRONG&gt;&lt;U&gt;Dynamic Throttling in simple scenarios&lt;/U&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;STRONG&gt;Using Dynamic Throttling with media/data rules&lt;/STRONG&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;Consider the scenario below:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;All files being served are .wmv&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;Each file is encoded at 400 Kbps&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;The throttle rate for each wmv is 100%&amp;nbsp;(i.e., 100% of 400 Kbps = 400 Kbps)&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;The site target throughput rate is configured at 1&amp;nbsp;Gbps&lt;/DIV&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P mce_keep="true"&gt;In this case the&amp;nbsp;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.&amp;nbsp; Although, here we take an example for media rule, the same is valid for data rule too.&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;STRONG&gt;Using Dynamic Throttling with default Throttle rate&lt;/STRONG&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;The scenario is as under:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;There are NO&amp;nbsp;media / data rules configured &lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;The default throttle rate is configured at&amp;nbsp;200 Kbps&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;The site target throughput rate is configured at 1&amp;nbsp;Gbps&lt;/DIV&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P mce_keep="true"&gt;In this case the&amp;nbsp;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.&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;STRONG&gt;&lt;U&gt;Dynamic Throttling in advanced scenarios&lt;/U&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;In the advanced scenario you could have: &lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;Two rules - Let us assume media rule for .wmv and data rule for .msi&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;Each rule could have a different throttle rate (e.g., .wmv - 100% (400 Kbps), .msi - 100 Kbps and so on)&lt;/DIV&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P mce_keep="true"&gt;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,&amp;nbsp;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.&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;</description></item></channel></rss>