Google app engine _ah/stats中的RPC计时是否遗漏了什么?

Google app engine _ah/stats中的RPC计时是否遗漏了什么?,google-app-engine,google-cloud-datastore,app-engine-ndb,Google App Engine,Google Cloud Datastore,App Engine Ndb,我正在努力理解,在AppEngine中,我可以在哪里为一个特定的请求节省一些时间(将有数百万用户提出请求) 以下是我从appengine.com实例(不是我的本地开发服务器)获得的RPC计时 Gannt图表显示处理程序中的3个RPC调用每次最多花费25毫秒: 但两者之间存在巨大差距 因此,我在每个RPC周围添加了一些日志消息,如: logging.debug('Starting 1st RPC') tags = ndb.get_multi(tag_keys, use_cache=True, u

我正在努力理解,在AppEngine中,我可以在哪里为一个特定的请求节省一些时间(将有数百万用户提出请求)

以下是我从appengine.com实例(不是我的本地开发服务器)获得的RPC计时

Gannt图表显示处理程序中的3个RPC调用每次最多花费25毫秒:

但两者之间存在巨大差距

因此,我在每个RPC周围添加了一些日志消息,如:

logging.debug('Starting 1st RPC')
tags = ndb.get_multi(tag_keys, use_cache=True, use_memcache=True)
logging.info('Finished 1st RPC, retrieved {} entities'.format(len(tags)))
上面绘制的请求日志为:

2015-04-03 16:33:16.870 /api/v2/foo 200 1229ms 103kb Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.118 Safari/537.36 module=default version=3
D 2015-04-03 16:33:15.650 Starting 1st RPC
I 2015-04-03 16:33:15.670 Finished 1st RPC, retrieved 3 entities
D 2015-04-03 16:33:15.671 Starting 2nd RPC
I 2015-04-03 16:33:15.953 Finished 2nd RPC, retrieved 30 entities
I 2015-04-03 16:33:15.957 ...
D 2015-04-03 16:33:15.958 Starting 3rd PRC
I 2015-04-03 16:33:16.574 Finished 3rd RPC, retrieved 190 entities
I 2015-04-03 16:33:16.652 ...
I 2015-04-03 16:33:16.761 ...
I 2015-04-03 16:33:16.843 Saved; key: __appstats__:095600, part: 90 bytes, full: 15711 bytes, overhead: 0.001 + 0.066; link: http://foo.appspot.com/_ah/stats/details?time=1
显示RPC计时为20毫秒、282毫秒、616毫秒

我的猜测是,图表计时没有考虑到模型对象的反序列化,或者类似的东西

根据Datastore Admin,第二次和第三次调用返回的实体的平均实体大小分别为5KB和1KB

此外,图表显示第三个RPC在第一个RPC开始后约600毫秒开始,而日志显示在1和3之间仅经过约300毫秒

我不应该依赖图表/统计数据来获取硬数据/真实数据吗

我的猜测是,图表计时不考虑反序列化 进入模型对象,或者类似的东西

对-他们只对RPC本身有严格的要求

此外,图表显示了第三次RPC在第一次之后约600毫秒开始, 而日志显示1和3之间仅经过约300毫秒

这个令人费解——我有时会看到相反的情况(我在心里把它归因于应用程序或线程被抢占,图表只考虑“CPU”而不是“总运行时间”),但从来没有看到过你观察到的那种差异

我不应该依赖图表/统计数据来获取硬数据/真实数据吗

我最近开始玩谷歌云监控(来自Stackdriver),per(“只玩”,因为它是beta版),我想知道它是否能为你做得更好