4

考虑以下两种情况:

app.yaml 中有两个 url 处理程序

handlers:
- url: /main
  script: main.app1
- url: /secondary
  script: secondary.app2

和 main.py 中的 URI 路由器

app1 = webapp2.WSGIApplication([('/main', MainHandler)])

另一个在secondary.py

app2 = webapp2.WSGIApplication([('/secondary', SecondaryHandler)])

对比

app.yaml 中有一个 url 处理程序

handlers:
- url: /.*
  script: main.app

URI 路由器决定处理程序

app = webapp2.WSGIApplication([
        ('/main', MainHandler),
        ('/secondary', SecondaryHandler)
      ])

App Engine 导入这两种场景的方式有什么不同吗?如果所有请求都是针对 MainHandler 的,那么 App Engine 是在第一个场景中完全导入与 SecondaryHandler 关联的文件,还是实例在第一次初始化时总是导入每个处理程序?

显然,这些是对应用程序进行逻辑分区的不同方法,但我想问是否有任何相关的性能考虑。

4

1 回答 1

7

您可以在 webapp2 中使用惰性处理程序来优化加载并使用单个应用程序。请参阅此链接:https ://webapp2.readthedocs.io/en/latest/guide/routing.html#lazy-handlers

于 2013-02-28T12:17:13.713 回答