Apace2.4配置prefork模式优化

简介

prefork是一个多路处理模块(MPM),实现了一个进程型的、预派生的web服务器,适合于没有线程安全库、需要避免线程兼容性问题的系统,在要求每个请求相互独立的情况下具有很好的特性,若一个请求出现问题不会影响到其他请求,同时具有很强的自我调节能力,只需要很少的配置指令进行调整就可以适合于企业应用要求,最重要的是将限定同一时间客户端最大接入请求的数量(MaxClients)设置为一个足够大的数值以处理潜在的请求高峰,同时又不能太大,以避免所需的内存超出物理内存的大小。

工作方式

一个单独的控制进程(父进程)负责产生子进程,子进程用于监听请求并作出应答,因此在内存中会一直存在一些备用的spare或是空闲的子进程用于响应新的请求,可加快响应速度(所谓的预派发是指客户在没有使用之前,先对其分配,比如10几个留作空闲备用)并且父进程通常以root身份运行,以便绑定80端口,子进程通常以一个低特权的用户运行,可通过配置项的User和Group配置

实验环境

  • 系统环境:centos6.5
  • 服务器IP地址:192.168.100.103
  • yum挂载目录:/mnt/sr0
  • 相关源码包下载地址:百度云下载 ??密码:pko3

搭建步骤

一、准备工作

1、关闭防火墙及selinux

[[email protected] ~]# chkconfig iptables off #随开机关闭iptables
[[email protected] ~]# vim /etc/sysconfig/selinux

[[email protected] ~]# reboot #重启生效

2、卸载以RPM方式安装httpd相关包

[[email protected] ~]# rpm -qa | grep "httpd"

[[email protected] ~]# yum remove httpd #卸载httpd相关包

3、搭建DNS服务器

如果没有搭建以上两个服务的朋友,请查看我的其他帖子有详细介绍
http://blog.51cto.com/11905606/2156944

二、搭建httpd服务

1、安装gcc、gcc-c++、make、arp、arp-util、pcre等工具包

[[email protected] ~]# yum -y install gcc gcc-c++ make zlib-devel #安装C语言编译器以及make

[[email protected] ~]# tar -zxvf apr-1.4.6.tar.gz -C /usr/src/
[[email protected] ~]# cd /usr/src/apr-1.4.6/
[[email protected] apr-1.4.6]# ./configure prefix=/usr/local/apr && make && make install

[[email protected] ~]# tar -zxvf apr-util-1.4.1.tar.gz -C /usr/src/
[[email protected] ~]# cd /usr/src/apr-util-1.4.1/
[[email protected] apr-util-1.4.1]# ./configure prefix=/usr/local/apr-util --with-apr=/usr/local/apr && make && make install

[[email protected] ~]# tar -zxvf pcre-8.10.tar.gz -C /usr/src #支持正则
[[email protected] ~]# cd /usr/src/pcre-8.10/
[[email protected] pcre-8.10]# ./configure prefix=/usr/local/pcre && make && make install

2、配置编译安装apache

[[email protected] ~]# tar zxvf httpd-2.4.2.tar.gz -C /usr/src/
[[email protected] ~]# cd /usr/src/httpd-2.4.2/
[[email protected] httpd-2.4.2]# ./configure \
--prefix=/usr/local/httpd \
--with-apr=/usr/local/apr \
--with-pcre=/usr/local/pcre \
--enable-expires \
--with-mpm=prefork \
--enable-rewrite \
--enable-charset-lite \
--enable-cgi

参数解析:

prefix:指定安装目录
enable-expire:启用mod_expires模块(网页缓存)
with-mpm=prefork:指定prefork工作模式
enable-so:启用动态加载模块支持,需要什么功能可以动态加载
enable-rewrite:启用网页地址重写功能,实现伪静态
enable-charset-lite:默认字符集
enable-cgid:启用CGID

[[email protected] httpd-2.4.2]# make && make install #编译及编译安装

3、添加系统服务

[[email protected] ~]# cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd

[[email protected] ~]# vim /etc/init.d/httpd

第2、3两行添加以下参数:

# chkconfig:2345 85 15
# description:Apache is a World Wide Web server.

[[email protected] init.d]# chmod +x /etc/init.d/httpd
[[email protected] init.d]# chkconfig --add httpd

4、建立软链接,方便管理

[[email protected] ~]# mkdir -p /etc/httpd
[[email protected] ~]# ln -s /usr/local/httpd/conf/ /etc/httpd/ #优化配置文件路径
[[email protected] ~]# ln -s /usr/local/httpd/bin/* /usr/local/bin/ #优化命令路径

5、修改配置文件

[[email protected] ~]# vim /etc/httpd/conf/httpd.conf

修改以下参数:

ServerName www.bt.com:80 #填写完全主机名
Listen 192.168.100.103:80 #监听本地IP

6、启动httpd服务

[[email protected] ~]# service httpd start
[[email protected] ~]# netstat -anpt | grep ‘:80‘

7、编辑默认首页

[[email protected] ~]# cp qingzi.jpg /usr/local/httpd/htdocs/ #将图片拷贝到站点目录下
[[email protected] ~]# cd /usr/local/httpd/htdocs/ #进入站点目录
[[email protected] htdocs]# vim index.html

<html>
??<body>
????<h1>It works!</h1>
????<img src=‘qingzi.jpg‘ /> #首页添加图片
??</body>
</html>

8、测试首页

三、配置prefork工作模式

1、查看工作模式

[[email protected] ~]# httpd -l

2、查看进程数

[[email protected] ~]# lsof -i :80

lsof是一个列出当前系统打开文件的工具,可显示系统打开的文件,因为lsof需要访问核心内存和各种文件。
-i:列出端口或者协议的连接信息

3、使用ab工具进行压力测试

[[email protected] ~]# ab -n2000 -c1000 www.bt.com/index.html

4、编辑主配置文件

[[email protected] ~]# vim /etc/httpd/conf/httpd.conf

5、编辑MPM配置文件

[[email protected] ~]# vim /etc/httpd/conf/extra/httpd-mpm.conf

[[email protected] htdocs]# /etc/init.d/httpd restart #重启服务

6、再次使用ab压力工具进行测试

[[email protected] ~]# ab -n2000 -c1000 www.bt.com/index.html

[[email protected] ~]# lsof -i :80 | grep -E -v "COMMAND|root" | wc -l

原文地址:http://blog.51cto.com/11905606/2160438

时间: 2024-11-09 09:17:51

Apace2.4配置prefork模式优化的相关文章

apache 优化配置 prefork模式

(一)prefork模式下(其他模式下不适用),apache需要优化的主要参数: ServerLimit 3000 StartServers 750 MinSpareServers 5 MaxSpareServers 100 MaxClients 3000 MaxRequestsPerChild 10000 首先来看看apache各个参数的意义(引号里引用的是官方文档的描述): (1)ServerLimit和MaxClients 服务器最大同时响应请求数 这个就是你当前配置的apache最大的并

Apache worker/prefork模式说明及优化配置

  --with-mpm=worker 编译时可以指定 默认是perfork模式查看模式[[email protected] ~]# httpd -V | grep "Server MPM"Server MPM: Workerprefork模式(默认): 主进程 子进程 1 子进程 2 子进程 3   使用的是多个子进程,而每个进程只有一个线程,每个进程在某个确定的时间只能维持一个连接.工作原理:  控制进程最初建立若干个子进程,为了不在请求到来时再生成子进程,所以要根据需求不断的创建

Apache优化配置——工作模式

Apache所运行的硬件环境都是对性能影响最大的因素 各个硬件指标中,对性能影响最大的是内存,其次是硬盘的速度 ●Apache的工作模式 1.prefork模式(一个 非线程型的) ⑴.主要工作方式:当Apache服务器启动后,mpm_prefork模块会预先创建多个子进程(默认为5个),每个子进程只有一个线程,当接收到客户端的请求后,mpm_prefork模块再将请求转交给子进程处理,并且每个子进程同时只能用于处理单个请求.如果当前的请求数将超过预先创建的子进程数时,mpm_prefork模块

apache mpm模式优化

apache会不停创建httpd进程,到了一定数量后会发现网站访问非常慢,即使是本地的也会非常慢.后来查了一下有可能是mpm设置的问题. 原文地址:http://hi.baidu.com/rainchen/blog/item/095f0a551fa802c5b645ae46.html 手 头有一个网站在线人数增多,访问时很慢.初步认为是服务器资源不足了,但经反复测试,一旦连接上,不断点击同一个页面上不同的链接,都能迅速打开,这种现 象就是说明apache最大连接数已经满了,新的访客只能排队等待有

Apache的prefork模式和worker模式

prefork模式这个多路处理模块(MPM)实现了一个非线程型的.预派生的web服务器,它的工作方式类似于Apache 1.3.它适合于没有线程安全库,需要避免线程兼容性问题的系统.它是要求将每个请求相互独立的情况下最好的MPM,这样若一个请求出现问题就不会影响到其他请求. 这个MPM具有很强的自我调节能力,只需要很少的配置指令调整.最重要的是将MaxClients设置为一个足够大的数值以处理潜在的请求高峰,同时又不能太大,以致需要使用的内存超出物理内存的大小. worker模式此多路处理模块(

External Configuration Store Pattern 外部配置存储模式

Move configuration information out of the application deployment package to a centralized location. This pattern can provide opportunities for easier management and control of configuration data, and for sharing configuration data across applications

apache配置gzip模式(转)

最近在看有关提高website性能的书,个人觉得挺不错的两本书: <<high performance websites>> <<even faster websites>> 觉得还是挺有收获的.其中有一章关于gzip的,就拿apache2.2来实践一下. 要让apache支持gzip功能,要用到deflate_Module和headers_Module.进入apache的配置文件 httpd.conf进行修改. 然后针对这两个module进行一些配置即可:

树莓派配置AP模式

所需硬件:树莓派.无线网卡 1.查看无线网卡是否被识别 [email protected] ~ $ sudo lsusb Bus 001 Device 002: ID 0424:9512 Standard Microsystems Corp. Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. Bus

配置LACP模式链路聚合

组网需求 在两台Router设备上配置LACP模式链路聚合组,提高两设备之间的带宽与可靠性,具体要求如下: 两条活动链路具有负载分担的能力. 两设备间的链路具有一条冗余备份链路,当活动链路出现故障链路时,备份链路替代故障链路,保持数据传输的可靠性. 配置LACP模式链路聚合组网图 配置思路 采用如下的思路配置LACP模式链路聚合: 1. 在Router设备上创建Eth-Trunk,配置Eth-Trunk为LACP模式,实现链路聚合功能. 2. 将成员接口加入Eth-Trunk. 3. 配置系统优