我決定嘗試用我的Django應用程序代替Apache/mod_wsgi的NGINX/uWSGI。我嘗試這樣做的理由是,我聽說NGINX/uWSGI使用較少的內存,在高流量情況下性能更好,NGINX非常適合靜態內容。爲什麼uWSGI使用比Apache更多的內存?
但是我發現uWSGI使用的RAM比Apache多5倍。
[email protected]:~$ 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名工作人員)
當服務器處於壓力下時,您是否只看到了好處?
*「你只看到當利益服務器是否處於壓力之下?「*我認爲這是公平的打賭,你會在一些負載下看到差異,而不僅僅是在啓動時。 – Marcin 2012-07-25 21:45:59
這取決於配置。什麼是Apache服務?它有多少預分叉過程?阿帕奇是否有預壓?我很確定uwsgi比apache使用的內存少得多。但沒有給出實際的配置 - 你將蘋果與桃子進行比較.. – Tisho 2012-07-25 21:47:50
Apache正在使用預分叉。 5個過程。所以我收集的是,這並不罕見,無需擔心? – 2012-07-25 22:17:02