![]() |
![]() |
|
mod_bandwidth 自宅サーバーで公開Apacheのmod_bandwidthというモジュールを使えば、帯域に制限をかけることができます。今回はそのための設定を紹介します。 ![]() ![]() |
||
![]() |
![]() |
![]() |
![]() |
|
![]() |
![]() |
![]() |
![]() |
|
mod_bandwidth 自宅サーバーで公開Last update 2007/08/25 05:16
Bフレッツがやってきたで書きましたが、私の自宅にもようやく(?)Bフレッツに契約しました。 自宅サーバー自宅サーバーをしてれば、なおさらBフレッツや光ファイバーはおすすめです。 というのも、上がり1Mbpsだとアクセスが多すぎるとリクエストを送信しきれなくて「延滞」が生じてしまうらしい。 光回線にした場合、リクエストが余計ひっきりなしに来るからルーターも悲鳴を上げてしまうかな・・・と思ったんですけれど、これがほとんどフリーズを起こさない。 光回線で公開当然の事ながら、ADSLの時は上り1Mbpsしかでなかったので、私のサイトにアクセスしても非常に重かったはずです。 自鯖で動画を公開するテキストがメインのサイトであれば、ADSLで十分だと思うんですけれど、画像や動画を公開するとなると光回線は必須です。 単に自宅サーバーを公開しているだけでなく、3~5Mbpsという超高画質のハイビジョン動画を配信していらっしゃいます。 帯域を制限する光回線にしても、YouTubeでスムーズに見られなかったり、遅かったりする場合があります。 そこで今回は、Apacheで帯域の制限をかけることができる、mod_bandwidthというモジュールを使って、一人当たりのダウンロード速度に制限をかけてみましょう。 mod_bandwidthを導入する私のサーバーマシンは、OSにVine Linuxを使用していますが、自宅サーバーには最もおすすめです。 まず、Vine Linuxではすでにmod_bandwidthが用意してあるので、httpd.confをちょっといじるだけで組み込むことができます。 #LoadModule bandwidth_module modules/mod_bandwidth.so ↓ 先頭の「 # 」をとってやる LoadModule bandwidth_module modules/mod_bandwidth.so #AddModule mod_bandwidth.c ↓ 先頭の「 # 」をとってやる AddModule mod_bandwidth.c # ディレクティブ外のどこでもいいから記述する
# ただし、バーチャルサーバーを使用している場合は
# 制限を加えたいバーチャルサーバーのディレクティブに記述する
BandWidthModule On
# バーチャルサーバーの場合の例 制限をかける制限をかける場合は、制限したいディレクトリを指定します。たとえば・・・ もし、ローカルからのアクセス(192.168.x.x)は制限をかけない場合は、 # 2番目の値を「 0 」にすると制限無しになる BandWidth 192.168 0 BandWidth all 1000となります。 実際の挙動では、実際にどういう設定をすると、どのような速度になるか・・・を見てみましょう。 制限をかけない場合
40KB/秒1秒間に40KBダウンロードさせるには、 BandWidth all 40000になります。単位はバイトなので、40KBの場合は40000Bですね。この場合、 ![]() うーん。実際には「転送率」が 40KB/秒にならないといけないはずですが・・・。 19.2KB/秒になっていますね・・・。 とにかく制限をかけることはできました。 80KB/秒では倍の80KB/秒にしてみましょう。 120KB/秒次に120KB/秒にしてみました。 適切な値さて、ではどのくらいの値が適当なんでしょうか。 たとえば、ハイビジョンの前に普及したスタンダードビデオカメラのDV規格のビットレートは25Mbps。 そこで、これらの動画を配信する場合は、HDVで撮影した動画をそのまま配信するには、25Mbpsほどの速度が出せれば、とぎれとぎれの起こらないスムーズな再生が可能です。 映像を圧縮して配信撮影した映像をそのまま公開するのは、あまりにも帯域を無駄に使ってしまいます。 映像には自宅サーバがおすすめさんでは、ハイビジョン動画を3~5Mbpsまで圧縮して配信されています。 BandWidth all 375000となります。 まぁ先ほどの例のように、多少設定した値より遅くなるかもしれないので、 BandWidth all 400000ぐらいでもかまわないでしょう。 もし、YouTubeのように画質をかなり落としてもかまわないのであれば、0.7Mbpsまで落とせるかもしれません。 この場合は、 BandWidth all 87500になります。 どちらにしろ、映像を圧縮すればファイル自体のサイズも小さくなるので、ダウンロード時間も速くなり、結果的に同時アクセスが減るので、画質と妥協の兼ね合いを考えて設定してください。 公開動画江ノ島岩場 映像ビットレート:3Mbps かき氷 映像ビットレート:3Mbps
|
||
![]() |
![]() |