前から疑問に思ってたけど。帯域・同時接続数を制限するCBandSpeed の1つめの引数に帯域を設定できるけど、設定値の約1/3しか出ないっぽい?
<VirtualHost *:80> ServerName foo.example.com # snip <IfModule cband_module> ## kbps rps max_con CBandSpeed 30720 100 64 </IfModule> </VirtualHost>
dd で作った100MBの空のファイルをwgetしてみる。
$ wget http://foo.example.com/hoge.dat (snip) 12:07:25 (1.00 MB/s) - `hoge.dat' saved [104857600/104857600]
1MB/s => 8192kbps ≒ 30720 / 3 (10240)
CBandSpeed を20480 kbps で設定してwgetしたときは
$ wget http://foo.example.com/hoge.dat (snip) 11:54:11 (748.63 KB/s) - `hoge.dat' saved [104857600/104857600]
748KB/s => 5984 kbps ≒ 20480 / 3.0 (6826)
スカスカのwebサーバでも発生するので、負荷の問題ではない。とりあえず、制限したい値の3倍に設定してごまかす。