打开 WebSockets 导致 Google App Engine 上的延迟高峰

问题描述

我正在使用 GAE 灵活环境中的网络套接字功能在我们的 API 上启用 GraphQL 订阅。但是我在我的谷歌云报告中注意到有 30 分钟以上的大量延迟峰值。见下文:

enter image description here

这里是与这个请求相关的日志

enter image description here

我可以看到状态 101 通常与 websocket 相关。在使用访问 API 的应用程序时查看 chrome 调试器,我可以看到有一个挂起的 Web 套接字,它确实有很长的请求时间,本质上是网站访问的持续时间。

enter image description here

这是延迟报告的预期行为吗?它似乎不会影响性能,但是很难看出我们的正常 API 请求的真正延迟是多少。

谢谢!

解决方法

我发现这 101 个请求的一个迭代与正在执行的协议和端口的更改有关,因此,由于连接没有关闭并保持挂起,这导致了您遇到的延迟。 [1] [2]

这让我觉得这个问题的根本原因可能是由于你对 GraphQL 的配置。 [3]

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...