打开 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网址的输出损坏