【问题标题】:GAE Datastore read/write latency in non-production app versions非生产应用程序版本中的 GAE 数据存储区读/写延迟
【发布时间】:2013-07-31 21:29:07
【问题描述】:

意识到数据存储区在 Google AppEngine 上的所有应用版本之间共享这一事实,我最近创建了一个单独的应用版本,用于特殊用途。

然而,我注意到,尽管这个版本执行的代码与生产版本几乎相同,但它对客户端请求的响应速度明显慢于生产版本;某些请求通常会导致DeadlineExceededError

我现在可以在日志中观察到的一个典型错误如下所示:

...
friend.put()
  File "/base/data/home/runtimes/python27/python27_lib/versions/1/google/appengine/ext/db/__init__.py", line 1070, in put
    return datastore.Put(self._entity, **kwargs)
  File "/base/data/home/runtimes/python27/python27_lib/versions/1/google/appengine/api/datastore.py", line 579, in Put
    return PutAsync(entities, **kwargs).get_result()
  File "/base/data/home/runtimes/python27/python27_lib/versions/1/google/appengine/api/apiproxy_stub_map.py", line 612, in get_result
    return self.__get_result_hook(self)
  File "/base/data/home/runtimes/python27/python27_lib/versions/1/google/appengine/datastore/datastore_rpc.py", line 1601, in __put_hook
    self.check_rpc_success(rpc)
  File "/base/data/home/runtimes/python27/python27_lib/versions/1/google/appengine/datastore/datastore_rpc.py", line 1234, in check_rpc_success
    rpc.check_success()
  File "/base/data/home/runtimes/python27/python27_lib/versions/1/google/appengine/api/apiproxy_stub_map.py", line 576, in check_success
    self.wait()
  File "/base/data/home/runtimes/python27/python27_lib/versions/1/google/appengine/api/apiproxy_stub_map.py", line 550, in wait
    assert self.__rpc.state != apiproxy_rpc.RPC.IDLE, repr(self.state)
DeadlineExceededError

我的问题是:GAE 数据存储操作延迟是否会在非生产应用版本上持续增加?如果是这样,在仍然使用非生产应用版本的同时,是否有解决此问题的好方法?

【问题讨论】:

  • 我从来没有遇到过这样的事情,我总是单独测试新版本并像默认版本一样工作。

标签: google-app-engine google-cloud-datastore


【解决方案1】:

那些带有DeadlineExceededError 的条目的日志条目是否也包含此消息?

This request caused a new process to be started for your application, and thus caused your application code to be loaded for the first time. This request may thus take longer and use more CPU than a typical request for your application.

也许这就是导致它超过时间限制的原因。

另一种选择是设置Appstats 并查看确切的时间花费在哪里。

【讨论】:

  • 不,它没有 - 只是我在上面指出的纯错误消息
猜你喜欢
  • 1970-01-01
  • 2012-06-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-07-19
  • 2018-11-03
  • 1970-01-01
相关资源
最近更新 更多