由于数据存储在Google AppEngine上的所有应用程序版本之间共享,我最近创建了一个单独版本的应用程序,我将其用于特殊用途。然而,我已经注意到,尽管这个版本执行的代码与生产版本差不多,但它对客户端请求的反应要比生产慢得多,某些请求通常导致DeadlineExceededError
。GAE数据存储在非生产应用程序版本中的读/写延迟
,现在我可以在我的日志观察一个典型的错误是这样的:
...
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数据存储区操作等待时间会持续增大,在非生产应用程序的版本是这样吗?如果是这样,在仍使用非生产应用程序版本的情况下是否有解决此问题的好方法?
我从来没有遇到过这样的事情,我总是单独测试新版本,并像缺省版本一样工作。 – Faisal