5

私は、postgresとapache(wsgi-modをデーモンとしてではなく直接)を使用して、EC2 Smallインスタンス(1.7 GB RAM)でアプリのアルファバージョンを実行しています。

パフォーマンスは問題ありませんが、もっと良いかもしれません。また、テストユーザーが多すぎるとメモリ使用量が心配になります。

Apacheからnginxサーバーに切り替えるのは賢明ですか?Django開発者はそれを実行し、結果に満足していますか?途中で他のヒントも歓迎します。

ありがとう

4

3 に答える 3

4

gunicornサーバーでDjangoアプリと一緒にnginxを使用しています。これまでのところパフォーマンスはかなり良好ですが、Apacheセットアップと直接比較したことはありません。メモリ使用量は非常に少なく、nginxは約10MBのメモリを使用し、gunicornは約150MBを使用します(ただし、複数のアプリをサーバーします)。もちろん、これはアプリごとに異なる場合があります。

簡単に試してみることをお勧めします。Webおよび/またはgunicornWebサイトのいくつかのチュートリアルに従ってセットアップするのは非常に簡単です。また、同等のテストケースを入手し、muninなどの監視ソフトウェアを使用して時間の経過に伴う変化を確認します。

于 2012-10-28T15:21:35.987 に答える
2

mod_wsgiのデーモンモードを使用しないのはなぜですか?埋め込みモードを使用している場合、Apacheの設定方法に注意しないと、メモリの問題が発生する可能性があります。

読んでください:

http://blog.dscpl.com.au/2012/10/why-are-you-using-embedded-mode-of.html

また、PyConの講演をご覧ください。

http://lanyrd.com/2012/pycon/spcdg/

また、質問を修正し、使用しているApacheMPMとMPM設定を示します。

gunicornやuWSGIなどの代替手段を使用する場合、同等の構成の場合、基盤となるサーバーが使用されるメモリの量を決定するものではないため、メモリ要件はそれほど変わりません。その上で実行されている特定のPythonWebアプリケーション。gunicornまたはuWSGIが何らかの形ですべての問題を魔法のように解決し、Apacheも同様に解決できないというのはよくある誤解です。ApacheをPythonWebアプリケーション用に適切に設定し、デフォルトに依存しないでください。他のソリューションと同じように機能し、要件に応じてはるかに高い柔軟性を提供できます。

実際の問題とボトルネックが何であるかを解明するために、いくつかの監視を実施することを強くお勧めします。

于 2012-10-28T23:34:25.570 に答える
1

結果はまちまちです。アプリが高速で非ブロッキングの場合、nginxはより小さなメモリフットプリントでうまく機能します。トラフィックが多いほど、メリットは大きくなります。

少し遅いGISアプリケーションがいくつかありますが、このコンテキストではnginxは惨めに失敗します。私のアドバイスは次のとおりです。数秒間ブロックする可能性のあるものにはnginx+wsgiを使用しないでください。

于 2012-10-28T15:27:53.707 に答える