gpt4 book ai didi

android - 为什么在 Google App Engine 中总是只有第一个请求有 11 秒的延迟?

转载 作者:塔克拉玛干 更新时间:2023-11-02 18:51:41 24 4
gpt4 key购买 nike

我正在将我的 Nodejs 示例应用程序部署到 Google App Engine Flexible 环境,当我使用 appspot.com 形式的 google App Engine URL 时 来访问我的 API,从我的移动数据发送响应大约需要 11 秒,但其他 API 以毫秒为单位发送响应。

此外,只有当我打开我的 android 应用程序并向服务器发送请求时才会发生时间延迟,之后所有请求都在正常时间,并且当我再次打开应用程序并向服务器发送请求时再次出现延迟.

编辑 - 我发现了

This can be a caused when your application is still booting up or warming up instances to serve the request and can be called as loading latency. To avoid such scenarios you can implement health check handler like readiness check so that your application will only receive traffic when its ready

这就是为什么我在我的日志中检查了 readiness 检查有时在 1 秒 左右执行的原因有时大约 200 毫秒

enter image description here

任何人都可以告诉我预热我的实例有什么问题吗,因为我认为冷启动时间不会导致这个问题。

编辑2

我还尝试设置 min_num_instances: 2 这样一旦加载至少我的 2 个实例将再次无法启动,但问题是延迟再次相同。

编辑3

runtime: nodejs
#vm: true
env: flex

automatic_scaling:
min_num_instances: 2
max_num_instances: 3

编辑4

当我使用这个应用程序时,我注意到一个奇怪的行为 Packet Capture捕获流量,然后所有 https 请求(如果我没有启用 SSL 代理)和所有 Http 请求都以毫秒为单位执行,而如果不使用此应用程序,所有 Http/Https 请求都会有 11-16 秒的延迟。

我不知道怎么办,这里有任何证书问题吗?

编辑5

下面我附上了 Network Profiler,其中延迟将达到 15 秒

enter image description here

请帮忙

最佳答案

取决于您使用的是哪个 App Engine 以及您如何设置缩放,如果您没有现成的实例来处理请求,则总是有加载时间。但是,如果您进行就绪检查以确保您的实例已准备就绪(而不是针对请求冷启动),那么就不会有问题。

您能否在日志中找到加载请求或任何相应的慢速请求?如果不是,则可能是应用程序存在问题。如果可能,不要在您的应用程序上调用此 API,而是从两个应用程序(一个已打开,一个未打开)执行此操作。因此,您从这两个应用程序进行调用,如果您注意到已经打开的应用程序比另一个应用程序获得响应更快,这意味着应用程序本身存在问题。 App Engine 无法确定您的应用程序是否已预打开,因此任何差异将由客户端决定。

=== 附加信息 ===

在您的日志中,根本没有延迟。请求进入谷歌并在几毫秒内得到处理。我确定有一些应用程序方面的东西。也许您的应用正在从导致延迟的其他来源构建请求 URL(第一个请求)? App Engine 不知道您的应用程序是否已打开,也不知道它是否在打开后发送第一个请求,它不能根据它采取不同的行动。只要您的 App Engine 实例准备就绪且可用,它就会以相同的方式处理您的请求,无论这是否是您在应用程序打开后的第一个请求。

关于android - 为什么在 Google App Engine 中总是只有第一个请求有 11 秒的延迟?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52129452/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com