1

私はDjangoをflupを介してスレッド化されたfastcgiとして実行し、lighttpdによって提供され、ソケットを介して通信します。

無負荷時の各fastcgiスレッドの予想CPU使用率はどれくらいですか?起動時に、各スレッドはしばらくの間3〜4%のCPU使用率で実行され、その後2、3時間で約0.5%に戻ります。このレベルを下回ることはありません。

これだけのCPU使用率は正常ですか?コードにバグがあり、アイドルループで必要以上の処理が必要になっていますか?プロセスが完全にアイドル状態のとき、測定可能なCPUを使用しないことを期待していました。

私はDjangoでばかばかしいほど複雑なことは何もしていません。間違いなく、拡張処理を必要とするものは何もありません。これはそれほど負荷がかからないことはわかっていますが、私が導入したバグである場合は、修正したいと思います。

4

2 に答える 2

2

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のUbuntumanページから:

CPU使用率は、現在、プロセスの全存続期間中に実行に費やされた時間のパーセンテージとして表されます。これは理想的ではなく、psが準拠している標準に準拠していません。CPU使用率が正確に100%になる可能性は低いです。

基本的に、で示される%CPU列psは、実際にはプロセスが実行されている時間の平均です。表示される減衰は、初期スパイクが高く、その後に非アクティブが時間の経過とともに平均化されるためです。

于 2009-10-07T11:48:17.213 に答える
0

処理する要求がない場合、fast-cgiスレッドは(注目すべき)CPUを消費してはなりません。

説明している負荷を調査する必要があります。私は同じアーキテクチャを使用しており、スレッドは完全にアイドル状態です。

于 2009-10-06T16:27:19.243 に答える