基于Django的应用程序可能会失控 - 我该如何扩展它?

时间:2011-12-04 20:26:47

标签: django apache caching scalability

我需要在Django的服务器架构领域提供一些指导。

我目前基于Django的网络应用统计数据(在两周内完成 - 在一个VPS / Apache,mod_wsgi,mysql上运行):

  • 10,000个用户总数
  • 20 avg requests / user / day
  • 200,000个请求/天
  • 每天有8,000名用户访问网站

应用程序可以到达的地方(我恐慌的地方 - 假设大致线性增长):

  • 总共200,000名用户
  • 20 avg requests / user / day
  • 每天4,000,000次请求
  • 每天有160,000名用户访问网站

这里的问题实际上只是处理页面请求。我只存储短字符串的基于文本的数据,因此DB大小不应成为问题。

我应该从硬件和软件的角度设置什么样的服务器架构?我需要考虑缓存,负载平衡,多处理服务器,多个数据库服务器等,但不知道从哪里开始。

1 个答案:

答案 0 :(得分:1)

您预计每秒45左右的增长确实不是那么密集。我认为在Web服务器前使用标准的nginx负载均衡器可以处理所有事情。如果您的数据库访问不是很强烈,那么只需1台数据库就可以了。

我真的认为最重要的是不要做任何过早的优化。处理问题,否则你可能会浪费很多时间。

有大量缓存,多服务器配置和负载平衡教程。

Google是一个很好的起点。

不断增长的流量是一个标准问题,这些内容并不缺乏教程。