LAMP架构调优(八)——Apache Worker模式调优

简介: LAMP架构调优(八)——Apache Worker模式调优

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

一、Apache Worker模式详解
与Apache的Prefork模式相比,Worker模式采用了多进程和多线程的混合模式,与Prefork模式类似,Worker模式也会先预派生一些子进程,然后每个子进程创建一些子线程。来自客户端的请求会被分配给某个线程进行处理。由于采用线程对客户端的请求进行处理,因此Worker模式相比于Prefork模式会占用更少的内存空间,也因此Worker模式会更适应高并发情况下对客户端请求的处理。但是,Apache Worker模式的弊端在于,如果一个线程出现问题,会连累该线程所处进程下的所有线程崩溃,因此需要考虑线程安全。

二、Apache Workrt模式查看
打开Apache的主配置文件,如果看到LoadModule中,打开了worker模式,则说明当前Apache采用的工作模式是Worker,如下所示:

执行命令:

/usr/local/httpd/bin/httpd -M | grep worker
1
可以进一步检查当前Apache是否工作于Worker模式下,如下所示:

与Apache的Prefork模式类似,如果向对Apache的Worker模式进行优化,在主配置文件中,除了需要进行上述配置,还需要打开对conf/extra/目录下httpd-mpm.conf文件的包含,并在该文件中进行配置。

三、Apache Worker性能优化
打开conf/extra/目录下httpd-default.conf文件,与Worker工作模式相关的配置如下:

Worker优化中各参数及其作用是:
ServerLimit:该参数表示服务器允许的最大进程数。
StartServers:该参数表示Apache服务在启动后,生成的子进程数。Apache服务在启动时,会以第一秒1个进程,第二秒2个进程,第三秒4个进程……的指数形势递增,直至达到默认开启的进程数,但是,最大每秒新增32个。
MaxRequestWorkers:该参数表示Apache服务所能够支持的最大并发量,该参数的值为系统最大进程数与每个进程最大线程数的乘积。
MinSpareThreads:该参数表示最小的空闲进程数,所谓空闲进程是指没有链接的进程,该值得适当设置,可以使得有突发流量时,系统可以有一定的缓冲时间,不至于因为新建进程的时间而导致无法响应客户端的请求,但是该值设置的太大又会使得系统资源造成不必要的消耗。当系统中的空闲进程小于该数值时,Apache服务会创建新的子进程。
MaxSpareThreads:最大的空闲进程数,该值得设置可以避免系统资源的过渡消耗。当系统中的空闲进程大于该数值时,Apache服务会杀死多余的子进程。
ThreadLimit:每个子进程所支持的线程数上限。
ThreadsPerChild:每个子进程包含的固定的线程数,缺省值为64.
MaxRequestsPerChild:每个子进程可以支持的请求总数,在Worker模式中,该值通常设置为0,表示每个子进程可以支持的请求总数不受限制。

四、Apache Worker配置参考
尽管我们知道了上述参数的作用,但是在具体生产环境中,对Apache参数的配置还是需要根据业务场景来进行选择。下面,我仅给出一个参考的取值:
StartServers:5
MaxRequestWorkers:9600
ServerLimit:64
MinSpareThreads:25
MaxSpareThreads:500
ThreadLimit:200
ThreadsPerChild:150
MaxRequestsPerChild:0
如果对自身生产环境配置不确定的情况下,可以参考该取值来进行配置。
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200
————————————————

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

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

目录
相关文章
|
2月前
|
存储 缓存 运维
LAMP架构调优(五)——网页缓存设置
LAMP架构调优(五)——网页缓存设置
22 1
|
17天前
|
SQL 存储 运维
网易游戏如何基于阿里云瑶池数据库 SelectDB 内核 Apache Doris 构建全新湖仓一体架构
随着网易游戏品类及产品的快速发展,游戏数据分析场景面临着越来越多的挑战,为了保证系统性能和 SLA,要求引入新的组件来解决特定业务场景问题。为此,网易游戏引入 Apache Doris 构建了全新的湖仓一体架构。经过不断地扩张,目前已发展至十余集群、为内部上百个项目提供了稳定可靠的数据服务、日均查询量数百万次,整体查询性能得到 10-20 倍提升。
网易游戏如何基于阿里云瑶池数据库 SelectDB 内核 Apache Doris 构建全新湖仓一体架构
|
2月前
|
存储 运维 5G
基于阿里云数据库 SelectDB 内核 Apache Doris 的实时/离线一体化架构,赋能中国联通 5G 全连接工厂解决方案
数据是 5G 全连接工厂的核心要素,为支持全方位的数据收集、存储、分析等工作的高效进行,联通 5G 全连接工厂从典型的 Lambda 架构演进为 All in [Apache Doris](https://c.d4t.cn/vwDf8R) 的实时/离线一体化架构,并凭借 Doris 联邦查询能力打造统一查询网关,数据处理及查询链路大幅简化,为联通 5G 全连接工厂带来数据时效性、查询响应、存储成本、开发效率全方位的提升。
基于阿里云数据库 SelectDB 内核 Apache Doris 的实时/离线一体化架构,赋能中国联通 5G 全连接工厂解决方案
|
1月前
|
Apache 开发者
Apache Seata 如何解决 TCC 模式的幂等、悬挂和空回滚问题
【6月更文挑战第8天】Apache Seata 是一款分布式事务框架,解决TCC模式下的幂等、悬挂和空回滚问题。通过记录事务状态处理幂等,设置超时机制避免悬挂,明确标记Try操作成功来处理空回滚。Seata 提供丰富配置和管理功能,确保分布式事务的可靠性和效率,支持复杂事务处理场景,为企业业务发展提供支持。
64 7
|
2月前
|
运维 Linux Apache
LAMP架构调优(十)——Apache禁止指定目录PHP解析与错误页面优化
LAMP架构调优(十)——Apache禁止指定目录PHP解析与错误页面优化
252 2
|
2月前
|
运维 Linux Apache
LAMP架构调优(九)——Apache Rewrite功能实战
LAMP架构调优(九)——Apache Rewrite功能实战
29 1
|
2月前
|
XML 运维 前端开发
LAMP架构调优(四)——资源压缩传输
LAMP架构调优(四)——资源压缩传输
15 0
|
2月前
|
运维 Linux Apache
LAMP架构调优(三)——模块的安装与调用
LAMP架构调优(三)——模块的安装与调用
16 0
|
1月前
|
监控 大数据 Java
使用Apache Flink进行大数据实时流处理
Apache Flink是开源流处理框架,擅长低延迟、高吞吐量实时数据流处理。本文深入解析Flink的核心概念、架构(包括客户端、作业管理器、任务管理器和数据源/接收器)和事件时间、窗口、状态管理等特性。通过实战代码展示Flink在词频统计中的应用,讨论其实战挑战与优化。Flink作为大数据处理的关键组件,将持续影响实时处理领域。
238 5
|
4天前
|
关系型数据库 API Apache
Flink CDC:基于 Apache Flink 的流式数据集成框架
本文整理自阿里云 Flink SQL 团队研发工程师于喜千(yux)在 SECon 全球软件工程技术大会中数据集成专场沙龙的分享。
274 1
Flink CDC:基于 Apache Flink 的流式数据集成框架

推荐镜像

更多