うまいぼうぶろぐ

linuxとhttpdとperlのメモ

big-ipで帯域制御 Bandwith ControllerとRate Shaping

Bandwith Controller

Bandwidth controllers のほうが最新機能のようなのでこっちのがいいかも
Rate Shapingの後継機能のようで、共存はできない。
(どこにも割り当てていないRate Shapingの設定すら存在してはいけない)

Acceleration - Bandwith Controller

VirtualServer
advancedにしてBandwith Controllerを選択

dynamicにするとper user で設定できるみたいだけど、
そのbandwidth controller設定はvirtual serverに適用できなかった。

iruleで適用

拡張子で適用する例
https://devcentral.f5.com/wiki/iRules.BWC__policy.ashx

when HTTP_REQUEST {
  if { [HTTP::path] ends_with ".mp4" } {
    BWC::policy attach bandwidth_test1
  }
}

virtualhost名で振り分ける例

  switch -glob [string tolower [HTTP::host]] {
    "www1.example.com" {
      BWC::policy attach bandwidth_test1
    }
    "www2.example.com" {
      BWC::policy attach bandwidth_test2
    }
  }

Rate Shaping

Acceleration - Rate Shaping

http://www.f5networks.co.jp/shared/pdf/BIG-IP_TB_Rate_Shaping.pdf

適用する箇所
VirtualServer
PacketFilter
iRule

一番使うのはVirtualServerかな

VirtualServer
Acceleration - Rate Class

ガチガチに制限せず、バーストトラフィック発生時に少し余裕を持たせるのであれば
Rate 10Mbps
Ceiling 50Mbps
Burst size 5MByte
とかにすれば良さげ?(数字は適当)