Apache で帯域制限を考える

最近帯域を全部使いきってしまうことが度々起こるようになって対策を考える必要があった。
Flash 動画など、簡単にキャパを越えてしまう大きなデータがサーバーにアップされることが原因。本来なら、Flash 動画の作りを改善する所だが、クリエーターの技術がそこまでないため(私もFlashはシロウトなので)、Apache 側で対処しようと思う。とりあえず帯域制御に mod_bw というモジュールを使ってみようと検討中。

http://apache.ivn.cl/files/txt/mod_bw-0.8.txt

を見ると、インストールはとても簡単。

 apxs -i -a -c mod_bw.c

で、mod_bw.so のビルドおよびインストール、apache.conf の設定までしてくれた。

ファイルに対する帯域制限は、以下でいいみたい。

    <Virtualhost *>
      BandwidthModule On
      ForceBandWidthModule On
      LargeFileLimit .mpg 1 20000
      Servername www.example.com
    </Virtualhost>

mpg ファイルの帯域を 20kb/s まで抑えてくれる。割と簡単。こそっと本番にも適用してみるかな。
ちなみに、lenny には libapache2-mod-bw というパッケージがあるので、ソースからインストールする必要はなさそう。