我搜索了整个网络,但我无法找到 Apache MPM prefork 中的 MaxSpareServers 是什么。
MaxSpareServers 指令设置所需的最大空闲子服务器进程数。空闲进程是指未处理请求的进程。如果空闲进程数超过 MaxSpareServers,则父进程将终止多余的进程。
很好,但是是什么原因导致创建了备用服务器?更重要的是,备用服务器何时消失?我理解 minspareservers 是在服务器启动后逐渐创建的。
maxspareservers 与 maxclients 有何关系?
基本上,我对如何最好地配置 Apache 有点不知所措。虽然有很多文档,但不是那么清楚。
谢谢,约翰。
答案1
如果 不知何故 有 较少 的 备用 服务器 进程 比MinSpareServers
, Apache 将 尝试 创建 备用 服务器 进程 , 直到 它们 至少 达到MinSpareServers
.
如果您的服务器负载过大,Apache 将创建更多服务器进程,最多MaxClients
。只要它们正在使用中,就不会被终止,但如果负载下降,Apache 将开始终止进程,直到最多MaxSpareServer
只剩下进程。
答案2
您可以将 maxClients 假设为 apache 将产生的最大服务器数量。
有一个不同,maxSpareServers 决定将保留多少个 apache 子进程。
MaxClients
指令将决定 Apache 将生成多少个子进程来处理请求高峰。
因此,当请求数量减少时,apache 将开始终止子服务器,直到达到maxSpareServers
要求的数量minSpareServers
。
由于创建新子进程会产生开销,如果您希望服务器处理大量请求,则应将 maxSpareServers 设置得相当高。但不要将其设置得太高,因为如果请求较少,服务器上会有很多 apache 进程除了占用内存外什么也不做。
基本上将其设置在 minSpareServers 和 maxSpareServers 之间。