蒙面人生蒙面人生

使用mob_bw管理apache2下载带宽

有个下载站,提供大文件的上传下载服务,没有盗链,都是正常应用,带宽经常占满。后来查到原来有几个用户使用的带宽是百兆光纤,这几个用户一下载,整个服务器的带宽就基本上被用光了,其他用户再来下载,基本上就下载不下来了。
机房给的带宽是百兆共享,最多能用到10M,为了能充分合理的使用带宽,这里使用了apache的bw_module。

安装
wget http://apache.ivn.cl/files/source/mod_bw-0.8.tgz
tar xzvf mod_bw-0.8.tgz
cd mod_bw
/usr/local/apache/bin/apxs -i -a -c mod_bw.c
配置
编辑httpd.conf
添加如下一行

 

XML/HTML代码
  1. LoadModule bw_module          modules/mod_bw.so  

设置带宽控制策略
我这里的需求有两点,一是只要带宽足够,则尽量给用户最多的带宽;而是如果同时下载人数过多,则给用户保障一个最低带宽,并且尽量平均分配。

XML/HTML代码
  1. BandWidthModule on   
  2. ForceBandWidthModule On   
  3. BandWidth all 10240000   
  4. MinBandWidth all 204800  

在这种情况下,总带宽限制在10M,如果服务器上只有一个用户在下载,那么就给他10M的带宽(如果客户端也能有这么高带宽的话),当有50个用户在下载的话,则保障每个用户都能有200K带宽,当有100个用户在下载的话,则平均每个用户分配100K带宽。
bw_module的策略还有很多种,具体可以看源代码中的mod_bw.txt

本原创文章未经允许不得转载 | 当前页面:蒙面人生 » 使用mob_bw管理apache2下载带宽

评论 2

  1. 我路过一下。

    an9 2010-03-25    回复
    • 欢迎经常来路过,不收过路费的.

      monface 2010-03-26    回复