我一直在研究提供可扩展性的 Python Web 服务器,并决定使用 Tornado(由 Facebook FriendFeed 使用)或 Gevent。由于我对此很陌生,因此我依靠Benchmark of Python Web Servers将Tornado和Gevent入围。此外,经过进一步研究,我发现:
我的要求:
由于其基于 greenlet 的方法,我特别倾向于 gevent。
我只是想要一些确凿的事实来证明 gunicorn + gevent 是一个不错的选择,并且与 Tornado 联盟具有高度可扩展性。或者是否有任何其他符合我要求的python Web服务器?
请指出我正确的方向。
最佳答案
在撰写本文时,Gunicorn 处于 测试版 (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 请求的处理
关于python - gevent + gunicorn是否可扩展且稳定可用于生产?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13852752/