UWSGIがApacheよりも多くのメモリを使用しているのはなぜですか?

StackOverflow https://stackoverflow.com//questions/11659102

  •  11-12-2019
  •  | 
  •  

質問

apache / mod_wsgiの代わりにDjangoアプリケーションのNginx / UWSGIを試すことにしました。これを試してみる理由は、Nginx / UWSGIがメモリが少なくており、高いトラフィックの状況でより良い機能を実行し、NGINXは静的コンテンツを提供するのに最適です。

しかし、UWSGIはApacheよりもほぼ5倍のRAMを使用していることがわかります。

ubuntu@domU-12-31-39-0A-9C-1A:~$ sudo ps_mem.py
 Private  +   Shared  =  RAM used       Program

184.0 KiB +  31.5 KiB = 215.5 KiB       atd
220.0 KiB +  94.0 KiB = 314.0 KiB       upstart-socket-bridge
260.0 KiB + 101.0 KiB = 361.0 KiB       upstart-udev-bridge
340.0 KiB +  63.0 KiB = 403.0 KiB       cron
392.0 KiB +  82.0 KiB = 474.0 KiB       sudo
560.0 KiB +  14.0 KiB = 574.0 KiB       dhclient3
612.0 KiB + 189.0 KiB = 801.0 KiB       getty (6)
816.0 KiB +  35.5 KiB = 851.5 KiB       dbus-daemon
660.0 KiB + 359.0 KiB =   1.0 MiB       udevd (3)
960.0 KiB +  74.0 KiB =   1.0 MiB       rsyslogd
  1.1 MiB +  38.5 KiB =   1.2 MiB       redis-server
  1.1 MiB + 146.5 KiB =   1.2 MiB       init
  1.7 MiB +   1.1 MiB =   2.9 MiB       nginx (3)
  1.3 MiB +   1.8 MiB =   3.1 MiB       sshd (3)
  7.5 MiB +  69.5 KiB =   7.6 MiB       bash
 14.4 MiB +   5.7 MiB =  20.1 MiB       apache2 (6)
 23.6 MiB + 113.0 KiB =  23.7 MiB       mysqld
 95.5 MiB +   8.6 MiB = 104.1 MiB       uwsgi (7)
---------------------------------
                        169.7 MiB
=================================
.

これは予想されていますか?

私は誤って何かを設定しましたか?(master= true、4労働者)

サーバーがストレスのあるときにのみ利点を見ますか?

役に立ちましたか?

解決

すべて設定に戻ります。ほとんどのメモリはFAT Python Webアプリケーションから来ているため、実際に基づくWSGIサーバーのメモリを使用することは一般的にほとんど寄与しません。

あなたは私のPycon Talkを見るべきで、私がこの特定の問題をカバーすると、デフォルトのデフォルトでどのようにして詐欺されるか、さまざまなWSGiサーバーソリューションをどのように欺いています。

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

短い場合は、Apache / Mod_WSGIがさらに多くのメモリを使用することがわずかなisruthです。他のソリューションに同等の方法でそれを設定し、それは同じPython Webアプリケーションに対して同等のメモリを使用します。

他のヒント

プロジェクトuwsgi .ini に次のルールを追加する

プロセスごとのメモリを制限する

limit-as=128
.

最大リクエスト:5Kリクエストに達するとリサイクルプロセス

max-requests=5000
.
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top