我一直在研究提供可扩展性的python web服务器,并决定使用Tornado(由Facebook FriendFeed使用)或Gevent。由于我对此很陌生,我依靠Benchmark of Python Web Servers来入围Tornado和Gevent。此外,经过进一步研究,我发现:
我的要求:
由于基于greenlet的方法,我特别倾向于gevent。 我只是想要一些确凿的事实来证明gunicorn + gevent是一个不错的选择,并且与Tornado联盟是高度可扩展的。或者是否有其他符合我要求的python web服务器?
请指出我正确的方向。
答案 0 :(得分:12)
在撰写本文时,Gunicorn处于 beta (版本0.16),而Gevent有一个发布候选版本为1.0(Announcement on Google Groups),所以它可能是合理预期API会发生变化(对Gevent来说更少)也就是说,只要您跟踪邮件列表(此处:gunicorn,gevent)以查找可能会破坏您的应用程序的更改,您应该是生产部署很好
Gunicorn + Gevent是异步python Web服务器的不错选择。您应该执行自己的测试以将其与Tornado进行比较。公开可用的基准测试可能会产生误导,因为您的应用程序可能不像那些进行基准测试的那样。
对于SSL支持,Gunicorn和Tornado建议您在反向代理(例如nginx)后面运行它们。在反向代理后面运行它们的其他优点包括改进了对slow clients和错误HTTP请求的处理