gpt4 book ai didi

python - gevent + gunicorn 是否可扩展且稳定用于生产?

转载 作者:太空狗 更新时间:2023-10-30 00:33:15 26 4
gpt4 key购买 nike

我一直在研究提供可扩展性的 python Web 服务器,并决定使用 Tornado(由 Facebook FriendFeed 使用)或 Gevent。因为我对此很陌生,所以我依赖 Benchmark of Python Web Servers入围 Tornado 和 Gevent。此外,经过进一步研究,我发现:

  • Gevent 不是独立的网络服务器,我们需要使用 libevent 或 gunicorn 作为网络服务器。
  • libevent 有它的 pitfalls ,例如不支持 SSL、streaming、keep alive 和 websockets。
  • 没有可用的基准测试结果,我可以找到哪些记录了一起使用 gevent 和 gunicorn 的性能。
  • gevent的作者本人已经推荐大家使用gevent + gunicorn用于实际部署。

我的要求:

  • 高度可扩展的异步 Python 网络服务器。
  • 包括 SSL 支持。

我特别倾向于gevent,因为它的greenlet基于方法。我只是想要一些确凿的事实来证明 gunicorn + gevent 是一个不错的选择,并且具有很高的可扩展性,与 Tornado 相得益彰。或者有没有其他符合我要求的 python 网络服务器?

请给我指出正确的方向。

最佳答案

在撰写本文时,Gunicorn 处于测试(版本 0.16)并且 Gevent 有一个 候选发布 1.0 ( Announcement on Google Groups ),因此可能是合理的期望 API 发生变化(对于 Gevent 而言较少)也就是说,只要您跟踪邮件列表(此处:gunicorngevent)以了解可能会破坏您的应用程序的更改,您应该可以进行生产部署

Gunicorn+Gevent 是异步 python Web 服务器的不错选择。您应该执行自己的测试以将其与 Tornado 进行比较。公开可用的基准测试可能会产生误导,因为您的应用程序的行为可能与那些经过基准测试的应用程序不同。

对于 SSL 支持,GunicornTornado建议您在反向代理后面运行它们,例如 nginx .在反向代理后面运行它们的其他优势包括改进对 slow clients 的处理。和错误的 HTTP 请求

关于python - gevent + gunicorn 是否可扩展且稳定用于生产?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13852752/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com