我的服务器是 Linode,内存为 768MB。它承载着大约 8 个小型、低流量的 Django 站点,这些站点由 Nginx、Supervisor 和 Gunicorn 提供支持。目前,每个站点都有自己的 Linux 用户帐户,站点文件位于用户的主目录中。每个用户都有一个开发和生产主管进程,该进程运行 Gunicorn,并有 1 到 4 个工作进程。
我们是一家小型咨询公司,在不久的将来,我们将在服务器上添加越来越多的小型、低流量的 Django 网站。当我查看顶部时,我有许多 Gunicorn 进程在运行,RAM 几乎完全用完了。有一段时间我们只有 512MB 的 RAM,它几乎完全用完了,但是当我们添加更多 RAM 时,Gunicorn 进程只会占用更多 RAM。
有没有一个好的方法可以优化此服务器,使其尽可能多地为低流量(例如每月 1000 次点击)的 Django 网站提供服务?我选择了 Nginx 设置而不是 Apache,因为我读到它在系统资源方面更好,但似乎当前设置没有非常有效地利用资源。
答案1
老实说,只要您没有遇到表现不佳的情况,就不必担心。
最近,很多产品都使用 Linux 内存管理,就监控而言,它不会释放内存,因为数据已缓存,下次需要时可以更快地访问。Linux 管理内存,以便如果某个进程需要更多内存,则会适当分配内存,并在必要时清除缓存。
因此基本上如果你没有太多的交换活动那就一切都很好。