我通过flup运行Django作为线程fastcgi,由lighttpd服务,通过套接字进行通信。
空载时每个fastcgi线程的预期CPU使用率是多少?在启动时,每个线程运行3-4%的CPU使用一段时间,然后在几个小时内回退到大约0.5%。它不会低于这个水平。
这个CPU使用率是否正常?我的代码中是否有一些错误导致空闲循环需要比它应该更多的处理?我希望该进程在完全空闲时不使用可测量的CPU。
我没有做任何与Django荒谬复杂的事情,绝对不需要扩展处理。我意识到这不是很多负载,但如果它是我介绍的错误,我想解决它。
答案 0 :(得分:2)
我在django上看过这个,在Slicehost(django 1.1,python 2.6)和Dreamhost(django 1.0,python 2.5)上运行fastcgi,我可以这样说:
运行top
命令显示进程使用大量CPU启动约2-3秒,然后几乎立即降至0。
启动django应用程序后运行ps aux
命令会显示类似于您描述的内容,然而这实际上是误导性的。来自ps的Ubuntu手册页:
CPU使用率目前表示为 跑步的时间百分比 在整个一生中 处理。这并不理想,而且它 不符合标准 ps否则符合。 CPU使用率是 不太可能恰好相加100%。
基本上,ps
显示的%CPU列在进程运行时实际上是平均值。你看到的衰退是由于高的初始峰值,随后是不活动的平均值。
答案 1 :(得分:0)
如果没有要处理的请求,你的fast-cgi线程不得使用任何(明显的)CPU。
您应该调查您描述的负载。我使用相同的架构,我的线程完全空闲。