有耶と申します。
よろしくお願い致します。
「Apache2.0系で帯域制限をしたい」を参考にさせて頂いております。
bw_modについて二つ質問がありますので、よろしくお願い致します。
現在の私の環境は
Fedora Core2
Apache 2.0.52(ソースからコンパイル)
です。
1.
ディレクティブのMinBandWidthについてなのですが、下記の二通りの設定では何が変わるのかが理解できないのです。ともに接続クライアント数に関わらず全てのクライアントに100kbytes/sで転送しようとするのではないのでしょうか?
<Directory /home>
BandWidthModule On
BandWidth all 102400
MinBandWidth all -1
</Directory>
<Directory /home>
BandWidthModule On
BandWidth all 102400
</Directory>
2.
bw_modで帯域制限できるのはダウンロード側のみでアップロード側の制限はできないのでしょうか?
ご教授よろしくお願い致します。
> 現在の私の環境は
> Fedora Core2
> Apache 2.0.52(ソースからコンパイル)
> です。
>
> 1.
> ディレクティブのMinBandWidthについてなのですが、下記の二通りの設定では何が変わるのかが理解できないのです。ともに接続クライアント数に関わらず全てのクライアントに100kbytes/sで転送しようとするのではないのでしょうか?
>
> <Directory /home>
> BandWidthModule On
> BandWidth all 102400
> MinBandWidth all -1
> </Directory>
>
> <Directory /home>
> BandWidthModule On
> BandWidth all 102400
> </Directory>
どちらもおっしゃるとおり結果は同じです。
> 2.
> bw_modで帯域制限できるのはダウンロード側のみでアップロード側の制限はできないのでしょうか?
こちらは、ドキュメントにははっきり書いてなかったような気がします。試してみればすぐわかるのではないでしょう? おやじの環境では大量データをアップロードする環境は作らないと無いので・・・。
> > 1.
> > ディレクティブのMinBandWidthについてなのですが、下記の二通りの設定では何が変わるのかが理解できないのです。ともに接続クライアント数に関わらず全てのクライアントに100kbytes/sで転送しようとするのではないのでしょうか?
> >
> > <Directory /home>
> > BandWidthModule On
> > BandWidth all 102400
> > MinBandWidth all -1
> > </Directory>
> >
> > <Directory /home>
> > BandWidthModule On
> > BandWidth all 102400
> > </Directory>
>
> どちらもおっしゃるとおり結果は同じです。
やはり同じだったのですね。どうもこの「-1」という設定が何のためにあるのか分からなかったので、質問させて頂きました、すっきり致しました。ありがとうございました。
>
> > 2.
> > bw_modで帯域制限できるのはダウンロード側のみでアップロード側の制限はできないのでしょうか?
>
> こちらは、ドキュメントにははっきり書いてなかったような気がします。試してみればすぐわかるのではないでしょう? おやじの環境では大量データをアップロードする環境は作らないと無いので・・・。
試してみた結果、どうもアップロード側では帯域制限が機能していないようなので、私が何か間違っているのかと思い質問させて頂きました。bw_modはアップロード側には機能しないと考えた方がよいのかもしれません。
アップロード側の帯域制限の方法はないものでしょうか?
> > > 2.
> > > bw_modで帯域制限できるのはダウンロード側のみでアップロード側の制限はできないのでしょうか?
> >
> > こちらは、ドキュメントにははっきり書いてなかったような気がします。試してみればすぐわかるのではないでしょう? おやじの環境では大量データをアップロードする環境は作らないと無いので・・・。
>
> 試してみた結果、どうもアップロード側では帯域制限が機能していないようなので、私が何か間違っているのかと思い質問させて頂きました。bw_modはアップロード側には機能しないと考えた方がよいのかもしれません。
> アップロード側の帯域制限の方法はないものでしょうか?
おやじは専門家ではないのですが、ダウンロード側はApache(アプリ)が送信する量を制御することで実現できるので、bw_modのようにな実装を行えば済みます。
それに対してアップロード側は、簡単に言えばクライアント側の都合でデータが送られてきてしまうので制御できないからと考えます。
実際の話として、この制御はアプリでは無理でTCPのあたりでわざとACKを返すのを遅くする等で似たようなことはできると思いますが、この方法では制御単位をかえる(BandWidthPacket)ようなことはできないため、できたとしてもかなりラフなものになるので実現していないのだと思います。