无负载情况下flup/fastcgi cpu使用率

2024-04-20 06:20:27 发布

您现在位置:Python中文网/ 问答频道 /正文

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

在空载情况下,每个fastcgi线程的预期CPU使用率是多少?在启动时,每个线程都会以3-4%的cpu使用率运行一段时间,然后在几个小时内回落到0.5%左右。它不会沉到这个高度以下。在

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

我没有用Django做任何可笑的复杂的事情,绝对没有什么需要扩展处理的。我意识到这不是一个很大的负担,但如果是我介绍的一个bug,我想修复它。在


Tags: django代码高度进程情况fastcgicpu线程
2条回答

如果没有要处理的请求,那么您的快速cgi线程不能消耗任何(明显的)CPU。在

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

我在Slicehost(django 1.1,python2.6)和Dreamhost(django 1.0,python2.5)上都以fastcgi的身份运行过django,我可以这样说:

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

在启动django应用程序之后运行ps aux命令会显示类似于您所描述的内容,但是这实际上是误导。从Ubuntu ps手册页:

CPU usage is currently expressed as the percentage of time spent running during the entire lifetime of a process. This is not ideal, and it does not conform to the standards that ps otherwise conforms to. CPU usage is unlikely to add up to exactly 100%.

基本上,ps显示的%CPU列实际上是进程运行期间的平均值。你看到的衰变是由于高的初始峰值,随后是不活跃的平均值。在

相关问题 更多 >