现在的服务器一般都是是100M光钎接入,但是这个并不是我们平时所说的下载速度,例如问说网的服务器带宽为1Mbps,咋一看有1M的下载速度,其实只有128KB/S,这点速度如果同时有100人访问问说网,服务器基本就卡了。 基于上面的介绍,我们可能就需要对服务器的下载进行限速了,Apache有mod_bandwidth模块可以实现这个功能,下载地址:ftp://ftp.cohprog.com/pub/apache/module/。sourceforge地址:http://bwmod.sourceforge.net/ mod_bandwidth 是 Apache 服务器用来限制带宽占用的模块,可以对IP的并发数进行控制,也可以对下载流量进行控制,也可以对某个目录的流量进行控制。 配置mod_bandwidth 修改 httpd.conf 文件 增加下列内容 LoadModule bandwidth_module libexec/apache/mod_bandwidth.so 注意:这两行必须分别加在相应区域的最前面,使得这个模块以最低的优先级运行。 增加下列内容 BandWidthDataDir "/tmp/apachebw/" BandWidth 192.168.0 0 BandWidth all 8192 配置参数 解压bandwidth的压缩文件后,里面有一个mod_bw.txt有详细的说明和实例,下面是部分参数说明: BandWidthDataDir 格式: BandWidthDataDir 设置 mod_bandwidth 保存运行时数据的目录。需要在该目录下创建 ./master 和 ./link 两个子目录,并设置为权限为 777。 注意:有些系统会定时清理 /tmp 目录,所以在这些系统上最好把 BandWidthDataDir 设置到其他地方。 BandWidthModule 格式: BandWidthModule 允许或者禁止模块。 BandWidthPulse 格式: BandWidthPulse 改变计算带宽的时间间隔,默认为1000毫秒(1秒)。使用更低的间隔可以获得更精确的带宽控制,但消耗更多的CPU时间,反之亦然。 注意:这个选项的详细说明请参考 mod_bandwidth 的文档。 BandWidth 格式: BandWidth 限制这个目录下文件下载的速率。 domain 指定来自哪个域的连接受到这个设置的影响。 # 来自 dualface.com 的连接不限制下载速度 格式: LargeFileLimit 对于超过指定大小的文件,下载时使用的速率。如果速率设置0即不限制速度,但下载速度仍然要受到BandWidth设置的影响。如果设置成-1,则完全不受影响。 通过设置不同的文件大小和速率,可以设置不同大小范围内文件的下载速度。 示例: # 文件尺寸大于等于200千字节的文件,下载速率为每秒3072字节 格式: MaxConnection 当超过指定连接数时,拒绝新的连接。 MinBandWidth 格式: MinBandWidth 设置最小带宽,默认为每秒256字节。根据BandWidth和LargeFileLimit设置的速率。mod_bandwidth会计算允许的连接数。例如BandWidth为4096字节,而MinBandWidth为1024字节,则最大并发连接数为4。 注意:这个选项的详细说明请参考 mod_bandwidth 的文档。 ErrorDocument 下面是配置错误页面,如果不设置,Apache自己会报错,就根报404差不多,页面非常的丑。 ErrorDocument 510 /exceed_speed.html |