httpd246配置worker

ps aux --sort=-%mem

1. 加载Worker模块

首先,确保你的Apache安装包含了worker模块。在大多数情况下,worker模块是默认包含的,但你可以通过检查httpd.confapache2.conf文件中的LoadModule指令来确认。

取消此行注释LoadModule mpm_worker_module modules/mod_mpm_worker.so

2. 配置Worker模块参数

Worker模块使用线程来处理请求,而不是像prefork模块那样使用进程。以下是一些关键的配置参数:

ThreadsPerChild:每个子进程中的线程数。这个值应该根据你的服务器负载和内存大小来调整。对于2G内存的服务器,一个合理的起点可能是25到50个线程。

StartServers:启动时创建的服务器进程数。这个值通常较小,因为Apache会根据需求动态调整。

MinSpareThreads 和 MaxSpareThreads:分别是最小和最大空闲线程数。这些值可以帮助Apache在负载变化时保持稳定的性能。

ServerLimit:服务器可以启动的最大子进程数。这个值通常设置为足够大,以容纳可能的最大并发连接数,但不应设置得过高,以免浪费内存。

MaxRequestWorkers(在Apache 2.4中,这个参数替代了旧版本的MaxClients):允许同时运行的最大请求工作线程数(子进程数乘以每个子进程中的线程数)。这个值应该根据你的服务器内存和预期负载来设置。

MaxConnectionsPerChild:每个子进程在重启之前可以处理的最大连接数。设置为0表示子进程将无限期地运行,直到服务器重启或手动终止。

<IfModule mpm_worker_module>

ServerLimit 16

StartServers 2

MinSpareThreads 25

MaxSpareThreads 75

ThreadsPerChild 25

MaxRequestWorkers 400

MaxConnectionsPerChild 100

</IfModule>

ServerLimit设置为16,意味着最多可以有16个子进程。

StartServers设置为2,启动时创建2个子进程。

MinSpareThreadsMaxSpareThreads分别设置为25和75,以保持一定的空闲线程数。

ThreadsPerChild设置为25,每个子进程中有25个线程。

MaxRequestWorkers设置为400(16个子进程 * 25个线程/子进程),这是允许同时运行的最大请求工作线程数。

MaxConnectionsPerChild设置为0,表示子进程将无限期地运行。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值