打开 WebSocket 会导致 Google App Engine 上出现延迟峰值

Posted

技术标签:

【中文标题】打开 WebSocket 会导致 Google App Engine 上出现延迟峰值【英文标题】:Open WebSockets causing latency spikes on Google App Engine 【发布时间】:2021-06-23 01:36:32 【问题描述】:

我正在利用 GAE 灵活环境中的 Web 套接字功能在我们的 API 上启用 GraphQL 订阅。然而,我注意到在我的谷歌云报告中存在 30 多分钟的巨大延迟峰值。见下文:

这是与此请求相关的日志

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

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

谢谢!

【问题讨论】:

【参考方案1】:

我发现这 101 个请求的迭代与正在执行的协议和端口的更改有关,因此,由于连接没有关闭并处于待处理状态,这会导致您遇到延迟。 [1][2]

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

【讨论】:

以上是关于打开 WebSocket 会导致 Google App Engine 上出现延迟峰值的主要内容,如果未能解决你的问题,请参考以下文章

为啥 URL http://a/%%30%30 会导致 Google Chrome 崩溃?

我如何在 google app 引擎上为 html5 创建 websocket

一旦队列填满,WebSocket 异步发送可能会导致发送阻塞

隐藏的工作表会导致Google表格的导出工作表作为PDF网址的输出损坏

Google Chrome浏览器,打开页面时会出现网格(如图)是怎么回事啊?又怎么去掉呢?求高手解答.....

php websocket连接报错怎么解决