高负载下 Apache 内存与进程的最佳实践

协程流星
• 阅读 2990

检查 Apache 是否运行在 prefork 的工作模式

apachectl -V | grep MPM
httpd -V | grep MPM

Server MPM:     Prefork
 -D APACHE_MPM_DIR="server/mpm/prefork"

查看当前每个进程所占用的内存

top -bn 1 | grep httpd

 56961 apache    20   0  406m  49m  40m S  1.9  0.1   0:21.92 httpd
 56963 apache    20   0  406m  53m  44m S  1.9  0.1   0:20.45 httpd
 56967 apache    20   0  402m  52m  42m S  1.9  0.1   0:20.28 httpd
 56971 apache    20   0  404m  54m  44m S  1.9  0.1   0:21.18 httpd
 56974 apache    20   0  415m  55m  42m S  1.9  0.1   0:20.07 httpd

RES column 是 Apache process 使用的内存量,左起第六列。

计算进程数

最大进程数 = Apache 所能消耗的内存总量 / 每个进程消耗内存量

设定相关参数

<IfModule prefork.c>
StartServers                30%MaxClients
MinSpareServers               5%
MaxSpareServers                 10%
ServerLimit                 256
MaxClients                  200 = 10G/50M
MaxRequestsPerChild 10000
</IfModule>

restart

  • apache 实际会在这个框架内,再控制进程。比如负载不高时候,自动减少进程。
  • apache 规划的关键在最大负载时候内存量,这一点和 nginx 不同
  • 通过最大内存量,计算出 MaxClients
  • 所有其他值均根据 MaxClients 计算出
点赞
收藏
评论区
推荐文章
Stella981 Stella981
3年前
PhoneGap设置Icon
参考:http://cordova.apache.org/docs/en/latest/config\_ref/images.html通过config.xml中的<icon标签来设置Icon<iconsrc"res/ios/icon.png"platform"ios"width"57"height"57"densi
Wesley13 Wesley13
3年前
NGINX配置入门
Nginx是一个轻量级高性能的web服务器,它是为快速响应大量静态文件请求和高效利用系统资源而设计的。与apache使用面向进程或线程的方式处理请求不同,nginx使用异步事件驱动模型在负载下性能更突出。虽然nginx能高效地服务静态文件,但也有人认为nginx处理动态内容并不理想。不像apache服务器,nginx没用使用内嵌解释器的方式来处理动态内容
Wesley13 Wesley13
3年前
LAMP架构之PHP模块支持与虚拟主机配置
本文索引:Apache和PHP结合编辑apache主配置文件验证是否支持PHPapache启动小问题apache默认虚拟主机开启虚拟主机服务默认虚拟主机测试Apache和PHP结合1.编辑apache的主配置文件
Wesley13 Wesley13
3年前
APACHE 2.2.15+TOMCAT6.0.26配置负载均衡
目标:使用apache和tomcat配置一个可以应用的web网站,要达到以下要求:1、Apache做为HttpServer,后面连接多个tomcat应用实例,并进行负载均衡。2、为系统设定Session超时时间,包括Apache和tomcat3、为系统屏蔽文件列表,包括Apache和tomcat
Stella981 Stella981
3年前
Apache基础教程
Apache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩充,将Perl/Python等解释器编译到服务器中。本教程主要介绍了Apache安装、Apache环境配置、Apache搭建网站、Apache压力测试等与Apach
Stella981 Stella981
3年前
HBase启动失败
如果在hbase的shell中输入了status报错,hbase(main):001:0statusERROR:org.apache.hadoop.hbase.ipc.ServerNotRunningYetException:Serverisnotrunningyetatorg.apache.ha
Stella981 Stella981
3年前
Apache里的 MPM 调优比较详细
1、什么是MPM?MultiProcessingModule(MPM)implementsahybridmultiprocessmultithreadedserver。(多进程、多线程)2、有多少种MPM?大致有:preforkMPM、workerMPM、BeOSMPM、NetWareMPM、OS/2MPM、W
Easter79 Easter79
3年前
Tomcat,apache负载均衡
tomcat负载均衡配置:1:安装apache和tomcat2:修改apache下的http.conf,修改监听端口:Listen8080把mod\_jk1.2.28httpd2.2.3.so拷贝到apache下的modules目录下.在http.conf加入:LoadModulejk\_modulemodules/mod\_
Stella981 Stella981
3年前
Apache mpm模式优化
Apache采用的MPM(MultiProcessingModules,多道处理模块),管理网络连接处理请求一、简介针对操作系统的处理模块mpm_beos、mpm_event、mpm_netware、mpmt_os2、mpm_prefork、mpm_winnt、mpm_worker其中Linux系统使用 
Stella981 Stella981
3年前
Apache Kylin的实践与优化
!(https://oscimg.oschina.net/oscnet/up14b7bb33614781e91b785dd87d5a4003a36.JPEG)背景销售业务的特点是规模大、领域多、需求密。美团到店餐饮擎天销售系统(以下简称“擎天”)作为销售数据支持的主要载体,不仅涉及的范围较广,而且面临的技术场景也非常复杂(多组织层级数据展
Stella981 Stella981
3年前
Apache工作模式
Apache的几种工作模式查看Apache所有工作模式:在httpd目录执行以下命令:./configurehelp/withmpm在help文件中搜索“withmpm”工作模式有:prefork、worker、event、beos、mpmt
协程流星
协程流星
Lv1
既然当初做了那样的决定,就算后悔也无济于事。
文章
3
粉丝
0
获赞
0