apache2 限制并发连接数
apache2 限制并发连接数可以达到多种效果,首先请下载并安装:mod-cband
mod-cband下载地址:
http://cband.linux.pl/
tar zxvf 文件名
cd 文件夹名
./configure –with-apxs/Apache目录/bin/apxs
make
make install
然后,检查apache的配置文件夹httpd.conf是否有这一行,如果没有,添加
LoadModule cband_module modules/mod_cband.so
再在httpd.conf任意位置加入
CBandRandomPulse On
然后,配置虚拟主机,在虚拟主机处加入
CBandSpeed 1024 10 30
CBandSpeed 的部份是指所有總連線速率最大為1024kbps,每秒最多只能有10個連線,Total的連線數最大為30。
另外,其它的应用:
Example 1 :
ServerName www.21nw.com
ServerAdmin admin@21nw.com
DocumentRoot /var/www
CBandSpeed 1024 10 30
CBandRemoteSpeed 20kb/s 3 3
CBandSpeed 的部份是指所有總連線速率最大為1024kbps,每秒最多只能有10個連線,Total的連線數最大為30。
CBandRemoteSpeed是限制每一個獨立的連線速率最大為20kbps,後面的 3 3 還不太清楚含义?
設定好之後就可以重開 Apache 來測試一下 ~ 我放了一個 5mb 的檔案下載,嗯,果然傳輸速度會慢慢被限制在 20 k 左右
Example 2.
ServerName www.21nw.com
ServerAdmin admin@21nw.com
DocumentRoot /var/www
CBandLimit 100M
CBandExceededSpeed 128 5 15
CBandScoreboard /var/www/scoreboard
CBandPeriod 4W
這個範例就有趣多了,是限制 www.21nw.com這個站每個月的流量限制為 100MB,當超出這個流量後,就限制為 128 kbps,相對的 max requests per second 變成 5,max open connections 變為 15,還記得一開始要求建立 scoreboard 這個目錄吧,原來它就是用來計算用的!至於 CbandPeriod 4W 就是指四個星期,就是一個月啦!
Example 3.
ServerName www.21nw.com
ServerAdmin admin@21nw.com
DocumentRoot /var/www
CBandLimit 100M
CBandExceededURL 21nw.com/traffic_exceeded.html
CBandScoreboard /var/www/scoreboard
CBandPeriod 4W
這個範例看起來和上面那個很像,不過就是當流量超過 100MB 時,就會顯示 traffic_exceeded.html 通知使用者說你這個流量已超出限制了
Example 4.
ServerName www.21nw.com
ServerAdmin admin@21nw.com
DocumentRoot /var/www
CBandLimit 100M
CBandExceededSpeed 128 5 15
CBandScoreboard /var/www/scoreboard
CBandPeriod 4W
SetHandler cband-status
SetHandler cband-status-me
這個範例可以讓使用者稍微了解一下自己所使用的流量情況囉 ~ 以這範例為例,鍵入 http://21nw.com/cband-status 或http://www.21nw.com/cband-status-me 即可
其他版本的apache也许会有所出入