Django/MySQL/Memcached 适用于 10K 用户访问者

Django/MySQL/Memcached 适用于 10K 用户访问者

我目前在我的网站上使用 CentOS(512 RAM,双核 CPU)。规格如下:

  • Django 1.3.1
  • Python 2.7.2
  • 带有 mod_wsgi 3.3 的 Apache 2
  • MySQL 5(约 5,000 条记录)
  • Memcached(运行需要 120 MB)
  • Nginx 用于提供静态内容

当我的网站同时有 2,000 名访客时,CPU 使用率达到总使用率的 40% 左右。当访客数量达到 10,000 人时,CPU 使用率达到 90%-100%。网站速度非常慢。我尝试过在数据库中缓存,但没有用。

我可以迁移到新的更大的服务器,但那会很浪费。因为我的网站一周 1-2 天就能达到这么大的数量。

对此有什么想法吗?谢谢!

答案1

您是否考虑过使用uWSGI

根据我的经验和本网站,当在 nginx 后面进行代理时,它胜过所有其他设置。

有很多博客文章介绍了如何在 nginx 后面设置 uWSGI,例如 http://www.jeremybowers.com/blog/post/5/django-nginx-and-uwsgi-production-serving-millions-page-views/

相关内容