Python Django更佳的Web服务器性能:Apache mod_wsgi还是Lighttpd fastcgi

3 投票
4 回答
3991 浏览
提问于 2025-04-15 14:33

我现在在用Apache和mod_wsgi运行一个访问量很大的python/django网站。我希望能找到一个更快的web服务器配置,听说lighttpd和fastcgi的推荐比较多。我想知道这个组合在处理动态的django页面时,是否比apache+mod_wsgi更快(我已经相信lighttpd在处理静态文件方面更好)?网上的基准测试要么做得不好,要么结果不明确,所以我想听听个人的经验。lighttpd + fastcgi有什么架构上的好处?我知道lighttpd使用了epoll,而fastcgi进程会是多线程的。而且,lighttpd和python解释器各自运行在不同的进程中,这样也是很有好处的。

我知道tornado可以用更少的线程处理成千上万的文件描述符,利用epoll和回调。不过,我现在还是想继续用django。

谢谢,

Ken

4 个回答

1

我没有详细的性能测试数据,但我个人相信,就像lighttpd在处理简单任务时比apache更快一样,mod_wsgi让apache在提供Python网页应用方面表现更好。(nginx配合它自己的 mod_wsgi似乎比apache表现得更好,不过,嘿,你并没有问关于这个的事情!-)

1

虽然这不是直接回答你的问题,但你有没有考虑过为你的网站使用缓存呢?比如说使用memcached?这样可能会比换服务器带来更好的性能提升。

4

我建议使用nginxsuperfcgi来处理高负载的网站。nginx在处理静态文件时非常快。superfcgi则使用多个进程和多个线程,这样即使在Python应用中也能保持很高的稳定性,尽管有GIL(全局解释器锁)的限制。只需要把进程的数量设置为你服务器上CPU核心的数量就可以了。

撰写回答