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

标签: apache | 发表时间:2015-01-19 21:19 | 作者:wow900
出处:http://segmentfault.com/blogs

检查 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 计算出

相关 [负载 apache 内存] 推荐:

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

- - SegmentFault 最新的文章
检查 Apache 是否运行在 prefork 的工作模式. 查看当前每个进程所占用的内存. RES column 是 Apache process 使用的内存量,左起第六列. 最大进程数 = Apache 所能消耗的内存总量 / 每个进程消耗内存量. apache 实际会在这个框架内,再控制进程.

Apache负载均衡实战-session共享

- - 企业架构 - ITeye博客
              含Session共享. 下载Apache、tomcat.     2个或者多个tomcat. 将此文件添加到目录F:\Apache24\modules. 1 修改Apache conf目录下的httpd.conf. 2 新建mod_jk.conf文件. 在目录F:\Apache24\conf下添加文件,内容如下:.

apache占用内存高解决办法

- - Web前端 - ITeye博客
我用512M的vps,访问量不大,但内存占用很大,甚至宕机. 我用top,然后shitf+m发现,httpd占用内存极大. 经过网上找资料设置后,用过一段时间终于没再出现内存问题了. 首先查找配置文件的位置,可以用如下命令:. 找到配置文件/usr/local/apache/conf/extra/httpd-mpm.conf,修改设置Apache MPM Prefork模块.

apache与tomcat负载集群的3种方法

- dongsheng - BlogJava-首页技术区
花了两天时间学习apache与tomcat的集成方法,现在把学习成果记录下来. apache与tomcat负载集群集成方法有3种jk、jk_proxy、http_proxy. 本次测试是1个apache集成两个tomcat. 安装apache http server省略,访问地址为http://127.0.0.1:8081.

apache与tomcat负载集群的3种方法 (转载)

- - 研发管理 - ITeye博客
集群tomcat主要是解决SESSION共享的问题. 花了两天时间学习apache与tomcat的集成方法,现在把学习成果记录下来. apache与tomcat负载集群集成方法有3种jk、jk_proxy、http_proxy. 本次测试是1个apache集成两个tomcat. 安装apache http server省略,访问地址为http://127.0.0.1:8081.

基于apache的tomcat负载均衡和集群配置

- - 研发管理 - ITeye博客
基于apache的tomcat负载均衡和集群配置. httpd-2.2.15-win32-x86-no_ssl.msi    网页服务器. mod_jk-1.2.30-httpd-2.2.3.so             Apache/IIS 用来连接后台Tomcat的模块,支持集群和负载均衡.        JK 分为两个版本 1,x 和 2.x ,其中 2.x 并不是最新的版本,它是 JK 的另外一个分支,后不知何因没有继续开发,因此2.x 版本已经废弃.

apache安装、简单配置负载均衡和会话保持

- - ITeye博客
首先安装apache依赖的apr和apr-util. 1.下载(apr.apache.org/download.cgi)源文件, 如apr-1.5.1.tar.gz. 2.解压 tar -xzvf apr-1.5.1.tar.gz. 3.进入解压目录,依次执行. 4.下载(apr.apache.org/download.cgi)源文件, 如apr-util-1.5.4.tar.gz.

Apache +Tomcat的负载均衡与集群配置

- - 企业架构 - ITeye博客
Tomcat的安装和配置. Tomcat_a的ip:192.168.55.229. Tomcat_b的ip:192.168.55.231. Tomcat的需要安装jdk和tomcat包(例如apache-tomcat-6.0.30.zip和jdk-6u5-linux-x64.bin). tomcat的安装和配置可以参考我的博客:.

Apache+Tomcat+keepalived的负载均衡session复制及HA

- - 开源软件 - ITeye博客
0、关闭防火墙(service iptables stop; chkconfig --level 35 iptables off),.    关闭selinux vi /etc/selinux/config   SELINUX=disabled. setenforce 0 生效. 1、将mod_jk-1.2.31-httpd-2.2.x.so上传至/etc/httpd/modules目录下.

Linux下Apache+Tomcat搭建负载均衡服务器集群

- - 极客521 | 极客521
这篇文章主要讲解关于如何在Linux下搭建Apache+tomcat 负载均衡服务器集群的过程. 负载均衡集群配置(1):Tomcat的配置. 修改“ tomcat/conf/server.xml ”文件. 编辑server.xml文件,找到“ ”元素节点,在server.xml文件里面未注释掉的有两个 元素节点.