6

我正在使用 FastCGI 和 lighttpd 运行 Django 应用程序。

有人可以解释我在决定 maxrequests、maxspare、minspare、maxchildren 使用什么值时应该考虑什么吗?

这些选项没有很好的文档记录,但似乎非常重要。

不要只告诉我他们做了什么;我想了解它们的含义以及我应该如何决定使用哪些值。

谢谢。

4

2 回答 2

13

让我们从定义开始

    maxrequests:子服务器在被杀死之前有多少请求
                 和一个新的分叉
    maxspare :保持运行的最大备用进程数
    minspare :要预分叉的最小备用进程数
    maxchildren:prefork 模式下的硬限制进程数

这意味着您的网络服务器中的任何给定时间最多有maxchildren进程运行,每个进程都针对maxrequests请求运行。在服务器启动时,您将获得minspare进程,如果有更多请求到来,它将继续增长直到maxspare(或maxchildren )。

因此,minspare可以让您说出您期望最少有多少并发请求(如果您从一个开始,避免创建进程很重要,最好从 10 开始),而maxspare可以让您说出您的并发请求数量服务器最多参加(不影响它的预期响应时间等。需要压力测试来验证)。maxrequests是在谈论每个孩子的生命周期,以防它们由于任何类型的限制而无法永远运行。

于 2008-12-26T09:00:13.753 回答
-1

不要忘记将您的 fcgi 设置与您的 apache worker 设置相协调。我通常比 fcgi 工作人员保留更多的 apache 工作人员......它们的重量较轻,并且如果并发量达到高于我的 maxspare 时,它​​们将等待可用的 fcgi 工作人员释放以处理请求。

于 2008-12-26T09:34:20.253 回答