[置顶] 使用Apache对网站的并发请求进行控制,防止网站瘫痪

 由于项目需要, 可能对Web服务的并发请求产生压力,因此想到了在Apache层进行请求控制的方法.

由于已经有一个mod_limitipconn 可以用来进行并发连接控制, 但由于起用了KeepAlive,因此还需要对并发请求总数进行控制,并对超做并发请求后,把请求重定向到某个页面的业务需要,因此基于mod_limitipconn,进行修改, 以满足业务需要.

配置示例如下:

ExtendedStatus On
LoadModule limitipconn_module modules/mod_limitipconn.so
<IfModule mod_limitipconn.c>
    MaxConnPerIP 1000
    <Location /imlogingw>
        MaxConnPerIP 300
#       NoIPLimit image/*
        MaxReqConcurrent 60
        ExceedReqURL http://10.2.224.63/
    </Location>
</IfModule>

 

对http://10.2.224.63/imlogingw 这个目录进行并发控制,当超过阀值(60)之后,把请求重定向到http://10.2.224.63/这个页面.

 

经过压力测试, 可以正确使用

 

原始的mod_limitipconn 可以从

http://dominia.org/djao/limitipconn.html 下载, 改进后的mod_limitipconn 可以从

http://limitipconnreq.googlecode.com/files/mod_limitipconn-0.23-jaymo.tar.gz

 

你可能感兴趣的:(apache,Module,测试,web服务)