apacheの帯域制御(Qos)設定〜テスト

apache帯域制御関連ブックマークを下記へまとめてみました。

http://delicious.com/bbharaimac/Qos

Qosのテスト

目的:20MBのpdfダウンロード時の帯域制御—同時5名x800Kbps(4.8MBbps)

#mod_limitipconnの設定値
MaxConnPerIP 10
<Location />
MaxConnPerIP 5
OnlyIPLimit application/pdf pdf
</Location>
#mod_cbandの設定値
CBandLimit 120M
CBandExceededSpeed 800 5 15
CBandPeriod 60S
テスト1)curlコマンドを使い20MBのpdfを同時5画面からダウンロード>平均1分37秒でダウンロード完了
% Total     %  Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload   Upload  Total   Spent    Left    Speed
100 19.9M  100 19.9M    0     0   205k      0  0:01:39  0:01:39 --:--:--  571k    <---同時5画面でダウンロードした時のスピード
100 19.9M  100 19.9M    0     0   210k      0  0:01:37  0:01:37 --:--:--  442k    <--
1100 19.9M 100 19.9M    0     0   240k      0  0:01:25  0:01:25 --:--:--  156k    <--
100 19.9M  100 19.9M    0     0   190k      0  0:01:47  0:01:47 --:--:--  756k    <--
100 19.9M  100 19.9M    0     0   209k      0  0:01:37  0:01:37 --:--:--  725k    <--
100  1004  0    1004    0     0    338      0  --:--:-- 0:00:02 --:--:--    0     <---6画面同時ダウンロードはできない
テスト2)curlコマンドで20MBのpdfを1画面からダウンロード>20秒でダウンロード完了
100 19.9M  100 19.9M    0     0   985k      0  0:00:20  0:00:20 --:--:-- 1011k

参考までにmod_limitipconnの同時アクセス数を超えた時のエラーメッセージは次のようにエラー503となります。

Service unavailable!

The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later.

If you think this is a server error, please contact the webmaster.

Error 503

適用後の設定値見直しについて

IPによるアクセス制御はサービス停止攻撃には有効です。しかし、企業内の複数PCからダウンロードされた場合も同一IP扱いなので同等に制御されます。
従って、設定後はapapcheのログファイルでダウンロード状況を確認し、設定値を見直すことも必要かと思います。