okass 在版块 Coding 中回复了话题 Apache2 相关优化专题 2年, 7个月前
P2. Apache2 各种模式的参数优化配置
1. perfork 模式优化
路径: /etc/apache2/mods-available/mpm_prefork.conf
# 默认配置如下
<IfModule mpm_prefork_module>
#ServerLimit 256
StartServers 5 #推荐设置:小=默认 中=20~50 大=50~100
MinSpareServers 5 #推荐设置:与StartServers保持一致
MaxSpareServers 10 #推荐设置:小=20 中=30~80 大=80~120
MaxClients 150 #推荐设置:小=500 中=500~1500 大型=1500~3000
MaxRequestsPerChild 0 #推荐设置:小=10000 中或大=10000~500000
</IfModule># ServerLimit: 服务器最大进程限制数(Apache默认256),该数值应大于等于MaxRequestWorkers,否则MaxRequestWorkers无法设置
# StartServers: 默认开始的服务器进程数
# MinSpareServers: 最小的空闲进程数
# MaxSpareServers: 最大的空闲进程数
# MaxRequestWorkers: 最大数量的服务器进程数,2.3.13之前叫MaxClients ,最重要的一个参数
# MaxConnectionsPerChild: 最大连接数的一个服务器进程服务- ServerLimit,取决于你系统的资源,每个apache进程默认占用20M内存,基本可以按照这个公式来计算:最大内存*80%/2M=ServerLimit
- MaxRequestWorkers,一般apache线程数不会超过100,为什么?内存为2G的,100个线程就近2G了。
- MinSpareServers,如果当前空闲子进程数少于MinSpareServers ,那么Apache将以第一秒一个,第二秒两个,第三秒四个,按指数递增个数的速度产生新的子进程。在一台压力大(并发访问2800)的服务器上,MaxSpareServers这个值设置的是200
- MaxRequestsPerChild,指令设置每个子进程在其生存期内允许伺服的最大请求数量。完成了指定的请求数后,会自动结束。好处:可防止偶然的内存泄露。若为0,可服务无限次。另外,kepalive连接,只计一个数
- Keep-Alive 默认:ON
- MaxKeepAliveRequests 默认:100,到该请求数后,将关闭该keepalive
- KeepAliveTimeout 默认:5 ,到达该时间后,将关闭keepalive
- TimeOut 默认:300 ,
最后在线: 活跃于 6个月, 2周前
评论: 7
获赞: 0
文章: 0
粉丝: 68
关注: 68
好友: 8
User Rating: ( vote)