我正在开发一个基于Python的应用程序(HTTP--REST或jsonrpc接口),将在生产自动化测试环境中使用。这将连接到运行所有测试脚本的Java客户机。一、 e.不需要人工访问(除了测试应用程序本身)。
我们希望在覆盆子果酱上使用这个,所以我希望它比较快并且有一个小的脚印。它可能不会得到大量的请求(在最大负载下,可能是每秒几次),但是它应该能够运行并在很长一段时间内保持稳定。
我已经决定把瓶子作为一个框架,因为它很简单(一个文件)。这是一个tossup vs烧瓶。任何认为烧瓶更好的人,告诉我原因。
我对Bottle内置的HTTP服务器的稳定性有点不确定,所以我正在评估这三个选项:
问题:
我还建议您查看通过gevent.pywsgi服务器运行瓶子。它很棒,超级简单的设置,异步,非常快。
加上瓶子已经有了一个适配器,所以更容易。
我喜欢瓶子,这种认为它不适合大型项目的想法是荒谬的。这是一个最有效和编写良好的框架,可以很容易地塑造没有很多手拧。
2017更新-我们现在使用Falcon而不是瓶子
我仍然喜欢奶瓶,但去年我们达到了无法扩展以满足性能要求的程度(在<;100ms时每秒10万个请求)。特别是,我们遇到了瓶颈与瓶子的线程使用本地存储。这迫使我们切换到Falcon,此后我们再也没有回头过。更好的性能和设计良好的API。
我喜欢奶瓶,但我也强烈推荐Falcon,特别是在性能方面。
大约一年前,我面临着类似的选择——我正在构建的服务器层需要一个网络微框架。发现这些幻灯片(以及附带的讲座)对筛选选择领域非常有帮助:Web micro-framework BATTLE!
我选了一瓶,一直很满意。它简单、轻量级(如果您部署在Raspberry Pis上,这是一个优势),易于使用,直观,具有我需要的功能,并且在我需要添加自己的功能时具有极高的可扩展性。Many plugins可用。
除了dev,不要使用Bottle的内置HTTP服务器
我已经在生产中运行瓶子,取得了很多成功;它在Apache/mod_wsgi上非常稳定。nginx/uwsgi“应该”工作类似,但我没有经验。
瓶子和瓶子对我来说有几件事。
使用bottle的内置服务器的问题是它将是单进程/单线程的,这意味着您一次只能处理一个请求。
要处理这个限制,您可以不按特定顺序执行以下任何操作。
3是最重要的,如果你有静态资产,你想服务,因为你可以与nginx直接服务。
2非常容易使用(特别是gunicorn)-虽然我大部分时间都使用uwsgi,因为它有更多的可配置性来处理一些我想要的事情。
我真的很简单而且表现很好。。。另外,没有要记住的外部配置或命令行标志。
相关问题 更多 >
编程相关推荐