【问题标题】:What's the meaning of maxchildren, maxspare and their relationship in fastcgi and django?fastcgi和django中maxchildren、maxspare以及它们的关系是什么意思?
【发布时间】:2011-01-24 11:14:07
【问题描述】:

当我阅读this thread时,我被Vinko Vrsalovic的回复弄糊涂了

在服务器启动时,您将获得 minspare 流程,将继续增长 直到 maxspare(或 maxchildren)如果 更多请求即将到来。

那么,如果 maxspare 和 maxchildren 的值不同会怎样呢?服务器的进程将继续增长,直到 maxspare 或 maxchildren 或其他任何东西?

这是同一回复中两个术语的给定定义:

maxspare : 最大备用数量 继续运行的进程
最大孩子: 硬限制进程数 前叉模式

【问题讨论】:

    标签: django fastcgi


    【解决方案1】:

    如果您的 maxspare 为 3,maxchildren 为 10:

    当你启动你的服务器并且没有请求时,你应该有 3 个进程在运行。

    如果您对 3 个独立的进程有 3 个请求,那么您现在应该有 3 到 6 个进程在运行。我相信启动新的 fork 有一定程度的启发性,因为 FastCGI 会重用现有的进程(不像 CGI,它会为每个请求启动一个进程并在回复请求后终止它)。

    另一方面,如果同时收到 1000 个请求,则只能同时运行 10 个分叉。换句话说,您可能会丢弃一些请求,但您正在阻止您的服务器被 DOS。

    【讨论】:

    • 当我启动服务器并且没有请求时,我是否可以运行 0 到 3 个进程并通过设置 minspare 值来影响进程数?
    【解决方案2】:

    minspare, maxspare 限制空闲子节点数。

    maxchildren 限制子级总数。

    当服务器启动时,它会创建 minspare 子节点来处理请求。

    当没有idle child并且有新的请求到来,并且current children count

    如果一个孩子完成一个请求,它会检查当前空闲的孩子是否计数> maxspare,如果为真,孩子将终止。

    【讨论】:

      猜你喜欢
      • 2010-09-28
      • 2011-10-02
      • 2012-09-12
      • 1970-01-01
      • 2015-05-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-22
      相关资源
      最近更新 更多