Apache性能优化Maxclients

时间:2017-04-12作者:klpeng分类:Web服务器浏览:2179评论:0

apache的优化与配置

Timeout该参数指定Apache在接收请求或发送所请求内容之前的最长等待时间(秒),若超过该时间Apache则放弃处理该请求,并释放连接。该参数默认值为120,推荐设置为60,对于访问量较大的网站可以设置为30

KeepAlive该参数控制Apache是否允许在一个连接中有多个请求,默认打开。但对于大多数论坛类型站点来说,通常设置为off以关闭该支持。

MPM-prefork.c在默认情况下Apache使用Prefork(进程)工作模式,可以说这部分的参数设置是对Apache性能影响的核心和关键。

查看当前apache连接数 

pgrep httpd|wc -l

计算httpd占用内存的平均数

 ps aux|grep -v grep|awk '/httpd/{sum+=$6;n++};END{print sum/n}'

查看当前内存使用

free

本文的所有设置均在httpd.conf文件中(默认路径/etc/httpd/conf/httpd.conf),首先,为确保服务器安全,我们需要关闭显示apache系统版本号。

在httpd.conf中:

找到ServerSignature ,将值On改为Off:

ServerSignature Off

找到ServerTokens,将值Full改为Prod

 ServerTokens Prod


针对apache的优化:

找到<IfModule prefork.c>

其中配置的意义:

StartServers :Apache服务启动时进程个数

MinSpareServers:Apache服务在运行过程中存留最少的进程个数,如进程个数少于这个值,母进程会每秒创建一个httpd进程,直到等于该值。

MaxSpareServers:Apache服务在运行过程中空闲时存留的最多进程个数。如果进程个数多于这个值,母进程会每秒杀死一个httpd进程,直到等于该值。

ServerLimit、MaxClients:Apache服务能接受同时连接的请求个数,如超过该值,则需排队等候。Apache服务进程数的最大值由MaxClients控制,在Apache1.3中最大只能设置为256,但在Apache2.0中,可以通过在配置开头增加ServerLimit项目来突破256的限制,此时必须 MaxClients ≤ ServerLimit ≤ 20000。

MaxRequestsPerChild:每个httpd进程每接受该值数量的请求链接后就会杀死自己,如有需要,母进程会通过上边的规则重建子进程。


针对512M内存服务器的配置如下:

StartServers 5

MinSpareServers 5

MaxSpareServers 10

ServerLimit 256

MaxClients 256

MaxRequestsPerChild 100


针对1GB内存服务器的设置如下:

StartServers 10

MinSpareServers 10

MaxSpareServers 25

ServerLimit 256

MaxClients 256

MaxRequestsPerChild 1000//或者设置为0,即不限制


原创文章如转载,请注明出处,本文首发于彭超的博客

打赏
文章版权声明:除非注明,否则均为彭超的博客原创文章,转载或复制请以超链接形式并注明出处。
相关推荐

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

猜你喜欢