0

ec2で実行しているdjangoアプリがあります。これはマイクロインスタンスであり、メモリの62%がユーザーがゼロのアプリケーションによって消費されていることがわかります。これは私にはかなり高いように思えたので、私はしました:

$ ps aux|grep apache
root      9318  0.0  1.4 204924  9052 ?        Ss   23:01   0:00 /usr/sbin/apache2 -k start
ubuntu    9323  0.1  4.7 234824 28588 ?        S    23:01   0:00 /usr/sbin/apache2 -k start
ubuntu    9324  0.1  4.7 235176 28780 ?        S    23:01   0:00 /usr/sbin/apache2 -k start
ubuntu    9325  0.1  4.8 235536 29088 ?        S    23:01   0:00 /usr/sbin/apache2 -k start
ubuntu    9326  0.1  4.7 234808 28564 ?        S    23:01   0:00 /usr/sbin/apache2 -k start
ubuntu    9327  0.1  4.7 234952 28620 ?        S    23:01   0:00 /usr/sbin/apache2 -k start
ubuntu    9328  0.1  4.7 235136 28892 ?        S    23:01   0:00 /usr/sbin/apache2 -k start
ubuntu    9329  0.1  4.6 234856 28140 ?        S    23:01   0:00 /usr/sbin/apache2 -k start
ubuntu    9330  0.1  4.8 235480 29356 ?        S    23:01   0:00 /usr/sbin/apache2 -k start

なぜここにこんなに多くのプロセスがあるのですか?これらすべてのプロセスは何をしていますか?これをより効率的にする方法はありますか?

4

2 に答える 2

1

これは、使用しているApacheワーカーによって異なる場合がありますが、Apacheは着信接続ごとに個別のプロセスを使用する可能性があります。着信接続を迅速に処理するために、接続ハンドラーのプールを開いたままにします。これが、非常に多くのプロセスがある理由です。

メモリ使用量のレベルは、ユーザー数に関係なく、Apacheがサイトに効率的にサービスを提供できるように、アプリケーション、Django、Python、および使用しているサードパーティアプリのすべて/ほとんどをメモリに保持する必要があるためです。

于 2012-05-18T23:20:44.403 に答える
0

あなたの場合、これはあなたの構成の場合に引き起こされます。これを調整するために、構成でStartServers、MinSpareServers、およびMaxSpareServersを使用してプレーンに試してください。チューニングの詳細とオプションについては、こちらをご覧ください

さらに、「free」コマンドを実行すると、62%のメモリのほとんどがバッファとしてキャッシュされ、apacheがより高速にサービスを提供できるようになります。必要な場合は、これまでのアプリケーションに割り当てられ、バッファは削除されます。

于 2012-05-19T15:36:43.850 に答える