最近有博友发现我的博客经常http 503,博客负载不大,应该不会出现负载问题,很有可能就是Apache最大连接数原因,Apache默认支持150个连接。

1.先要修改最大连接数,必须了解Apache的MPM(Multi -Processing Modules,多道处理模块)

Apache2.0

中MPM分为3种(perfork、worker、event)。perfork从Apache1.3中继承下来的,它采用的是进程管

理方式,所以它可以提供更可靠的性能和更好的兼容性;worker是Apache2.0中新增加的方式,它采用了线程控制方法,可以比perfork更节

约系统开销、处理更多的数据量,但同时兼容性并不是很好,很多旧的程序无法工作在worker下;event仍处于试验阶段,它为每个任务分配不同的进程

池。

查看方法:通过http -l查看你的apache采用的MPM

可以看到我的apache采用的就是prefork工作方法。

2.配置prefork参数

默认参数如下:

StartServers 8
MinSpareServers 5
MaxSpareServers 20
MaxClients 150
MaxRequestsPerChild 1000

当Apache被启动时,Apache会自动创建StartServers个进程,并且尽力将空闲进程数保持在MinSpareServers和MaxSpareServers之间。

如果空闲进程小于MinSpareServers,Apache将会以大约每秒1个的速度新建进程。

如果空闲进程小于MaxSpareServers,Apache将会删除多余的空闲进程,释放服务器资源。

进程数的最大值由MaxClients控制,在Apache1.3中最大只能设置为256,但在Apache2.0中,可以通过在配置开头增加ServerLimit项目来突破256的限制,此时必须MaxClients ≤ ServerLimit ≤ 20000

MaxRequestsPerChild用来控制每个进程在处理了多少次请求之后自动销毁,这个参数可以设置为0表示无限(即不销毁进程)。

我个人的配置如下:

StartServers       10
MinSpareServers    10
MaxSpareServers   15
ServerLimit      4000
MaxClients       2056
MaxRequestsPerChild  10000
重启Apache后生效
3.关于apache最大连接数设置
查看当前的连接数可以用:
ps aux | grep httpd | wc -l
或:
pgrep httpd|wc -l

计算httpd占用内存的平均数:

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

静态页面,CPU消耗很低,每进程占用内存也不算多,大约200K。

假如服务器内存有2G,除去常规启动的服务大约需要500M(保守估计),还剩1.5G可用,那么理论上可以支持1.5*1024*1024*1024/200000 = 8053.06368

约8K个进程,支持2W人同时访问应该是没有问题的(能保证其中8K的人访问很快,其他的可能需要等待1、2秒才能连上,而一旦连上就会很流畅)

一步一步教你如何在linux下配置apache+tomcat(转)

一步一步教你如何在linux下配置apache+tomcat   一.安装前准备. 1.   所有组件都安装到/usr/local/e789目录下 2.   解压缩命令:tar —vxzf 文件名(. ...

linux下配置apache多站点访问-小案例

一级域名(baidu.com)也叫作顶级域名,注册一级域名是需要付费的. 而二级域名(image.baidu.com)是一级域名的延伸,所以只要购买了一级域名,二级域名是可以任意配置的. 其实(www ...

linux下配置Apache基于加密的认证访问

1.首先要确认安装了 mod_ssl模块 我的机器是centos是系统,执行下面命令 yum install -y mod_ssl 2.用openssl工具生成密钥,证书请求文件,证书 在/usr/l ...

Linux下配置Apache为多端口

1.打开Apache的配置文件httpd.conf,在Listen 80处另起一行输入Listen 8080(监听8080端口),要想再添加端口可依次添加 2.在httpd.conf文件最后一行添加: ...

【Linux】Linux下配置apache

一.获取软件: http://httpd.apache.org/   httpd-2.4.10.tar.gz 二.安装步骤: 解压源文件: 1) tar zvxf  httpd-2.4.10.tar. ...

【Linux】Linux下配置apache - 安装文件夹具体解释

一,apache安装路径解释 默认安装路径   /var/apache2 # /etc/apache2/ # |-- apache2.conf # | `--  ports.conf # |-- mo ...

Linux下配置APACHE支持PHP环境

编辑 /usr/local/apache2/conf/httpd.conf 文件时要注意: 找到: AddType application/x-compress .Z AddType applicat ...

Linux下配置PHP开发环境

转载于: http://www.uxtribe.com/php/405.html 该站下有系列PHP文章. 在Linux下搭建PHP环境比Windows下要复杂得多.除了安装Apache,PHP等软件 ...

Linux下配置Lamp

linux下配置lamp步骤: 一.快速安装Apache+PHP5+MySql 先更新: # yum update 然后安装LAMP环境:(163的yum源上只有php5.1.6 mysql 5.0. ...