Apache深入优化

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Apache深入优化相关的知识,希望对你有一定的参考价值。

Apache深入优化

一、ab压力测试工具

1、ab压力测试工具概述

Apache附带的压力测试工具ab,非常容易使用,并且完全可以模拟各种条件对Web服务器发起测试请求。

ab可以直接再Web服务器本地发起测试请求,这对于需要了解服务器的处理性能至关重要,因为它不包括数据的网络传输时间以及用户PC本地的计算机时间,从而可以通过观察各种时间标准判断Web服务器的性能,以便进行参数的优化调整。在进行性能调整优化过程中,可用ab压力测试工具进行优化效果的测试。

2、ab压力测试使用的注意事项

·优化前先使用ab进行压力测试

·优化后,重启服务,再使用ab进行压力测试

·对比两次测试的结果,看优化效果是否明显

·为了能更客观的评价Web服务的性能,一般优化前后都要运用4种以上测试工具进行多次测试,取测试结果的评价值进行对比

3、格式:ab -nN1 -cN2 网站网址

-n 请求数总和

-c 并发用户数

二、Apache工作模式概述

Apache作为现今Web服务器用的最广泛也是最稳定的开源服务器软件,其工作模式有许多种,源码包安装httpd时可查看httpd-mpm.conf文件,该文件位于extra/conf目录中。

目前主要有两种模式:prefork模式和worker模式。

三、prefork工作模式

1、prefork工作模式概述

prefork是一个多路处理模块(MPM),实现了一个进程型的、预派生的Web服务器,适合于没有线程安全库、需要避免线程兼容性问题的系统。

在要求每个请求相互独立的情况下具有很好的特性,若一个请求出现问题不会影响到其他请求。具有很强的自我调节能力,只需要很少的配置指令进行调整就可以适合于企业应用要求。最重要的是将MaxClients设置为一个足够大的数值以处理潜在的请求高峰,同时又不能太大,以避免所需要的内存超出物理内存的大小。

2、工作方式

一个单独的控制进程(父进程)负责产生子进程,子进程用于监听请求并作出应答,因此在内存中会一直存在一些备用的(spare)或是空闲的子进程用于相应新的请求,可加快相应速度。

父进程通常以root身份运行,以绑定80端口,子进程通常以一个低特权的用户运行,可通过配置项的User和Group配置。运行子进程的用户必须要对网站内容有读取权限,但是对其他资源必须拥有尽可能少的权限,以保证系统安全。

四、worker工作模式

1、worker工作模式概述

work也是多路处理模块(MPM),使网络服务器支持混合的多线程多进程。由于使用线程来处理请求,所以可以处理海量请求,而系统资源的开销小于基于进程的MPM。但是也使用了多进程,每个进程又有多个线程,以获得基于进程的MPM的稳定性。

控制该MPM的最重要的指令是:控制每个子进程允许建立的线程数ThreadsPerChild指令和控制允许建立的总线程数的MaxClients指令。

prefork模式与worker模式的对比

Apache深入优化_工作模式

2、工作方式

每个进程能够拥有的线程数量是固定的,服务器会根据负载情况增加或减少进程数量。一个单独的控制进程(父进程)负责子进程的建立。每个子进程能够建立ThreadsPerChild数量的服务线程和一个监听线程,监听线程监听接入请求并将其传递给服务线程处理和应答。

Apache总是会维持一个备用(spare)或是空闲的服务线程池,客户端无需等待新的线程或进程的建立即可得到服务。

父进程一般都是以root身份启动,以绑定80端口;随后,Apache以较低权限的用户建立子进程和线程。User和Group指令用于配置Apache子进程的运行用户。子进程要对网页内容拥有读权限,但应该尽可能限制权限。

四、Apache目录属性

在Apache的配置文件中,对每一个目录都会有相关属性的设置。目录的权限设置使用 和 这对语句为主目录或虚拟目录设置权限,它们是一对容器语句,必须成对出现,它们之间封装的是具体的设置目录权限语句,这些语句仅对被设置的目录及其子目录起作用。

1、Options:用于定义目录使用那些特性

Indexes 当客户仅指定要访问的目录,但没有指定要访问哪个文件,而且目录下不存在默认网页时,返回目录中的文件和子目录列表

五、简单配置Apache深入优化

拓扑图:

Apache深入优化_配置文件_02

推荐步骤:

1、在 Centos01 安装 Apache 服务,配置 Apache 服务设置网站主页

2、在 Centos02 配置 DNS 服务器使用 ​​www.huhu.com​

3、在 Centos01 配置 Apache 优化 prefork 和 worker 工作模式配置压力测试验证

实验步骤:

一、在 Centos01 安装 Apache 服务,在 Centos02 配置DNS ​​服务器使用域名www.huhu.com​

1、在 Centos01 上安装 apache 服务配置网站

1)切换云计算光盘

Apache深入优化_Apache_03

2)挂载光盘解压源代码程序

Apache深入优化_Apache_04

3)配置安装 apache

Apache深入优化_Apache_05

4)编译安装 Apache

Apache深入优化_配置文件_06

2、配置 Apache 服务

1)生成服务控制文件添加执行权限

Apache深入优化_工作模式_07

2)修改服务控制文件

Apache深入优化_配置文件_08

3)添加系统服务设置开机自动启动

Apache深入优化_工作模式_09

4)优化 apache 命令

Apache深入优化_工作模式_10

3、启动 apache 服务查看服务运行状态

1)启动服务

Apache深入优化_工作模式_11

2)查看服务运行状态

Apache深入优化_Apache_12

4、修改 apache 网站根目录设置网站主页

1)创建网站根目录设置主页

Apache深入优化_工作模式_13

2)修改 apache 主配置文件

Apache深入优化_Apache_14

Apache深入优化_工作模式_15

3)检查主配置文件

Apache深入优化_工作模式_16

4)重新启动 apache 配置文件加载配置

Apache深入优化_Apache_17

二、在 Centos02 上安装 DNS 使用域名访问日志

1、安装 DNS 服务设置开机自动启动

1)切换到系统光盘

Apache深入优化_配置文件_18

2)挂载系统光盘安装 DNS 服务

Apache深入优化_Apache_19

3)安装 DNS 服务

Apache深入优化_配置文件_20

4)设置服务开机自动启动

Apache深入优化_Apache_21

2、修改主配置文件和区域配置文件

1)修改 DNS 主配置文件

Apache深入优化_Apache_22

2)检查主配置文件是否错误

Apache深入优化_Apache_23

3)修改区域配置配置文件

Apache深入优化_Apache_24

4)检查区域配置文件是否错误

Apache深入优化_配置文件_25

3、启动 DNS 服务查看服务运行状态

1)启动 DNS 服务

Apache深入优化_配置文件_26

2)查看服务运行状态

Apache深入优化_工作模式_27

4、 配置验证 DNS 访问网站

1)客户端配置 IP 地址

Apache深入优化_配置文件_28

2)配置域名解析

Apache深入优化_Apache_29

3)访问网站

Apache深入优化_配置文件_30

三、在 Centos01 配置 apache 工作模式优化

1、管理 Apache 的 prefork 工作模式

1)查看 Apache 默认的 prefork 工作模式

Apache深入优化_Apache_31

2)优化 prefork 工作模式

Apache深入优化_Apache_32

3)查看 prefork 的进程信息

Apache深入优化_配置文件_33

2、管理 Apache 的 worker 工作模式

1)修改 apache 的工作模式为 worker

Apache深入优化_工作模式_34

2)安装 apache

Apache深入优化_工作模式_35

3)查看修改后的工作模式

Apache深入优化_配置文件_36

4)修改 Apache 主配置文件加载 worker 配置

Apache深入优化_Apache_37

5)修改 Apache 工作模式配置文件

Apache深入优化_Apache_38

6)检查配置是否错误

Apache深入优化_工作模式_39

7)重新启动服务

Apache深入优化_工作模式_40

8)使用 pstree 查看线程数-a 详细信息

Apache深入优化_工作模式_41

3、配置使用 ab 压力测试

1)压力测试

Apache深入优化_Apache_42

2)查看进程和线程数

Apache深入优化_配置文件_43

Apache深入优化_Apache_44

Created By Henry 共同学习 共同进步. 点赞收藏加关注.

以上是关于Apache深入优化的主要内容,如果未能解决你的问题,请参考以下文章

Apache优化深入

一步一步教你apache深入优化

Web服务器05-Apache优化深入

Apache 工作模式的优化深入

深入理解RocketMq普通消息和顺序消息使用,原理,优化

详述Linux系统中Apache网页深入优化