首页 > 其他分享 >Apache深入优化

Apache深入优化

时间:2023-02-07 14:32:13浏览次数:55  
标签:服务 配置文件 配置 进程 深入 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深入优化_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深入优化_配置文件_03

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

Apache深入优化_配置文件_04

3)配置安装 apache

Apache深入优化_工作模式_05

4)编译安装 Apache

Apache深入优化_配置文件_06

2、配置 Apache 服务

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

Apache深入优化_工作模式_07

2)修改服务控制文件

Apache深入优化_Apache_08

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

Apache深入优化_配置文件_09

4)优化 apache 命令

Apache深入优化_Apache_10

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

1)启动服务

Apache深入优化_Apache_11

2)查看服务运行状态

Apache深入优化_配置文件_12

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

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

Apache深入优化_配置文件_13

2)修改 apache 主配置文件

Apache深入优化_工作模式_14

Apache深入优化_工作模式_15

3)检查主配置文件

Apache深入优化_Apache_16

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

Apache深入优化_Apache_17

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

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

1)切换到系统光盘

Apache深入优化_Apache_18

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

Apache深入优化_配置文件_19

3)安装 DNS 服务

Apache深入优化_配置文件_20

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

Apache深入优化_Apache_21

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

1)修改 DNS 主配置文件

Apache深入优化_工作模式_22

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

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深入优化_配置文件_29

3)访问网站

Apache深入优化_工作模式_30

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

1、管理 Apache 的 prefork 工作模式

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

Apache深入优化_配置文件_31

2)优化 prefork 工作模式

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深入优化_配置文件_37

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

Apache深入优化_Apache_38

6)检查配置是否错误

Apache深入优化_工作模式_39

7)重新启动服务

Apache深入优化_工作模式_40

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

Apache深入优化_Apache_41

3、配置使用 ab 压力测试

1)压力测试

Apache深入优化_配置文件_42

2)查看进程和线程数

Apache深入优化_工作模式_43

Apache深入优化_工作模式_44

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

标签:服务,配置文件,配置,进程,深入,Apache,线程,优化
From: https://blog.51cto.com/u_15829479/6042098

相关文章

  • Apache网页优化与安全
    Apache网页优化与安全......
  • MySql查询性能优化必知必会
    作为一个写业务代码的"JAVACURDBOY",具备写出高效率SQL让应用高性能访问数据库的能力非常重要。获得这个能力的过程我收获了点知识和经验,今天在这里分享出来,希望大家多多......
  • supertiler优化
        两年前研究过一个supertiler的项目,之前只是简单优化了下,最近有新的思路进行优化。在此总结下范围过滤functiongetExtent(data){letxmin=Infinity;......
  • Pulsar负载均衡原理及优化
    前言前段时间我们在升级Pulsar版本的时候发现升级后最后一个节点始终没有流量。虽然对业务使用没有任何影响,但负载不均会导致资源的浪费。和同事沟通后得知之前的......
  • R语言使用随机技术差分进化算法优化的Nelson-Siegel-Svensson模型|附代码数据
    原文链接:http://tecdat.cn/?p=11936最近我们被客户要求撰写关于Nelson-Siegel的研究报告,包括一些图形和统计输出。在本教程中,我们将研究如何将Nelson-Siegel-Svensson(NSS......
  • 谷歌优化效果怎么样?外贸企业如何做好谷歌SEO优化排名?
    本文主要分享关于Google排名的机制分析,让你更容易把谷歌排名做起来。本文由光算创作,有可能会被修改和剽窃,我们佛系对待这种行为吧。谷歌优化,也称为搜索引擎优化(SEO),是指通过......
  • 谷歌关键词是怎么排名的?google关键词优化
    本文主要分享关于谷歌排名算法的一些分析以及谷歌关键词优化的细节。本文由光算创作,有可能会被修改和剽窃,我们佛系对待这种行为吧。谷歌关键词排名是指确定网站在搜索引擎结......
  • 杭电1407--暴力与优化
    测试你是否和LTC水平一样高ProblemDescription大家提到LTC都佩服的不行,不过,如果竞赛只有这一个题目,我敢保证你和他绝对在一个水平线上!你的任务是:计算方程x^2+y^2+z^2......
  • MySQL常见的几种优化方案
    Mysql常见优化分类:select[字段优化1]:主要是覆盖索引from[表]where[条件优化2]union[联合查询优化3]新建表CREATETABLE`student`(`id`int(11)NOT......
  • m云计算任务调度优化matlab仿真,输出成本,时间,负荷优化结果,对比ACO,PSO,WOA三种优化
    1.算法描述       鲸鱼算法(WhaleOptimizationAlgorithm,WOA)[1]。鲸鱼优化算法(WOA)是2016年由澳大利亚格里菲斯大学的Mirjalili等提出的一种新的群体智能......