apache连接数

安装完apache的一定要做的一件事情,就是把默认连接数调到最大。

一、

在/usr/local/apache/httpd.conf中加载MPM配置(去掉前面的注释):

# Server-pool management (MPM specific)
Include etc/apache22/extra/httpd-mpm.conf

二、

改httpd-mpm.conf 中的mpm_prefork_module模块设置为
<IfModule mpm_prefork_module>
                StartServers                      5
                MinSpareServers                   5
                MaxSpareServers                  10
                ServerLimit                    5500
                MaxClients                     5000
                MaxRequestsPerChild               100
</IfModule>
为什么这么改,点击这里
三 、重启apache ,观察连接数,不要超过MaxClients

重启httpd后,通过反复执行pgrep httpd|wc -l 来观察连接数,可以看到连接数在达到MaxClients的设值后不再增加,但此时访问网站也很流畅,那就不用贪心再设置更高的值了,不然以后如果网站访问突增不小心就会耗光服务器内存,可根据以后访问压力趋势及内存的占用变化再逐渐调整,直到找到一个最优的设置值。

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

实时检测HTTPD连接数:
watch -n 1 -d "pgrep httpd|wc -l"


查看Apache的并发请求数及其TCP连接状态:
Linux命令:

    netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'


返回结果示例:
  LAST_ACK 5
  SYN_RECV 30
  ESTABLISHED 1597
  FIN_WAIT1 51
  FIN_WAIT2 504
  TIME_WAIT 1057

说明:  
   SYN_RECV表示正在等待处理的请求数;
   ESTABLISHED表示正常数据传输状态;
   TIME_WAIT表示处理完毕,等待超时结束的请求数。

posted @ 2009-10-24 13:16  大力  阅读(459)  评论(0编辑  收藏  举报