设置每个用户的最大 Apache 子进程数

设置每个用户的最大 Apache 子进程数

当我将 MaxRequestWorkers 设置为 20 时,所有 Apache 子进程不能超过 20。但是,这意味着如果一个用户使用了全部 20 个,其余用户也不允许创建更多的 Apache 子进程。

我想按每个用户进行设置。如果用户 John 创建了 20 个流程,而用户 jane 只创建了 5 个,她仍然可以创建最多 20 个。

我怎样才能实现这个目标?

答案1

不,你不能根据用户来定义它们,因为用户不适合在 MPM 层工作。

Apache 可以定义其可以处理的并发请求数量。如果您定义了 20 个 maxrequestworkers,并且有一个贪婪的“客户端”发送了 20 个并发请求,那么您将获得这些请求,其余请求将排在后面。

但是,Apache HTTPD 的性能仍然非常出色,请将其大小设置为略大于您认为将要接收的并发请求总量。当您的服务器处于高负载状态时,您可以从 mod_status 中获取实际数量的提示。

对于类似 MPM 的事件,定义 500 个 MaxRequestWorkers 甚至更多分散在子进程上(每个子进程有 100 个线程左右)并不疯狂,具体取决于硬件。

相关内容