【问题标题】:How many objects are created per request in this GAE app?在这个 GAE 应用程序中,每个请求会创建多少个对象?
【发布时间】:2012-12-27 05:00:27
【问题描述】:

我正在使用 Python 和 Webapp2 开发一个 Google App Engine 应用程序。对于这个问题,相关部分是:

import webapp2

my_object = MyClass()

class MainPage(webapp2.RequestHandler):
  def get(self):
    # do stuff

app = webapp2.WSGIApplication([
    ('/', MainPage)
], debug=True)

因此,每次访问我的应用程序时,MainPage 请求处理程序都会处理该请求。假设在给定时刻有 100 个用户使用该应用程序。我的问题是:

  • 创建了多少个webapp2.WSGIApplication 实例?只有1个? 100? (如果我理解 WSGI,我认为只有 1 个)
  • 创建了多少MyClass 实例?

【问题讨论】:

    标签: google-app-engine python-2.7 wsgi


    【解决方案1】:

    在 Google App Engine 上,预计会创建 100 个 MainPage()MyClass 实例;每个访问您网站的用户都可能被路由到庞大的 Google 云中的不同机器。

    在本地运行,MyClass 将被实例化一次每个进程;一些 WSGI 服务器运行多个进程(分叉)来处理传入的请求。为每个传入请求创建一个MainPageitstance(所以 100 次)。

    【讨论】:

    • 嗯...但是 MainPage - webapp2.WSGIApplication 的关系是 1:1 关系吗?
    • @jorgeas80: class 被传入,webapp2 将根据需要创建该类的实例来处理请求。
    • 好的,明白了。谢谢你的解释。
    猜你喜欢
    • 2014-07-31
    • 1970-01-01
    • 2014-11-18
    • 1970-01-01
    • 2021-11-22
    • 2018-11-05
    • 1970-01-01
    • 1970-01-01
    • 2013-11-01
    相关资源
    最近更新 更多