Apache下使用Bandwidth Mod限制总带宽

来源:岁月联盟 编辑:exp 时间:2012-02-23
Apache下使用Bandwidth Mod限制总带宽
环境:
CentOS release 5.6 + Apache 2.2.22
mod_bw v0.92
http://ivn.cl/files/source/mod_bw-0.92.tgz
mod_bw v0.92 文档
http://legacy.ivn.cl/files/txt/mod_bw-0.92.txt
 
下载及安装:
#wget http://ivn.cl/files/source/mod_bw-0.92.tgz
#tar zxvf mod_bw-0.92.tgz
#/data/apps/httpd2.2.22/bin/apxs -c -i -a mod_bw.c
配置VirtualHost
 
<VirtualHost *:80> 
DocumentRoot /data/webapps/www.domain.com 
ServerName www.domain.com 
 
<Location /> 
        SetEnvIfNoCase User-Agent "Googlebot" google 
        Order allow,deny 
        Allow from all 
        deny from env=google 
</Location> 
 
BandWidthModule On 
ForceBandWidthModule On 
BandWidth     all 131072 
</VirtualHost> 
 
其中<Location />***</Location> 段是为了拒绝Googlebot的抓取用的。
在没有暴露链接地址的情况下,Google老来抓取文件,原因不明。
当然这个可以robots.txt里面写上,但没这个见效快。
下面是两个概念(注意区分大小写):
bps ( bits per second ) 位/秒 一般用作传输速率
Bps ( bytes per second ) 字节/秒 一般用作显示速度
1Byte = 8*1bit (1字节=8字位)
而我们通常所讲的2M带宽、10M带宽,一般是指10Mbit (10Mbps)
官方文档上BandWidth的单位:BandWidth [From] [bytes/s]
所以如果要限制某个虚拟主机的总带宽为1M,则:
 
BandWidth     all 131072 
 
// (1024*1024) bps/8 = 131072 Bps

摘自 JOM_CH