使用 Nginx、Gunicorn、Django 运行论坛需要多少 RAM?

使用 Nginx、Gunicorn、Django 运行论坛需要多少 RAM?

我启动了一个 ec2 实例(微型)来测试我可用于运行网站的内存量,但我预计会多一点。所以我的问题是:使用 Django、Nginx 和 Gunicorn 运行网站需要多少 RAM。这是我发现的:

启动 Ubuntu 12.04 实例消耗:

             total       used       free     shared    buffers     cached
Mem:           590        235        354          0          7        182
-/+ buffers/cache:         45        544
Swap:            0          0          0

运行 Gunicorn 后:

             total       used       free     shared    buffers     cached
Mem:           590        195        394          0          9         73
-/+ buffers/cache:        112        477
Swap:            0          0          0

因此,虽然我忘记创建交换卷,但我有 394MB 可用。这足以运行每月有 3000-4000 次访问的论坛吗?我还希望得到一些关于如何正确配置交换的评论。

多谢

答案1

使用的内存是 45MB,而不是 235MB。要了解这一点,您需要到此处获取详细信息,检查如何使用此命令了解实际内存使用情况以及内存的去向。

http://www.linuxatemyram.com/

  1. 立即创建一个交换分区,至少 2GB 或更多,因为在任何情况下服务器都会超出 RAM,然后 SWAP 将用作内存使用,这会降低服务器速度但至少不会使其崩溃。

  2. 要根据您拥有的用户数量了解实际使用量,您需要使用一些负载测试工具,这些工具将使用 1、10、20、50、1000-4000 个用户测试您的网站,并根据您向每个用户发出的请求类型进行测试。例如,基于该软件,您可以记录用户登录网站、浏览某些页面并注销,并且该软件将针对您提供的用户数量运行相同的场景。因此,对于每个用户数量,您都可以检查使用的 RAM 量,这将让您了解您的网站需要多少 RAM。一些负载测试工具是:

http://loadimpact.com/

http://www.webresourcesdepot.com/15-free- functionality-and-load-testing-tools-for-web-applications/

http://www.webperformance.com/

https://stackoverflow.com/questions/507683/open-source-tool-for-stress-testing-load-testing-and-performance-testing

http://jcrawler.sourceforge.net/

  1. 不要在微型实例上运行测试,因为其 CPU 受到限制,无法用于实际使用,并且由于 CPU 限制,您可能会得到错误的结果。当您要执行测试时,至少使用 Amazon 小型服务器。

相关内容