Bookmark and Share

Lee's 程序人生

HTML CSS Javascript XML AJAX ATLAS C# C++ 数据结构 软件工程 设计模式 asp.net Java 数字图象处理 Sql 数据库
  博客园  :: 首页  :: 新随笔  :: 联系 :: 管理

限制Apache并发连接数

Posted on 2008-01-07 19:35  analyzer  阅读(2725)  评论(0编辑  收藏  举报
大型动态系统中,如果客户端不顾缓存设置,大并发量的请求文件,系统的负担会很重,而普通用户的浏览带宽会被这些大并发量客户端浪费和占用,为了防止系统过载,可以通过相应的软件进行限制,我们就是要使用mod_limitipconn模块帮助Apache2实现单一IP地址连接数限制。

以下过程以FreeBSD 6.2环境为准:

1、确保你的Web系统正常运行;

2、安装mod_limitipconn(如果使用的Apache 1.3.x请使用/usr/ports/www/mod_limitipconn):
# cd /usr/ports/www/mod_limitipconn2
# make install clean

3、设置Apache2(我的Apache2是DSO模式):

# 必须启用mod_status,并设置了以下参数
ExtendedStatus On

LoadModule status_module libexec/apache2/mod_status.so
LoadModule limitipconn_module libexec/apache2/mod_limitipconn.so


 
  MaxConnPerIP 3
 



最后,可以使用下载工具测试,我使用了FreeBSD下的Wget工具,在同一台远程机器上,开启4个Wget抓取文件,你如果看到第四个链接(我设置的上限是3,具体多少个和你的设置相关)被拒绝,提示503错误,说明mod_limitipconn起作用了。

已知的问题:
1、对于通过代理服务器浏览的用户,系统会认为是同一IP地址,同样会做出限制。
2、当前的mod_limitipconn模块对所有IP地址一视同仁,还不能区别对待不同的IP地址。
我要啦免费统计