使用mob_bw管理apache2下載帶寬
有個(gè)下載站,提供大文件的上傳下載服務(wù),沒(méi)有盜鏈,都是正常應(yīng)用,帶寬經(jīng)常占滿(mǎn)。后來(lái)查到原來(lái)有幾個(gè)用戶(hù)使用的帶寬是百兆光纖,這幾個(gè)用戶(hù)一下載,整個(gè)服務(wù)器的帶寬就基本上被用光了,其他用戶(hù)再來(lái)下載,基本上就下載不下來(lái)了。機(jī)房給的帶寬是百兆共享,最多能用到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
添加如下一行
引用
LoadModule bw_module
modules/mod_bw.so
設(shè)置帶寬控制策略
我這里的需求有兩點(diǎn),一是只要帶寬足夠,則盡量給用戶(hù)最多的帶寬;而是如果同時(shí)下載人數(shù)過(guò)多,則給用戶(hù)保障一個(gè)最低帶寬,并且盡量平均分配。
引用
BandWidthModule on
ForceBandWidthModule On
BandWidth all 10240000
MinBandWidth all 204800
ForceBandWidthModule On
BandWidth all 10240000
MinBandWidth all 204800
在這種情況下,總帶寬限制在10M,如果服務(wù)器上只有一個(gè)用戶(hù)在下載,那么就給他10M的帶寬(如果客戶(hù)端也能有這么高帶寬的話),當(dāng)有50個(gè)用戶(hù)在下載的話,則保障每個(gè)用戶(hù)都能有200K帶寬,當(dāng)有100個(gè)用戶(hù)在下載的話,則平均每個(gè)用戶(hù)分配100K帶寬。
bw_module的策略還有很多種,具體可以看源代碼中的mod_bw.txt
posted on 2009-09-14 14:05 大龍 閱讀(448) 評(píng)論(0) 編輯 收藏 引用

