在以往的 iis 限流功能上, 一直是以整個 web 站台的總流量來進行限流管理, 當然這也算是一種限流管理方式, 但在現今這種影音應用的環境下, 相信如何能有效應用頻寬並進一步來節省成本, 相信是很重要的課題.
以往要在 web server 上做流量管理, 最理想的方式是做 per connection 的限流, 這個功能在 iis 上並沒有提供, 不過在 apache 上有個 mod_bandwidth 模組可以做到, 他的原理就是進行單一 connection 的流量限制, 在這種狀況下, 就可以有效地管理每一個 connection 的流量, 簡單地說, 若是放在 web 上的影音內容, bitrate 是 300kbps 的話, 我們可以利用 mod_bandwidth 將流量限制在 330kbps左右, 讓這些影音內容能在邊下載邊看的速度下進行觀賞, 這樣最重要的是對 server 端能節省頻寬. 因為一般人也不見得會整個看完, 若是用很快的速度讓使用者下載, 事實上會蠻浪費頻寬的.
然而隨著在 iis 7 上提供 BitRate Throttling模組功能時, 這些狀況就會改觀了, 根據技術文件提到, 這個模組可以根據媒體檔案內容的 mime-type 及 bitrate header進行流量限制, 並提供了前面多少時間(幾秒)的快速下載, 之後根據 bitrate進行限流, 看起來彈性及功能遠比 apache 的 mod_bandwidth 模組有更大的彈性及好處.
實務上, 這將會是一個相當有效節省頻寬的一個管理方式, 這個部分相信對未來影音應用的普及下, 將會發揮更大的作用哦.
這篇介紹了如何偵測 bit-rate的方式及設置方式:
http://learn.iis.net/page.aspx/149/bit-rate-throttling-extensibility-walkthrough/
這篇介紹如何安裝這個模組:
http://learn.iis.net/page.aspx/147/bit-rate-throttling-setup-walkthrough/
這篇介紹如何設定及驗證:
http://learn.iis.net/page.aspx/148/bit-rate-throttling-configuration-walkthrough/
其他相關閱讀:
- http://blogs.iis.net/vsood/archive/2008/03/15/bit-rate-throttling-is-now-released.aspx
- http://weblogs.asp.net/scottgu/archive/2008/03/18/iis-7-0-bit-rate-throttling-module-released.aspx
這篇有實作後的流量比較結果:
http://blogs.msdn.com/jijia/archive/2007/12/30/iis-7-0-bandwidth-throttling.aspx