Python瓶对uwsgi/瓶对nginx/uwsgi/瓶
我正在开发一个基于Python的应用程序(HTTP-REST或jsonrpc接口),该应用程序将在生产自动化测试环境中使用。这将连接到运行所有测试脚本的Java客户端。也就是说,不需要人工访问(除了测试应用程序本身) 我们希望将它部署在Raspberry Pi上,所以我希望它速度相对较快,占地面积较小。它可能不会收到大量的请求(在最大负载下,可能每秒几次),但它应该能够在很长一段时间内运行并保持稳定 由于其简单性(一个文件),我决定将瓶子作为一个框架。这是一个tossup vs烧瓶。任何认为烧瓶可能更好的人,请告诉我原因 我对瓶子内置HTTP服务器的稳定性有点不确定,所以我正在评估以下三个选项:Python瓶对uwsgi/瓶对nginx/uwsgi/瓶,python,nginx,uwsgi,bottle,Python,Nginx,Uwsgi,Bottle,我正在开发一个基于Python的应用程序(HTTP-REST或jsonrpc接口),该应用程序将在生产自动化测试环境中使用。这将连接到运行所有测试脚本的Java客户端。也就是说,不需要人工访问(除了测试应用程序本身) 我们希望将它部署在Raspberry Pi上,所以我希望它速度相对较快,占地面积较小。它可能不会收到大量的请求(在最大负载下,可能每秒几次),但它应该能够在很长一段时间内运行并保持稳定 由于其简单性(一个文件),我决定将瓶子作为一个框架。这是一个tossup vs烧瓶。任何认为烧瓶
- 如果我只做Python/uwsgi,是否有理由将nginx添加到混合中
- uwsgi/瓶(或烧瓶)组合是否视为生产就绪
- 我是否有可能通过使用一个独立于瓶子内置的HTTP服务器获得任何好处
2非常容易使用(特别是gunicorn)——尽管我大部分时间都使用uwsgi,因为它有更多的可配置性来处理我想要的东西。
1非常简单,性能也很好。。。此外,还没有需要记住的外部配置或命令行标志 2017年更新-我们现在使用猎鹰而不是瓶子
我仍然喜欢瓶子,但去年我们达到了无法扩展以满足性能要求的程度(100k请求/秒,在我还建议您通过gevent.pywsgi服务器运行瓶子。它很棒,安装超级简单,异步,速度非常快 加上瓶子已经有了一个适配器,所以更容易
我喜欢瓶子,这种不适用于大型项目的概念是荒谬的。它是最有效、编写最完善的框架之一,可以轻松成型,而无需大量的手工操作。回答得很好!谢谢。目前我的应用程序的结构应该很容易更改为瓶子(或其他框架)如果需要的话,我想我现在还是用瓶子吧……我已经花了太多的时间让nginx在uwsgi面前工作/配置,到目前为止还没有成功。所以我想我会尽可能地用最少的配置来试用gunicorn和uwsgi,只有当它显示出非常明显的性能优势时才选择uwsgi;否则,gunicorn简单起见(我还有很多时间来改变这一切).Quick note:发现nginx不起作用,因为套接字文件位于/tmp中,默认情况下,Fedora不起作用…除了这个问题,这些选项都可以正常工作。我想我还是会坚持使用gunicorn以便于部署。我想我会使用没有nginx的#2:uwsgi。不需要让精简变得复杂gs因为我不认为我的简单应用程序会从更快地提供静态文件中受益。@sberry,既然瓶子已经支持WSGI协议(nginx),为什么我们需要
uWSGI
,所以瓶子可以通过WSGI协议直接与nginx通信?@Bin这意味着您仍将通过瓶子服务静态资产。如果您不介意的话,这很好,但值得注意。您是否将瓶子与gevent一起使用?我发现这会疯狂地提高性能。是的,很自然。如果没有并发,您无法服务100000 QPS。:)