【apache httpd】解决apache的httpd引起的服务器高负载

更新时间:2020-01-04    来源:apache    手机版     字体:

【www.bbyears.com--apache】

1.jpg

 

负载图上图。

 

找了半天的原因。做了一些优化:

优化完成的时候访问量已经没那么高了。所以也不知道效果到底如何。看看以后效果吧。

[root@localhost ~]# netstat -an | grep ESTABLISHED | wc -l

210  已连接数

[root@localhost ~]# ps aux|grep httpd|wc -l

55 进程数

[root@localhost ~]# ps -ef|grep httpd|wc -l

55  apache 能处理的数

[root@localhost ~]# netstat -nat|grep -i “80″|wc -l

698  网络请求数

实时检测HTTPD连接数:

watch -n 1 -d “pgrep httpd|wc -l”

先修改./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

               修改后

StartServers 10

MinSpareServers 10

MaxSpareServers 15

ServerLimit 2000

MaxClients 1500

MaxRequestsPerChild 10000

 当Apache被启动时,Apache会自动创建StartServers个进程,并且尽力将空闲进程数保持在MinSpareServers和MaxSpareServers之间。
如果空闲进程小于MinSpareServers,Apache将会以大约每秒1个的速度新建进程。
如果空闲进程小于MaxSpareServers,Apache将会删除多余的空闲进程,释放服务器资源。
进程数的最大值由MaxClients控制,在Apache1.3中最大只能设置为256,但在Apache2.0中,可以通过在配置开头增加ServerLimit项目来突破256的限制,此时必须MaxClients ≤ ServerLimit ≤ 20000
MaxRequestsPerChild用来控制每个进程在处理了多少次请求之后自动销毁,这个参数可以设置为0表示无限(即不销毁进程)。

本文来源:http://www.bbyears.com/jiaocheng/84234.html

热门标签

更多>>

本类排行