【问题标题】:performance advantages of using bottle for routing?使用瓶子进行路由的性能优势?
【发布时间】:2015-04-12 23:28:59
【问题描述】:

几年前,我开始开发基于 Web 框架的Web 应用程序。那时我选择了 Bottle,因为它是最容易快速启动和运行的解决方案,而我只是在为我的想法构建一个原型。现在,我有几千行代码,我正在寻求进入生产级解决方案。

起初我认为我应该转向一个完整的堆栈框架,例如。当我朝着这个方向前进时,我开始只是根据需要使用其他框架的各个部分。例如,我实现了 web2py 的数据访问层 (DAL),以便我可以在 上运行我的应用程序,现在我正在研究使用 web2py 的调度程序来管理作业。然后,我开始使用 作为生产级网络服务器。我尝试了火箭服务器,但我遇到了更多错误,所以我更喜欢cherrypy而不是火箭。

我开始考虑重写我的代码以充分利用 web2py 的全栈解决方案;然而,重写我的路由功能以完全迁移到 web2py 的时间似乎很长,而且我对火箭服务器真的不满意。

我真的很喜欢 Bottle 的简单性,Bottle 使用装饰器函数将路由映射到函数的方式,以及可扩展性的理念。

我想知道使用 Bottle 进行路由与任何全栈框架相比在性能方面是否有任何特定优势。

感谢任何人对此的建议!

【问题讨论】:

  • 嗨,韦斯 - 这更像是一个开放式讨论的开始,而不是一个有明确答案的问题。它很可能会因为“过于宽泛”而被关闭 - 除非您可以将其重点放在您遇到的特定 编程 问题上。 “生产级软件”没有硬性定义(这听起来像是营销胡言乱语,类似于“企业就绪”)。
  • 感谢您告诉我...我会努力解决的。
  • 我不会真正将 CherryPy 称为“生产级”。 uWSGI(通常与 nginx 结合使用)是 Python Web 应用程序选择的生产级服务器。
  • 我想知道使用 Bottle 进行路由与任何全栈框架相比在性能方面是否有任何特定优势。 - 你的意思是“做路由”?
  • 基本上,我正在尝试获得一些建议,以便在我向软件的更高生产级版本迈进时合法地使用 Bottle,但我意识到这可能会变得非常主观而且不太合适询问SO。看起来 Bottle + Nginx 可能是一个合理的解决方案。

标签: bottle django web2py google-app-engine cherrypy python performance architecture web2py bottle


【解决方案1】:

来自 web2py 的创建者 Massimo Di Pierro:

如果你有一个简单的应用程序有很多模型,bottle+gluino 可能是 比 web2py 更快,因为模型只执行一次而不是一次 每个请求。

参考:

groups.google.com/forum/#!topic/web2py/4gB9mVPKmho

【讨论】:

    【解决方案2】:

    根据this benchmark 和其他人的说法,Bottle 的执行速度明显快于一些同行,这在比较 Web 框架的性能时值得考虑:

    1. wheezy.web........52,245 req/sec or  19 μs/req (48x)
    2. Falcon............30,195 req/sec or  33 μs/req (28x)
    3. Bottle............11,977 req/sec or  83 μs/req (11x)
    4. webpy..............6,950 req/sec or 144 μs/req (6x)
    5. Werkzeug...........6,837 req/sec or 146 μs/req (6x)
    6. pyramid............4,035 req/sec or 248 μs/req (4x)
    7. Flask..............3,300 req/sec or 303 μs/req (3x)
    8. Pecan..............2,881 req/sec or 347 μs/req (3x)
    9. django.............1,882 req/sec or 531 μs/req (2x)
    10. CherryPy..........1,090 req/sec or 917 μs/req (1x)
    

    但请记住your web framework may not be your bottleneck

    【讨论】:

      猜你喜欢
      • 2012-07-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-27
      • 1970-01-01
      • 1970-01-01
      • 2018-01-06
      相关资源
      最近更新 更多