目前各種多線程下載工具泛濫,這對提供部分下載功能的網站來說是個比較頭疼的問題,由于多線程下載會給服務器帶來巨大的負載壓力,而且可能會對整個站點產生影響,使其不能正常訪問。那么有沒有什么方法可以解決這些問題呢?答案是肯定的。目前國內大部分站點都是基于LAMP(Linux+Apache+Mysql+php)架構的,Apache是一個開源的,功能強大,穩定,使用量最大的WEB服務器。Apache是模塊化開發的,可以根據需要增加各種功能模塊,這里我給大家bw_mod。
先去該網站下載所需的modules檔案 (有*nix和Windows版本)
Ivan Barrera A. (Bruce)網站 (http://www.ivn.cl/apache/#bandwidth)
官方文檔 (http://www.ivn.cl/apache/bw_mod-0.6.txt)
接著打開 httpd.conf 此檔
在任何一處空白列中,加入以下那行
LoadModule bw_module modules/bw_mod-2.0.54.dll
(如果你有改檔名,上面的 bw_mod-2.0.54.dll 也須更改成相同檔名)
再加入以下這行,啟動modules (不加此行,預設值是不啟動 disabled)
BandWidthModule On
例一:
BandWidth localhost 10240
BandWidth 192.168.218.5 0
第一行是說,限制 localhost 位置,無論下載多少個檔案,下載速度總合最高只有10KB
第二行是說, 192.168.1.2 這個IP位址,無論下載多少個檔案,下載速度總合最高無限制
(1KB=1024 , 0 即是無限制)
例二:
BandWidth all 10240
MinBandWidth all 5120
這個例子是說
限制所有IP位置,只有一個下載時,最高只有10KB的速度
如果有多個下載時,最小下載單檔的速度是5KB
則:
下載1個檔案 速度為10K 總合下載速度為10K
下載5個檔案 速度各為5K 總合下載速度為25K
例三:
LargeFileLimit .avi 500 10240
副檔名為avi的檔案 且 檔案大小 大於或等於500KB
下載的速度限制最高為10KB
(這里是多人平分那10KB的速度喔! 1人下載有10KB,10人下載只有1KB)