为什么API调用需要80毫秒的延迟才能到达控制器(在Google App Engine中)?

在此处输入图像描述

对于每个到达控制器的Api呼叫,它需要80ms的延迟,我已经尝试了所有的实例类,结果是一样的,我还没有找到任何解决方案。 如图所示,RPC调用从第80毫秒开始,剩余时间花在我的代码之外。

好吧,在调用应用程序代码之前 ,可能会有很多 GAE红外代码针对每个请求执行 – 这是PaaS的本质:它通过采取一部分需要执行的东西来为您提供更简单的应用程序代码的便利性为你表演。

同样,您将在用于简化应用程序代码的框架和库中花费时间。 即使它不是字面上的代码,它仍然是你的应用程序的代码。

你可以通过检查GAE上看到的一些真正的完整条纹痕迹来瞥见(不一定是定量的)。 至少在我的(python)应用程序的情况下,堆栈跟踪经常显示我的代码之外的调用次数比来自我的代码的调用多几倍。

检查App Engine日志以查找启动此跟踪的请求。 你看到一条消息说:

“此请求导致为您的应用程序启动一个新进程,从而导致您的应用程序代码首次加载。因此,此请求可能需要更长的时间并且使用的CPU比典型的应用程序请求更多。”

如果是这样,延迟可能是由于您的应用程序需求较低而需求增加,延迟很少。

否则,您应该发布正在执行的代码以深入了解可能需要更长时间的代码。