LAMP架构调优(七)——Apache Prefork模式调优

简介: LAMP架构调优(七)——Apache Prefork模式调优

今天继续给大家介绍Linux运维的相关知识,本文主要内容是Apache的Prefork模式调优实战。

一、Apache Prefork模式详解
Apache服务的运行,有三种模式,Prefork是一种常见的方式,在默认情况下,源码安装后的Apache服务就是工作于Prefork模式下。
Prefork模式实现了一个预派生进程的工作方式,在Apache启动时,就预先创建一些进程,然后等待客户端链接,这样可以减少进程的创建和销毁带来的系统开销。Prefork模式下,每个进程仅有一个子线程,在同一时间内,一个进程只能处理一个请求。因此,Prefork模式相对成熟稳定,可以兼容新老模块,也不需要担心线程安全问题。但是,也正由此导致了Prefork工作模式会占用更多的系统资源,在高并发场景下处理能力较弱。

二、Apache Prefork查看
可以通过执行命令:

/usr/local/httpd/bin/httpd -M | grep prefork
1
来查看Apache所处的工作模式。在使用Prefork模式下,Apache服务的主配置文件中Prefork模块一定会被打开,如下所示:

为了对Prefork工作模式进行优化,我们必须找到如下红线部分的内容:

在conf/extra目录下,存在一个httpd-mpm.conf文件,在该文件中会存在对Apache三种模式的详细配置,因此,我们要对Apache的Prefork模式进行调优,就必须找到该处,删除#,使得在Apache的主配置文件中,引用该httpd-mpm.conf配置文件。

三、Apache Prefork性能优化
打开httpd-default.conf配置文件,可以看到Prefork模式的配置模块,如下所示:

Prefork模式的配置有几个参数,参数及作用如下:
ServerLimit:最大的进程数
StartServers:启动Apache服务时,默认开启的进程数,Apache主进程在启动后,会以第一秒1个进程,第二秒2个进程,第三秒4个进程……的指数形势递增,直至达到默认开启的进程数,但是,最大每秒新增32个。
MinSpareServer:最小的空闲进程数,所谓空闲进程是指没有链接的进程,该值得适当设置,可以使得有突发流量时,系统可以有一定的缓冲时间,不至于因为新建进程的时间而导致无法响应客户端的请求,但是该值设置的太大又会使得系统资源造成不必要的消耗。
MaxSpareServer:最大的空闲进程数,该值得设置可以避免系统资源的过渡消耗。
MaxRequestWorkers:最大的并发进程数,当客户端的请求达到该数值后,有新的请求时,会加入到缓存队列,而不会立即处理。该值通常和ServerLimit相等。
MaxRequestsPerChild:一个进程所能够进行链接的最大数,当一个进程处理的请求总数超出该值时,该进程的父进程会杀死该进程。当该值为0时,表示一个进程能够进行链接数量不受限制。
我们修改上述值得设置如下所示:

并重启Apache服务。查看Apache服务的进程如下所示:

可以看出,Apache在启动后,一共生成了8个子进程,我们的配置生效。

四、Apache Prefork参数配置
尽管我们知道了上述参数的作用,但是在具体生产环境中,对Apache参数的配置还是需要根据业务场景来进行选择。一般而言,一个进程需要消耗的内存为1.6M左右,因此,我们就可以通过这个数据来计算配置的最大链接数。假设系统有32G的内存,留给服务器系统消耗1G,其余的内存分配给Apache,则Apache可用的内存空闲大小为15G,15G/1.6M=960个,因此,可以将系统的最大链接数设置为960。其余参数可以根据实际情况进行设置。
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200
————————————————

                        版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/weixin_40228200/article/details/122654006

目录
相关文章
|
22天前
|
存储 SQL 安全
什么是传统的客户端服务器模式架构
什么是传统的客户端服务器模式架构
40 0
|
1天前
|
缓存 负载均衡 API
探索微服务架构中的API网关模式
【6月更文挑战第4天】在微服务架构的海洋中,API网关扮演着灯塔的角色,为复杂的服务网络提供导航。本文将深入探讨API网关的设计原则、实现方式以及它如何优化微服务间的通信流程。我们将一起揭开API网关的神秘面纱,理解其在现代软件架构中的重要性。
|
6天前
|
存储 运维 5G
基于阿里云数据库 SelectDB 内核 Apache Doris 的实时/离线一体化架构,赋能中国联通 5G 全连接工厂解决方案
数据是 5G 全连接工厂的核心要素,为支持全方位的数据收集、存储、分析等工作的高效进行,联通 5G 全连接工厂从典型的 Lambda 架构演进为 All in [Apache Doris](https://c.d4t.cn/vwDf8R) 的实时/离线一体化架构,并凭借 Doris 联邦查询能力打造统一查询网关,数据处理及查询链路大幅简化,为联通 5G 全连接工厂带来数据时效性、查询响应、存储成本、开发效率全方位的提升。
基于阿里云数据库 SelectDB 内核 Apache Doris 的实时/离线一体化架构,赋能中国联通 5G 全连接工厂解决方案
|
6天前
|
监控 应用服务中间件 API
探索微服务架构中的API网关模式
【5月更文挑战第31天】在这篇文章中,我们将深入探讨微服务架构中的关键组件——API网关。我们将了解API网关的定义、功能以及它如何优化微服务的通信流程,提高安全性和性能。此外,我们还将讨论一些常见的API网关实现技术,并分析它们的优势和局限性。
|
6天前
|
负载均衡 监控 安全
探索微服务架构中的API网关模式
本文深入探讨了在构建现代软件系统时,微服务架构中API网关的核心作用和实践策略。通过分析API网关的设计原则、实现技术以及面临的挑战,旨在为读者提供一套清晰的指导方针,以便在实际应用中有效地利用API网关来提升系统的可扩展性、安全性和性能。
|
7天前
|
负载均衡 监控 API
微服务架构中的API网关模式
本文将深入探讨微服务架构中的一个重要组件——API网关。我们将了解API网关的作用、实现方式以及它如何提高系统的可扩展性和安全性。通过实际案例分析,我们将展示API网关在微服务架构中的应用和优势。
|
10天前
|
监控 测试技术 数据库
探索微服务架构下的系统调优实践
【5月更文挑战第27天】在当今软件开发领域,微服务架构因其灵活性、可扩展性而受到青睐。然而,随之而来的是复杂性增加和性能调优的挑战。本文将深入探讨在微服务环境中进行系统调优的策略与实践,通过分析真实案例,揭示优化过程中的关键步骤和考虑因素,为追求高性能微服务系统的开发者提供参考。
27 1
|
12天前
|
运维 负载均衡 API
探索微服务架构中的API网关模式
在本文中,我们将深入探讨微服务架构的关键组成部分—API网关。通过分析其设计原则、实现机制以及在实际项目中的应用,揭示API网关如何作为系统的统一入口点,提升安全性、增强可扩展性并简化客户端与服务的交互。文章不仅阐述了API网关的概念和优势,还提供了实施策略和最佳实践,帮助开发者构建高效、可靠的微服务系统。
|
13天前
|
前端开发 JavaScript 中间件
基于最新koa的Node.js后端API架构与MVC模式
基于最新koa的Node.js后端API架构与MVC模式
27 1
|
14天前
|
关系型数据库 MySQL PHP
unbuntu搭建LAMP(Apache2+PHP+MySQL+phpmyadmin)
unbuntu搭建LAMP(Apache2+PHP+MySQL+phpmyadmin)

推荐镜像

更多