【问题标题】:flup/fastcgi cpu usage under no-load conditions空载条件下的flup/fastcgi cpu使用情况
【发布时间】:2009-10-05 23:02:18
【问题描述】:

我通过 Flup 将 Django 作为线程 fastcgi 运行,由 lighttpd 提供服务,通过套接字进行通信。

每个 fastcgi 线程在空载时的预期 CPU 使用率是多少?在启动时,每个线程在一段时间内以 3-4% 的 CPU 使用率运行,然后在几个小时内回退到 0.5% 左右。它不会低于这个水平。

这么多 CPU 使用率正常吗?我的代码中是否有一些错误导致空闲循环需要更多的处理?我预计该进程在完全空闲时不会使用可测量的 CPU。

我没有用 Django 做任何复杂得可笑的事情,绝对没有什么需要扩展处理的。我意识到这不是很多负载,但如果这是我引入的错误,我想修复它。

【问题讨论】:

    标签: python django fastcgi lighttpd flup


    【解决方案1】:

    我在 Slicehost(django 1.1,python 2.6)和 Dreamhost(django 1.0,python 2.5)上作为 fastcgi 运行的 django 上看到了这个,我可以这样说:

    运行top 命令显示进程使用大量 CPU 启动约 2-3 秒,然后几乎立即降为 0。

    在启动 django 应用程序后运行 ps aux 命令会显示与您描述的内容相似的内容,然而这实际上是一种误导。来自 ps 的 Ubuntu 手册页:

    CPU 使用率当前表示为 跑步时间的百分比 在整个生命周期中 过程。这并不理想,而且 不符合标准 ps 否则符合。 CPU使用率是 加起来不太可能正好是 100%。

    基本上,ps 显示的 %CPU 列实际上是进程运行时间的平均值。您看到的衰减是由于初始峰值较高,然后随着时间的推移平均不活动。

    【讨论】:

      【解决方案2】:

      如果没有要处理的请求,您的 fast-cgi 线程不得消耗任何(明显的)CPU。

      您应该调查您所描述的负载。我使用相同的架构,我的线程完全空闲。

      【讨论】:

        猜你喜欢
        • 2012-02-15
        • 2011-06-16
        • 1970-01-01
        • 1970-01-01
        • 2011-09-12
        • 1970-01-01
        • 1970-01-01
        • 2020-07-18
        • 1970-01-01
        相关资源
        最近更新 更多