我目前正在使用 Apache 和 mod_wsgi 运行一个高流量的 python/django 网站。我希望那里有更快的网络服务器配置,而且我听到了很多关于 lighttpd 和 fastcgi 的建议。这个设置是否比 apache+mod_wsgi 更快地提供动态 django 页面(我已经确信 lighttpd 可以更好地服务静态文件)?在线基准测试要么执行不力,要么没有定论,所以我正在寻找一些个人轶事。lighttpd + fastcgi 提供了哪些架构优势?我知道 lighttpd 使用 epoll,并且 fastcgi 进程将是多线程的。此外,拥有两个独立的进程,一个用于 lighttpd,一个用于 python 解释器,将非常有益。
我知道龙卷风及其使用 epoll 和回调以更少的线程处理数千个文件描述符的能力。但是,我现在更愿意坚持使用 django。
谢谢,
肯
Web 服务器开销从来都不是动态请求的主要成本——数据库查询和复杂的模板使用更多的资源,每半个像样的 Web 服务器每秒可以处理数百个请求,甚至 django 中的 manage.py runserver 使用一个空模板。
只需选择您最了解的任何服务器。我已成功在 apache/mod_wsgi 上部署了一个站点,有关详细信息,请参阅此答案。
此外,“高流量”是相当主观的。一个数字会更有用。
您可以查看 Magnum Py ( http://code.google.com/p/magnum-py/ ),它是一个基于 epoll 的 Web 服务器,可以通过 WSGI 接口与 Django 通信。