Apache流量控制
时间:2010-09-15 来源:luwenju
本文引言:由于原来数据量小http下载服务器一直没有遇到问题。当前由于数据量增加,而且是集中发布并公告,造成http负载太重,整个出口带宽被耗尽。请问对apache2 有哪些控制下载进程、并发用户数的策略和限制,谢谢!----chinaunix某网友提问
针对上述问题我们可以给出如下解决方案----使用mod_cband限制Apache流量/带宽
mod_cband是Apache2的一个模块,其功能是限制用户和虚拟主机的带宽,官方网站http://codee.pl/cband.html
一、安装mod_cband
#wget http://codee.pl/download/cband/mod-cband-0.9.7.5.tgz
#tar zxvf mod-cband-0.9.7.5.tgz
#cd mod-cband-0.9.7.5
#./configure --with-apxs=/usr/local/apache/bin/apxs
#make && make install
#ls /usr/local/apache/modules/
mod_cband.so
#more /usr/local/apache/conf/httpd.conf
LoadModule cband_module modules/mod_cband.so
二、配置mod_cband
打开Apache配置文件,在配置文件末尾加入如下内容,如果有虚拟主机,可将其加入到虚拟主机配置内容中
#vi /usr/local/apache/conf/httpd.conf
CBandLimit 100M //限制本节点总访问带宽为100Mb
CBandSpeed 1024 10 30 //限制本节点的最大连接速度为1024kb,最大并发处理10个请求和30个连接数
CBandRemoteSpeed 20kb/s 5 3 //限制一个用户最大连接本节点为20kb,最大5个并发和3个连接数
CBandPeriod 4W //多久后对本节点限制进行重设,W=week
<Location /cband-status>
SetHandler cband-status //开启mod_cband全局检测功能,可通过http://servername/cband-status 进行查看
</Location>
<Location /cband-status-me>
SetHandler cband-status-me //开启mod_cband单一检测功能,可通过http://servername/cband-status-me进行查看
</Location>
三、测试
测试一:笔者将一个100多M的文件放到Apache的web根目录,然后打开网页使用迅雷进行下载,由于笔者设置的是单个节点最大连接速度为1024kb,理论下载值也就是128。笔者的实际下载值在150-180KB之间
测试二:由于我们开启了全局/单一检测功能,可以使用http://servername/cband-status或者http://servername/cband-status-me进行查看,如下图
针对上述问题我们可以给出如下解决方案----使用mod_cband限制Apache流量/带宽
mod_cband是Apache2的一个模块,其功能是限制用户和虚拟主机的带宽,官方网站http://codee.pl/cband.html
一、安装mod_cband
#wget http://codee.pl/download/cband/mod-cband-0.9.7.5.tgz
#tar zxvf mod-cband-0.9.7.5.tgz
#cd mod-cband-0.9.7.5
#./configure --with-apxs=/usr/local/apache/bin/apxs
#make && make install
#ls /usr/local/apache/modules/
mod_cband.so
#more /usr/local/apache/conf/httpd.conf
LoadModule cband_module modules/mod_cband.so
二、配置mod_cband
打开Apache配置文件,在配置文件末尾加入如下内容,如果有虚拟主机,可将其加入到虚拟主机配置内容中
#vi /usr/local/apache/conf/httpd.conf
CBandLimit 100M //限制本节点总访问带宽为100Mb
CBandSpeed 1024 10 30 //限制本节点的最大连接速度为1024kb,最大并发处理10个请求和30个连接数
CBandRemoteSpeed 20kb/s 5 3 //限制一个用户最大连接本节点为20kb,最大5个并发和3个连接数
CBandPeriod 4W //多久后对本节点限制进行重设,W=week
<Location /cband-status>
SetHandler cband-status //开启mod_cband全局检测功能,可通过http://servername/cband-status 进行查看
</Location>
<Location /cband-status-me>
SetHandler cband-status-me //开启mod_cband单一检测功能,可通过http://servername/cband-status-me进行查看
</Location>
三、测试
测试一:笔者将一个100多M的文件放到Apache的web根目录,然后打开网页使用迅雷进行下载,由于笔者设置的是单个节点最大连接速度为1024kb,理论下载值也就是128。笔者的实际下载值在150-180KB之间
测试二:由于我们开启了全局/单一检测功能,可以使用http://servername/cband-status或者http://servername/cband-status-me进行查看,如下图

相关阅读 更多 +