Ubuntu中Apache2.2.14 修改最大连接数方法

作者:袖梨 2022-06-30

windows系统修改apache的最大连接数,方法如下:
   
步骤一:先修改./apache/conf/httpd.conf文件。
        # vi httpd.conf
        将“#Include conf/extra/httpd-mpm.conf”前面的 # 去掉。
        保存。
   
步骤二:再修改./apache/conf/extra/httpd-mpm.conf文件。
        # vi httpd-mpm.conf
       找到 这一行
          原:
            
              StartServers         5
              MinSpareServers      5
              MaxSpareServers      10
              MaxClients           150
              MaxRequestsPerChild  0
          

修改后

           
              ServerLimit          1000
              StartServers         10
              MinSpareServers      5
              MaxSpareServers      10
              MaxClients           1000
              MaxRequestsPerChild  0
          

     
修改后,一定不要apachectl restart,而是先 apachectl stop 然后再 apachectl start才可以。


ubuntu系统修改apache的最大连接数

首先需要确定服务器httpd的工作模式呢,可通过执行 apachect2 -l 来查看:

6826662bg

可以看到有prefork.c,因此httpd是工作在prefork并发模式。

打开apache2的配置文件sudo vi /etc/apache2/apache2.conf

apache2的并发控制模式,包括prefork和worker的部分修改为:

 
show_mop

 

然后重启apache2:
sudo /etc/init.d/apache2 stop
sudo /etc/init.d/apache2 start
即完成设置。
 

注意,MaxClients默认最大为250,若要超过这个值就要显式设置ServerLimit,且ServerLimit要放在MaxClients之前,值要不小于MaxClients,不然重启时会有提示。重启apache2后,通过反复执行pgrep httpd|wc -l来观察连接数,可以看到连接数在达到MaxClients的设值后不再增加,但此时访问网站也很流畅,那就不用贪心再设置更高的值了,不然以后如果网站访问突增不小心就会耗光服务器内存,可根据以后访问压力趋势及内存的占用变化再逐渐调整,直到找到一个最优的设置值。

MaxRequestsPerChild不能设置为0,可能会因内存泄露导致服务器崩溃。

注意

 不管是Worker模式或是Prefork 模式,Apache总是试图保持一些备用的(spare)或者是空闲的子进程(空闲的服务线程池)用于迎接即将到来的请求。这样客户端就不需要在得到服务前等候子进程的产生。

相关文章

精彩推荐